[Openstack-operators] [neutron] Packet loss with DVR and IPv6

Tomas Vondra vondra at czech-itc.cz
Tue Jun 21 14:33:03 UTC 2016


Dear list,
I've stumbled upon a weird condition in Neutron and couldn't find a bug
filed for it. So even if it is happening with the Kilo release, it could
still be relevant.

The setup has 3 network nodes and 1 compute node currently hosting a virtual
network (GRE based). DVR is enabled. I have just added IPv6 to this network
and to the external network (VLAN based). The virtual network is set to SLAAC.

Now, all four mentioned nodes have spawned a radvd process and VMs are
getting globally routable addresses. Traffic has been statically routed to
the subnet so reachability is OK in both ways.

However, the link-local router address and associated MAC address is the
same in all 4 qr namespaces. About 16% packets get lost in randomly occuring
bursts. Openvswitch forwarding tables are flapping and I think that the
packet loss occurs at the moment when all 4 switches learn the MAC address
through a GRE tunnel simultaneously.

Another router address and the external gateway address resides in a snat
namespace, which exists in only one copy. When I tell the VM to route
through that, there is no packet loss.

Is there any way to change the behavior to either get rid of the MAC address
conflict of push a default route to the VMs through the stable gateway?
Thanks, Tomas




More information about the OpenStack-operators mailing list