[Openstack] (announce) neutron/openvswitch debugging utility

George Shuklin george.shuklin at gmail.com
Sun Dec 1 23:41:51 UTC 2013


Good day.

While debugging neutron setup on compute nodes I found debugging process 
rather annoying - almost half of the path happens outside normal 
interfaces (f.e. all traffic in patch interfaces can't be monitored with 
tcpdump).

I wrote a small shell utility, which allow to generate fake ICMP packets 
in neutron GRE tunnels. It create veth interface, plug in in the 
(specified) bridge, add openflow rule to openvswitch to add (specified) 
GRE label and send to (specified) out port. It allows to see if GRE set 
up working correctly without other components of neutron. It bypass ARP 
broadcast part and 'just send unicast packets'.

github for the packet: https://github.com/amarao/gre-tun-probe

How to use on compute nodes:

check existing rules for OVS:
# ovs-ofctl dump-flows br-tun
(skip)
cookie=0x0, duration=199273.231s, table=21, n_packets=190524, 
n_bytes=8002008, idle_age=0, hard_age=65534, priority=1,dl_vlan=1 
actions=strip_vlan,set_tunnel:0x1,output:2
(skip)

set_tunnel:0x1 - is 'our' tunnel number, and output - is output port.

To forcefully emulate traffic from guests:

./gre-tun-probe br-tun 0x1 2
or
./gre-tun-probe br-tun 0x1 2 192.168.1.1 192.168.1.2 10:0b:a9:bd:26:a8 100
(send 100 packets from 192.168.1.1 to 192.168.1.2 with dest. mac 
10:0b:a9:bd:26:a8 via bridge br-tun with gre label 0x1 in output port #2).

It relies on nping utility, which is shipped with recent version of nmap 
(recent: newer than precise), some upgrade may require.

Any comments and suggestions are welcome.






More information about the Openstack mailing list