Last updated: 2020-12-23

Possible Causes for Network Failures in SAVI

SAVI’s network is built upon a mix of Quantum/Neutron’s out-of-the-box OVS configuration + custom network logic via SDN.

The following is a checklist of possible causes when there are connectivity issues in the network.

Debugging OVS Flow Tables

Can simulate a packet using ovs-appctl (will not actually create a packet, so table stats won’t change). This is useful for debugging large tables and seeing which flow(s) will match.

sudo ovs-appctl ofproto/trace <bridge name> <flow spec> -generate

Example:

savi@agent-24:~$ sudo ovs-appctl ofproto/trace br-int arp,in_port=13,dl_src=fa:16:3e:77:bf:cd,dl_dst=ff:ff:ff:ff:ff:ff -generate
Bridge: br-int
Flow: arp,in_port=13,vlan_tci=0x0000,dl_src=fa:16:3e:77:bf:cd,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00

Rule: table=0 cookie=0 priority=62768,arp,in_port=13,dl_src=fa:16:3e:77:bf:cd,dl_dst=ff:ff:ff:ff:ff:ff
OpenFlow actions=mod_dl_dst:fa:16:3e:1e:ea:7d,output:1

Final flow: arp,in_port=13,vlan_tci=0x0000,dl_src=fa:16:3e:77:bf:cd,dl_dst=fa:16:3e:1e:ea:7d,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00
Megaflow: recirc_id=0,arp,in_port=13,dl_src=fa:16:3e:77:bf:cd,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=0
Datapath actions: set(eth(src=fa:16:3e:77:bf:cd,dst=fa:16:3e:1e:ea:7d)),1