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.



_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : [email protected]
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

Reply via email to