[openstack-dev] [neutron] Question on the OVS configuration

Slawomir Kaplonski skaplons at redhat.com
Fri Jun 15 09:43:17 UTC 2018


Please send info about network to which You vm is connected and config of all bridges from ovs also.

> Wiadomość napisana przez Dave.Chen at Dell.com w dniu 15.06.2018, o godz. 11:18:
> 
> Thanks Slawomir for your reply, so what's the right configuration if I want my VM could be able to access external with physical NIC "eno2"?  Do I still need add that NIC into "br-ex"?  
> 
> 
> Best Regards,
> Dave Chen
> 
> -----Original Message-----
> From: Slawomir Kaplonski [mailto:skaplons at redhat.com] 
> Sent: Friday, June 15, 2018 5:09 PM
> To: OpenStack Development Mailing List (not for usage questions)
> Subject: Re: [openstack-dev] [neutron] Question on the OVS configuration
> 
> Hi,
> 
> If You have vxlan network than traffic from it is going via vxlan tunnel which is in br-tun bridge instead of br-ex. 
> 
>> Wiadomość napisana przez Dave.Chen at Dell.com w dniu 15.06.2018, o godz. 10:17:
>> 
>> Dear folks,
>> 
>> I have setup a pretty simple OpenStack cluster in our lab based on devstack, couples of guest VM are running on one controller node (this doesn’t looks like a right behavior anyway),  the Neutron network is configured as OVS + vxlan, the bridge “br-ex” configured as below:
>> 
>>    Bridge br-ex
>>        Controller "tcp:127.0.0.1:6633"
>>            is_connected: true
>>        fail_mode: secure
>>        Port phy-br-ex
>>            Interface phy-br-ex
>>                type: patch
>>                options: {peer=int-br-ex}
>>        Port br-ex
>>            Interface br-ex
>>                type: internal
>> ovs_version: "2.8.0"
>> 
>> 
>> 
>> As you see, there is no external physical NIC bound to “br-ex”, so I guess the traffic from the VM to external will use the default route set on the controller node,  since there is a NIC (eno2) that can access external so I bind it to “br-ex” like this: ovs-vsctl add-port br-ex eno2. now the “br-ex” is configured as below:  
>> 
>>    Bridge br-ex
>>        Controller "tcp:127.0.0.1:6633"
>>            is_connected: true
>>        fail_mode: secure
>>        Port phy-br-ex
>>            Interface phy-br-ex
>>                type: patch
>>                options: {peer=int-br-ex}
>>        *Port "eno2"*
>>            Interface "eno2"
>>        Port br-ex
>>            Interface br-ex
>>                type: internal
>>    ovs_version: "2.8.0"
>> 
>> 
>> 
>> Looks like this is how it should be configured according to lots of wiki/blog suggestion I have googled, but it doesn’t work as expected, ping from the VM, the tcpdump shows the traffic still go the “eno1” which is the default route on the controller node. 
>> 
>> Inside of VM
>> ubuntu at test-br:~$ ping 8.8.8.8
>> PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
>> 64 bytes from 8.8.8.8: icmp_seq=1 ttl=38 time=168 ms
>> 64 bytes from 8.8.8.8: icmp_seq=2 ttl=38 time=168 ms …
>> 
>> Dump the traffic on the “eno2”, got nothing $ sudo tcpdump -nn -i eno2 
>> icmp
>> tcpdump: verbose output suppressed, use -v or -vv for full protocol 
>> decode listening on eno2, link-type EN10MB (Ethernet), capture size 
>> 262144 bytes …
>> 
>> Dump the traffic on the “eno1” (internal NIC),  catch it!
>> $ sudo tcpdump -nn -i eno1 icmp
>> tcpdump: verbose output suppressed, use -v or -vv for full protocol 
>> decode listening on eno1, link-type EN10MB (Ethernet), capture size 
>> 262144 bytes
>> 16:08:59.609888 IP 192.168.20.132 > 8.8.8.8: ICMP echo request, id 
>> 1439, seq 1, length 64
>> 16:08:59.781042 IP 8.8.8.8 > 192.168.20.132: ICMP echo reply, id 1439, 
>> seq 1, length 64
>> 16:09:00.611453 IP 192.168.20.132 > 8.8.8.8: ICMP echo request, id 
>> 1439, seq 2, length 64
>> 16:09:00.779550 IP 8.8.8.8 > 192.168.20.132: ICMP echo reply, id 1439, 
>> seq 2, length 64
>> 
>> 
>> $ sudo ip route
>> default via 192.168.18.1 dev eno1  proto static  metric 100 default 
>> via 192.168.8.1 dev eno2  proto static  metric 101
>> 169.254.0.0/16 dev docker0  scope link  metric 1000 linkdown
>> 172.17.0.0/16 dev docker0  proto kernel  scope link  src 172.17.0.1 
>> linkdown
>> 192.168.8.0/24 dev eno2  proto kernel  scope link  src 192.168.8.101  
>> metric 100
>> 192.168.16.0/21 dev eno1  proto kernel  scope link  src 192.168.20.132  
>> metric 100
>> 192.168.42.0/24 dev br-ex  proto kernel  scope link  src 192.168.42.1
>> 
>> 
>> What’s going wrong here? Do I miss something? Or some service need to be restarted?
>> 
>> Anyone could help me out?  This question made me sick for many days!  Huge thanks in the advance!
>> 
>> 
>> Best Regards,
>> Dave
>> 
>> ______________________________________________________________________
>> ____ OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: 
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
>> Slawek Kaplonski
> Senior software engineer
> Red Hat
> 
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

— 
Slawek Kaplonski
Senior software engineer
Red Hat




More information about the OpenStack-dev mailing list