OpenVSwitch entre namespaces

2

Estou tentando configurar uma ponte entre duas interfaces TAP, cada uma criada dentro de seu próprio namespace de rede, no Linux. Estou usando o OpenVSwitch como ponte de software.

Estes são os passos que acredito que devem funcionar:

ip netns add test_ns1
ip netns exec test_ns1 ip tuntap add mode tap testif1
ip netns exec test_ns1 ip addr add 192.168.1.1/24 dev testif1
ip netns exec test_ns1 ip link set testif1 up

ip netns add test_ns2
ip netns exec test_ns2 ip tuntap add mode tap testif2
ip netns exec test_ns2 ip addr add 192.168.1.2/24 dev testif2
ip netns exec test_ns2 ip link set testif2 up

ovs-vsctl add-br test_br
ip netns exec test_ns1 ovs-vsctl add-port test_br testif1
ip netns exec test_ns2 ovs-vsctl add-port test_br testif2

ip netns exec test_ns1 ping -c 2 192.168.1.1
ip netns exec test_ns2 ping -c 2 192.168.1.2
ip netns exec test_ns1 ping -c 2 192.168.1.2
ip netns exec test_ns2 ping -c 2 192.168.1.1

Todos os quatro comandos ping não funcionarão e reportarão 100% de perda de pacotes.

Eu esperaria poder fazer o ping da interface dentro de seu próprio namespace (testif1 de test_ns1, por exemplo). Eu posso fazer isso com as interfaces Quantum, mas não com as minhas, por quê?

Então, tenho certeza que o OpenVSwitch está instalado corretamente porque estou executando a versão padrão do Ubuntu e tenho o OpenStack Quantum rodando na mesma máquina.

    
por Daniele Venzano 13.06.2013 / 12:00

1 resposta

2

O OpenStack não cria dispositivos de toque com ip tuntap add . Em vez disso, cria portas internas na ponte openvswitch usando o comando ovs-vsctl add-port . Como o openvswitch implementa portas internas como dispositivos de toque, o OpenStack rotula essas portas como "tapXXXX".

Para criar uma interface testif1 em uma ponte openvswitch e colocá-la no namespace test_ns1, tente fazer isso:

ovs-vsctl add-port test_br testif1 -- set interface testif1 type=internal
ip link set testif1 netns test_ns1
ip netns exec test_ns1 ip addr add 192.168.1.1/24 dev testif1
ip netns exec test_ns1 ip link set testif1 up
    
por 19.08.2013 / 16:52