Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Instalação

Instalar OS: Ubuntu 16.04 LTS

Configuração

configurar hugespages

echo 'vm.nr_hugepages=2048' > /etc/sysctl.d/hugepages.conf
sysctl -w vm.nr_hugepages=2048 

Verificando a configuração

grep HugePages_ /proc/meminfo

Atualizando para o novo tamanho de pagina

mount  -o remount /dev/hugepages

 

Instalar pacotes

sudo apt install -y dpdk dpdk-dev openvswitch-switch-dpdk

 

Configurar quantidade de paginas e memoria da inicialização do openvswitch-dpdk

sudo nano -w /etc/default/openvswitch-switch
sudo systemctl restart openvswitch-switch.service

Edite a linha com a variável "DPDK_OPTS" e adicione:

DPDK_OPTS='--dpdk -c 0xFF -n 4 -m 1024'

-c : bitmask de cores a ser utilizado neste caso 0xFF(11111111) = 8 cores
1 = cores habilitados. 
0 = cores desabilitados.


Alterar o dataplane utilizado para dpdk

sudo update-alternatives --set ovs-vswitchd /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk

 

Configurar as interfaces de redes que utilizarão o drive dpdk

sudo modprobe uio_pci_generic
sudo dpdk_nic_bind --bind=uio_pci_generic <linux_interface_name>

linux_interface_name = ethX, emX, etc ...

 

Configura o openvswitch com as bridge e interface:

Bridge

sudo ovs-vsctl add-br br-dpdk0 -- set bridge br-dpdk0 datapath_type=netdev protocols=OpenFlow10,OpenFlow13

 

Ports

sudo ovs-vsctl add-port br-dpdk0 dpdk0 -- set Interface dpdk0 type=dpdk
sudo ovs-vsctl add-port br-dpdk0 dpdk1 -- set Interface dpdk1 type=dpdk
...
sudo ovs-vsctl add-port br-dpdk0 dpdkN -- set Interface dpdkN type=dpdk

 

Controller

sudo ovs-vsctl set-controller ovsdpdkbr0 tcp:<ip controller>:6653

 

Habilitando cpu cores utilizados

sudo ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x1

cores 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 1 = 0x1

1 = core habilitado 
0 = core desabilitado

 

ToDo

  1. Adicionar passos para configuração persistente das interfaces do DPDK
  2. Revisar passos para versão 2.6.0
  3. Verificar configuração usando multiplas filas (n-dpdk-rxqs): 
  4. Verificar driver vfio-pci
  5. Verificar suporte a Jumbo Frame na próxima release (OVS 2.6.0 e DPDK 16.07): https://github.com/openvswitch/ovs/blob/master/INSTALL.DPDK-ADVANCED.md#jumbo

Referências

 

n-dpdk-rxqs

 

  • No labels