]> git.proxmox.com Git - mirror_ovs.git/commit
tnl-neigh: Use outgoing ofproto version.
authorFlavio Leitner <fbl@sysclose.org>
Tue, 13 Aug 2019 16:34:04 +0000 (13:34 -0300)
committerBen Pfaff <blp@ovn.org>
Wed, 28 Aug 2019 18:23:42 +0000 (11:23 -0700)
commitea41c034dbc76fccfef6ce71e8a4768d6eff0b3a
treeaf964b443c3e2364e8aa769151c796aee852fafb
parent22abff20647ced3e3634e73b8388fa1abfb3a94a
tnl-neigh: Use outgoing ofproto version.

When a packet needs to be encapsulated in userspace, the endpoint
address needs to be resolved to fill in the headers. If it is not,
then currently OvS sends either a Neighbor Solicitation (IPv6)
or an ARP Query (IPv4) to resolve it.

The problem is that the NS/ARP packet will go through the flow
rules in the new bridge, but inheriting the ofproto table version
from the original packet to be encapsulated. When those versions
don't match, the result is unexpected because no flow rules might
be visible, which would cause the default table rule to be used
to drop the packet. Or only part of the flow rules would be visible
and so on.

Since the NS/ARP packet is created by OvS and will be injected in
the outgoing bridge, use the corresponding ofproto version instead.

Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-By: Vasu Dasari <vdasari@gmail.com>
Signed-off-by: Flavio Leitner <fbl@sysclose.org>
Signed-off-by: Ben Pfaff <blp@ovn.org>
ofproto/ofproto-dpif-xlate.c
tests/tunnel.at