[ovs-discuss] VXLAN doesn't work in OVS-DPDK

Chandran, Sugesh sugesh.chandran at intel.com
Thu Oct 13 13:04:36 UTC 2016



Regards
_Sugesh

From: discuss [mailto:discuss-bounces at openvswitch.org] On Behalf Of zhi
Sent: Thursday, October 13, 2016 11:29 AM
To: discuss at openvswitch.org
Subject: [ovs-discuss] VXLAN doesn't work in OVS-DPDK

hi, all

I configured native tunneling by this guide[1]. And follow this guide[2] to install OVS-DPDK. The OVS version is 2.6.0. The DPDK version is dpdk-16.07.

My local Linux environment is CentOS 7.1.1503 and the kernel version is 3.10.0-327.el7.x86_64.


And the network topology shows below:
[内嵌图片 1]
And the OVS info shows :

[root at host172 ~]# ovs-vsctl show
73e0a3b7-22b6-4c24-8d05-1f9810cc06a4
    Bridge br-int
        fail_mode: standalone
        Port "vxlan-001"
            Interface "vxlan-001"
                type: vxlan
                options: {local_ip="10.0.109.172", remote_ip="10.0.109.173"}
        Port "vm_port0"
            Interface "vm_port0"
                type: dpdkvhostuser
        Port br-int
            Interface br-int
                type: internal
    Bridge "br-phy1"
        fail_mode: standalone
        Port "dpdk0"
            Interface "dpdk0"
                type: dpdk
        Port "br-phy1"
            Interface "br-phy1"
                type: internal


[root at host172 ~]# ip a |grep br-phy1
78: br-phy1: <BROADCAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500
    inet 10.0.109.172/24<http://10.0.109.172/24> scope global br-phy1

[root at host172 src]# ovs-ofctl dump-flows br-phy1
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=6031.989s, table=0, n_packets=416732693, n_bytes=42512875415, idle_age=0, actions=NORMAL
[root at host172 src]# ovs-ofctl dump-flows br-int
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=5429.701s, table=0, n_packets=0, n_bytes=0, idle_age=5429, actions=NORMAL

Here is the problem!

Why is there no matched packets and bytes in OVS bridge br-int ?

How does the bridge br-int receive VXLAN packets?

As far as I know, physical nic "eth1" is handled by DPDK. I add a dpdk0 port ( represent the physical nic "eth1" ) into OVS bridge br-phy1. And there is a vxlan port named "vxlan-001" in OVS bridge br-int. So the OVS bridge br-int can receive the vxlan packets from br-phy1 by linux kernel stack. Does my thought right? If yes, why does the bridge br-int can not receive any packets?
[Sugesh] Native tunneling doesn’t use any kernel stack for the packet forwarding. Everything happening at the userspace.
Have you checked the tunnel arp and route entries? Its mentioned in the debug section of the same document.
Did you try generating traffic from the VM ??
Please have a look at the statistics at the datapath as well. You can use the command ovs-appctl dpctl/show –s netdev at ovs-netdev


BTW, I can not see any packet changes by using " ifconfig br-phy1 |grep 'RX packets'  "  when I add the IP "10.0.109.172" into bridge br-phy1. And I can see the packet changes when I remove the IP address from bridge br-phy1. Could someone tell me the reason?




Thanks
Zhi Chang

[1]. http://openvswitch.org/support/config-cookbooks/userspace-tunneling/
[2]. https://github.com/openvswitch/ovs/blob/master/INSTALL.DPDK.md
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20161013/ea30267f/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 34695 bytes
Desc: image001.png
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20161013/ea30267f/attachment-0002.png>


More information about the discuss mailing list