[ovs-discuss] ovs dpdk vxlan does NOT work
gowrishankar.m at linux.vnet.ibm.com
Fri Sep 25 07:11:12 UTC 2015
On Friday 25 September 2015 04:10 AM, Pravin Shelar wrote:
> On Wed, Sep 23, 2015 at 9:03 PM, Na Zhu <zhunatuzi at gmail.com> wrote:
>> Hi Pravin,
>> I can ping 10.53.87.254.
>> Can i tcpdump eth0 to get the vxlan packets?
>> Yesterday, another engineer said i can not tcpdump eth0, do you know why?
> If eth0 is dpdk device AFAIK there is no way to do tcpdump on it since
> tcpdump expect kernel networking device.
dpdk driver that you use bypass kernel network stack. So, libpcap can
not help you
as it operates only on any registered netdev for kernel stack (eg tap,
lo or any virtual interface and
phy nic). In dpdk case, tcpdump would not even know such device exists.
But I use ovs feature - port mirroring - to inspect dpdk port. Idea is
just to mirror all
traffic from ovs internal port into a dummy port that kernel stack can
run tcpdump over dummy. You can refer ovs manual or some online tutorial
for more info.
So, in your case you can try (assuming dpdk0 is dpdk port).
ip link add name pcap0 type dummy
ip link set dev pcap0 up
ovs-vsctl add-port br-vxlan pcap0
ovs-vsctl -- set bridge br-vxlan mirrors=@m -- --id=@pcap0 get port
pcap0 -- --id=@dpdk0 get port dpdk0 -- --id=@m create mirror
name=mirror0 select-dst-port=@dpdk0 select-src-port=@dpdk0
ovs-vsctl list mirror
tcpdump -i pcap0
ovs-vsctl clear bridge br-vxlan mirrors
ip link delete dev pcap0
You can move dummy port to other bridge as well and create mirror
accordingly to further
More information about the discuss