From patchwork Thu Dec 14 08:56:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zoltan Balogh X-Patchwork-Id: 848403 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yy6t11Zgsz9sR8 for ; Thu, 14 Dec 2017 19:58:33 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id C91A1927; Thu, 14 Dec 2017 08:58:02 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id C820B7A8 for ; Thu, 14 Dec 2017 08:58:00 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 0903C189 for ; Thu, 14 Dec 2017 08:57:58 +0000 (UTC) X-AuditID: c1b4fb25-48bff7000000341b-bd-5a323d159cd0 Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.183.33]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 19.C5.13339.51D323A5; Thu, 14 Dec 2017 09:57:57 +0100 (CET) Received: from labserv2.eth.ericsson.se (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.35) with Microsoft SMTP Server id 14.3.352.0; Thu, 14 Dec 2017 09:57:56 +0100 Received: from elxcx247z1a.sdn.hu.eld.ericsson.se (unknown [10.58.48.2]) by labserv2.eth.ericsson.se (Postfix) with ESMTP id 2CA9D29C72C; Thu, 14 Dec 2017 09:51:18 +0100 (CET) From: Zoltan Balogh To: Date: Thu, 14 Dec 2017 09:56:18 +0100 Message-ID: <1513241781-23560-1-git-send-email-zoltan.balogh@ericsson.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpjluLIzCtJLcpLzFFi42KZGbFdUVfU1ijKoKFb0OLo6T3MDowez27+ ZwxgjOKySUnNySxLLdK3S+DK6H63kaVgHlfFxSXHmRsYF3J0MXJwSAiYSMxpiO1i5OQQEjjM KLHjn1YXIxeQvYVRYuKlaSwQzmZGifVnXrODVLEJGEj8uPyFCcQWEZCU+Ld4CxuIzSygJ/Hk 6BGwuLCAjcSNCbdZQWwWAVWJhnO3WUBsXgEvic6Xj5lBbAkBOYmTxyazQsQFJU7OfMICMUdC 4uCLF8wQF6lLHGp5zTaBkW8WkrJZSMoWMDKtYhQtTi1Oyk03MtZLLcpMLi7Oz9PLSy3ZxAgM nYNbfqvuYLz8xvEQowAHoxIP7xdLoygh1sSy4srcQ4wSHMxKIrxqEw2jhHhTEiurUovy44tK c1KLDzFKc7AoifOe9OSNEhJITyxJzU5NLUgtgskycXBKNTAGT0w63HL+g8X9eVPLZCM7XDdW L++Xuyqp4PuW66f/hrcs8+9N2jmZ8eJlIfaw7Lu+tzRYNTTXvV+r9VVUp/7Ncf+uic9PmG85 mdrjG/NkDcuaN2btBwoc9H88zhAReRG08fzLcxMOmSW8EJt7htdbNGXH+p99MRYaK3y9X+W1 XAyvia838hdQYinOSDTUYi4qTgQAopbIlRkCAAA= X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] [PATCH v2 0/3] Fix tunnel neighbor cache population X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org 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(-) Tested-by: Greg Rose Reviewed-by: Greg Rose