From patchwork Wed Nov 10 10:46:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Valerio X-Patchwork-Id: 1553362 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=FW0AMUyo; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Hq1kF5F4Xz9sCD for ; Wed, 10 Nov 2021 21:46:45 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 890834043F; Wed, 10 Nov 2021 10:46:42 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id clGghQBMLhnx; Wed, 10 Nov 2021 10:46:41 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id AD0D640440; Wed, 10 Nov 2021 10:46:40 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 80CBDC0019; Wed, 10 Nov 2021 10:46:40 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 1D868C000E for ; Wed, 10 Nov 2021 10:46:39 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 3695E4021B for ; Wed, 10 Nov 2021 10:46:36 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp2.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=redhat.com Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J3qmYmidF-MJ for ; Wed, 10 Nov 2021 10:46:35 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp2.osuosl.org (Postfix) with ESMTPS id 5D0014040C for ; Wed, 10 Nov 2021 10:46:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1636541194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b+3H2hmcbOQ0FW17WHkpEZtDjSCcCe/Hx9YF7eHfMiM=; b=FW0AMUyor9gNeXmwCOGUKstSL/JW9Q5/V9oAAF3+UECFTBPIlRL5N3sBanT/sJSh6DMJF2 l0doU0XPnYaBy/r7AEG6ozQSmPOx+r3ZHacqqIfFmEmIISC/4WesAxbYUb/6pG2M9ARxfw mmlRAndWGCDkt503/6NPG3HuYz30VJk= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-468-QEHdQqaiNvyvy_Re9vN9IQ-1; Wed, 10 Nov 2021 05:46:33 -0500 X-MC-Unique: QEHdQqaiNvyvy_Re9vN9IQ-1 Received: by mail-wr1-f71.google.com with SMTP id d3-20020adfa343000000b0018ed6dd4629so299583wrb.2 for ; Wed, 10 Nov 2021 02:46:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:from:to:cc:date:message-id:user-agent :mime-version:content-transfer-encoding; bh=b+3H2hmcbOQ0FW17WHkpEZtDjSCcCe/Hx9YF7eHfMiM=; b=ArE7pTEapkQQhM+0xUR7LM2TlQzu0+Hd8Oe6bJTYTKIpG/pnVB1OLAH1w/3MYPiD09 QgOjNlea6PwULCdrmIQY3Ur+HZIsiUdgMZWyAISlR0LHlGKT66HG7blehmIzDRsnJXMt qaB3yx5wewLzlwVvAD0zN/zGA8sSEJQKwIMxdx/LUkaYtYk3mjBFbAXkB7zLSWGa+KSF Wpo+45iM+j1mBISuBUJm/qtrFsi1J+NEBL6jQdn9TRv+Ny7xY0X070QiS4hD7kG2IZ6N /wMaYGEiKi5fGsQk1xCki3ptLl1SzN0awstWCcx8LnVmICTgATA1vSUqXiMh0RYYqinF pcgw== X-Gm-Message-State: AOAM533gxHZaS4AL4ulnRUlP3oV+MaR8jicx3Uj4JcvzfuHNzcdZRlK6 qrS2BogDBQGCaB1XnxwEwldIsWqBqpsOJ0JYoBP9rVtiD9d6PgTtnOKJ9yYWOJU3pVW/C5BbXPw c0Jg4o8VsC8k7SkNxTinflRgBh25cK8YfSzgRzM4uRNKIsE7/pLixJpJRStjG5HhD X-Received: by 2002:a05:600c:2156:: with SMTP id v22mr16116635wml.159.1636541191966; Wed, 10 Nov 2021 02:46:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJwR461rEvy4rQmEAIlsQL8gKgukg0VYTpDudnE1tAL2UPvoNZqWL4IFZqIYTcZiQzc9w2rZ+g== X-Received: by 2002:a05:600c:2156:: with SMTP id v22mr16116604wml.159.1636541191706; Wed, 10 Nov 2021 02:46:31 -0800 (PST) Received: from localhost (net-5-88-23-84.cust.vodafonedsl.it. [5.88.23.84]) by smtp.gmail.com with ESMTPSA id p19sm6004503wmq.4.2021.11.10.02.46.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Nov 2021 02:46:31 -0800 (PST) From: Paolo Valerio To: dev@openvswitch.org Date: Wed, 10 Nov 2021 11:46:30 +0100 Message-ID: <163654119047.1486166.18090151938310335551.stgit@fed.void> User-Agent: StGit/0.23 MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=pvalerio@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Cc: fbl@redhat.com, i.maximets@ovn.org Subject: [ovs-dev] [PATCH v2 0/4] Native tunnel: Update neigh entries in tnl termination. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" v2: - rebased against master - turned 'ageing' -> 'aging' - further details of v1 -> v2 respin has been added to each patch The series is composed of the following patches: #1: Expires is modified in different contexts (revalidator, pmd-rx, bfd-tx). It's probably not very racy for many reasons, but it seems a good idea to use an atomic here (especially with the introduction of #3). #2: Introduces the possibility to set and read the entries timeout. It's useful for debugging purpose. Includes a self-test. #3: While performing some tests I noticed unstable timeouts (more visible when the ageing time is low) during nd snoop. It turned out to be a problem of revalidation. Additional details can be found in the commit description. #4: Fixes a use case in which the tnl neigh entry never gets updated (further details in the commit message). Includes a self-test. The use case fixed in #4 could be fixed relaxing the check in tnl_arp_snoop(), allowing to snoop ARP requests as well, but such approach could add unneeded entries in the cache. Paolo Valerio (4): Native tunnel: Read/write expires atomically. Native tunnel: Add tnl/neigh/aging command. Native tunnel: Do not refresh the entry while revalidating. Tunnel: Snoop ingress packets and update neigh cache if needed. NEWS | 2 + lib/tnl-neigh-cache.c | 135 +++++++++++++++++++++++++------- lib/tnl-neigh-cache.h | 4 +- ofproto/ofproto-dpif-xlate.c | 17 +++- ofproto/ofproto-tnl-unixctl.man | 9 +++ tests/tunnel-push-pop-ipv6.at | 66 ++++++++++++++++ tests/tunnel-push-pop.at | 82 +++++++++++++++++++ 7 files changed, 286 insertions(+), 29 deletions(-)