mbox series

[ovs-dev,v2,0/3] Fix tunnel neighbor cache population

Message ID 1513241781-23560-1-git-send-email-zoltan.balogh@ericsson.com
Headers show
Series Fix tunnel neighbor cache population | expand

Message

Zoltan Balogh Dec. 14, 2017, 8:56 a.m. UTC
Currenlty, OVS snoops any ARP or ND packets in any bridge and populates
the tunnel neighbor cache with the retreived data. For instance, when
ARP reply originated by a tenant is received on an overlay bridge, the
ARP message is snooped and tunnel neighbor cache is filled with tenant
data, however only tunnel neighbor data should be stored there.
In worst case tunnel peer data could be overwritten in the cache. Which
triggers revalidation as well.

This series resolves the issue, by trying to snoop ARP and ND messages
addressing tunnel end point in current bridge.

Zoltan Balogh (3):
  ofproto-dpif-sflow: propagate actions within clone
  tests: modify ARP snoop tests for tunneling with clone
  xlate: call tnl_neigh_snoop() from terminate_native_tunnel()

 include/sparse/netinet/in.h   |  10 +++
 lib/tnl-neigh-cache.c         |   1 +
 ofproto/ofproto-dpif-sflow.c  |  31 +++++----
 ofproto/ofproto-dpif-sflow.h  |   4 +-
 ofproto/ofproto-dpif-upcall.c |   2 +-
 ofproto/ofproto-dpif-xlate.c  | 150 ++++++++++++++++++++++++++++++++++++++++--
 tests/ofproto-dpif.at         |   2 +-
 tests/tunnel-push-pop-ipv6.at |  78 ++++++++++++++++++++--
 tests/tunnel-push-pop.at      |  91 +++++++++++++++++++++----
 9 files changed, 327 insertions(+), 42 deletions(-)

Comments

Gregory Rose Dec. 19, 2017, 6:03 p.m. UTC | #1
On 12/14/2017 12:56 AM, Zoltan Balogh wrote:
> Currenlty, OVS snoops any ARP or ND packets in any bridge and populates
> the tunnel neighbor cache with the retreived data. For instance, when
> ARP reply originated by a tenant is received on an overlay bridge, the
> ARP message is snooped and tunnel neighbor cache is filled with tenant
> data, however only tunnel neighbor data should be stored there.
> In worst case tunnel peer data could be overwritten in the cache. Which
> triggers revalidation as well.
>
> This series resolves the issue, by trying to snoop ARP and ND messages
> addressing tunnel end point in current bridge.
>
> Zoltan Balogh (3):
>    ofproto-dpif-sflow: propagate actions within clone
>    tests: modify ARP snoop tests for tunneling with clone
>    xlate: call tnl_neigh_snoop() from terminate_native_tunnel()
>
>   include/sparse/netinet/in.h   |  10 +++
>   lib/tnl-neigh-cache.c         |   1 +
>   ofproto/ofproto-dpif-sflow.c  |  31 +++++----
>   ofproto/ofproto-dpif-sflow.h  |   4 +-
>   ofproto/ofproto-dpif-upcall.c |   2 +-
>   ofproto/ofproto-dpif-xlate.c  | 150 ++++++++++++++++++++++++++++++++++++++++--
>   tests/ofproto-dpif.at         |   2 +-
>   tests/tunnel-push-pop-ipv6.at |  78 ++++++++++++++++++++--
>   tests/tunnel-push-pop.at      |  91 +++++++++++++++++++++----
>   9 files changed, 327 insertions(+), 42 deletions(-)
>

The checkpatch errors are fixed.  Thanks Zoltan!

For the series:

Tested-by: Greg Rose <gvrose8192@gmail.com>
Reviewed-by: Greg Rose <gvrose8192@gmail.com>