DMYTRO SHYTYI

dosiOS: Edge Computing Plaform

Welcome to dosiOS Page – Edge Computing Platform

Create your service functions, chain them with virtual switches and physical ports of equipment. Accelerate packet exchange with DPDK.

Use NETCONF protocol and YANG modelisation language for dosiOS management. Perform identification and physical port mapping on initial setup with provided toolkits.

Set the parameters of service function deployment (cpu, ram, ifs, disks) and virtual switch configuration (trunk, access, tag, stacked-vlans).

Found an issue?

You may open an issue/discussion at github page: dosiOS Github page

Installation

Repository provides iso image that should be flashed on the usb drive.

install qemu
qemu-img convert dosios2102.iso -O raw dosiOS-2102.img
dd if=dosiOS-2102.img of=/dev/sdX

After booting from usb drive you will be in “cloud image” of dosiOS.

Login: tmpuser
Passwd: tmppwd

Confirm that your flash drive is something like /dev/sda and your hard drive is something like /dev/sdb.

Configuration should be performed in the BIOS (HDD priorities)

dosiOS will be installed on the /dev/sdb by default.

You may install dosiOS on the hard drive with the next command:

tmpuser@node:$ install image

Script of installation will be triggered:

select conf file "/config/config.boot"
select console ttyS0
select the console speed 115200
Disk label: gpt

dosiOS configuration

Login/Password for installed system:

System:

Login: dosios2102
Password: dosios2102

Grub:

Login: dosios2102
Password: dosios2102

Hugetalbes configuration

By default Edge Computing Platform is bootstraped with 4GB of hugetables. You may have 16GB ram, thus you want to modify the amount of hugetables to 12GB. To achieve that use the command below ( 6000 x 2 = ~ 12 GB)

config
set ecp general hugetables 6000
commit

To display the available memory and hugetables type:

show ecp memory free-hugetables

To display the RAM status type:

show ecp memory free-memory

Port identification and mapping

This command helps to identify the connected NICs. Node address + kernel driver (igb)

ecp list-nic-pci

To identify phy port of the NIC use this command (the phy port will be blinking):

ecp blink-port 0000:0a:00.0 igb // igb kernel driver for 1G NICs (check ecp list-nic-pci)

Next step to map ports to addresses:

configure
set ecp interfaces vfpX pci-addr 0000:0a.00.0
commit

2 types of interfaces

The interfaces below represent physical ports of the equipment

/ecp/intefaces

The interfaces below represent virtual mgmnt ports connected with representation of physical ports (on the same link) They apper when representation of physical ports is configured on the switch.

interfaces/dataplane/dp0pX

Service function configuration (QCOW2 image)

config
set ecp vms sf1 boot-from hd
set ecp vms sf1 cpu 5
set ecp vms sf1 ram 4
set ecp vms sf1 devices 1 drive drive-type disk
set ecp vms sf1 devices 1 drive file 'http://10.0.0.2/vRouter.qcow2'
commit

Service function configuration (ISO image)

config
set ecp vms sf1 boot-from hd
set ecp vms sf1 cpu 5
set ecp vms sf1 ram 4
set ecp vms sf1 devices 1 drive drive-type cdrom
set ecp vms sf1 devices 1 drive file 'http://10.0.0.2/vRouter.qcow2'
commit

Access to Service Functions

To list active Service Function type:

ecp vm-list

To access virtual serial console of Service Function type:

ecp vm-console $SF_NAME

vswitch configuration

Add physical port to switch. When the physical port added to switch, you will find new interface dp0pX in the /root/interfaces/dataplane. This dp0pX is configured for management. Confirm that it was configured by

config
set ecp switches sw1 ports 1 interface vfp1
set ecp switches sw1 ports 2 vm sf1
set ecp switches sw1 ports 2 vm-port 1
commit

Dmytro