On Friday 25 September 2015 04:10 AM, Pravin Shelar wrote:
On Wed, Sep 23, 2015 at 9:03 PM, Na Zhu <zhunat...@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 recognise and 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 output-port=@pcap0 select_all=1
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
capture packets.

--
Regards,
Gowrishankar M

_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to