Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp5366629pxu; Wed, 21 Oct 2020 23:35:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx4zAauSyeA/9Rdi+Te2cfCTxBClq7PnIj4edxAEUuNBc6hZyrIBNEM1O80hfUKCVdodoSJ X-Received: by 2002:a17:906:791:: with SMTP id l17mr792923ejc.361.1603348525485; Wed, 21 Oct 2020 23:35:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603348525; cv=none; d=google.com; s=arc-20160816; b=tEE5GQtW08aeBHLsZwYVxd1opwuYi8CKjv2NR+WKMrYtMlBO7cgKRKDoGZmzHUz3O7 8ULXyci1jGuqAGOdOJBF1qi2su7AJk+TA5xmh1SEndtAqWhmr49P1mX1JkwiNKVuH3Kf y6KaOpANjQVjSnV8yk79pkoWsS7PBUqtP4aoELXoLwYaIkwfCzcFW4VJuSpLwesAOk6M 5N41GSR6kSEaP4AL1o6qDzV1Lz4FwFuJHBdn7q9jyHu4Nw3C/aHEyUWXrw+JNguEtaWb JQs73ONYPUWT0IuwOqDBhFGy2dqazX3T5f6fV6X1QaSKz3EncuT/Ys0oFp42DmURU7pm k/cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=RGfm3LKtbK0Of7klQB/Cr92NJlbUZS8s7VqYSWLNm7M=; b=CuhD/tLaxbJZNo9y7Tx5ODCQrNGAniRl9jeWNAF6+idpOAPPFtkAmmaV+sHsPl5N6Z 7GiT1gGE+jsZjwj1mEZwCU88/96D4HKStXSxo2ty3vMsPSPDVi+LlRxrQRLp+Jqp0O7W 0dL8FuEpkLou35l2Uv2dbxkCcNjOk/3GC2yWzPANJpsZzyKmNlJvWSD4gy7vyTVVOZeO StVtDYQZGLwLAgrrqmAdn0CoMcit0dBJ6Osve75GHDxOMfYL0GZJXoYL/tulEx8uMr4B Yo+8LAYEo8PI5JBwsfC8qamiSwWxVmz1n75XwkexN813fjVRa2mK7SikZt9sTo5s03gd 979Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=uniroma2.it Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t17si335726ejs.681.2020.10.21.23.35.03; Wed, 21 Oct 2020 23:35:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=uniroma2.it Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2504373AbgJUSuI (ORCPT + 99 others); Wed, 21 Oct 2020 14:50:08 -0400 Received: from smtp.uniroma2.it ([160.80.6.22]:47171 "EHLO smtp.uniroma2.it" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2394632AbgJUSuH (ORCPT ); Wed, 21 Oct 2020 14:50:07 -0400 X-Greylist: delayed 406 seconds by postgrey-1.27 at vger.kernel.org; Wed, 21 Oct 2020 14:50:06 EDT Received: from localhost.localdomain ([160.80.103.126]) by smtp-2015.uniroma2.it (8.14.4/8.14.4/Debian-8) with ESMTP id 09LIga9f005673 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 21 Oct 2020 20:42:37 +0200 From: Andrea Mayer To: "David S. Miller" , David Ahern , Alexey Kuznetsov , Hideaki YOSHIFUJI , Jakub Kicinski , Shuah Khan , Shrijeet Mukherjee , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: Stefano Salsano , Paolo Lungaroni , Ahmed Abdelsalam , Andrea Mayer Subject: [RFC,net-next, 0/4] seg6: add support for SRv6 End.DT4 behavior Date: Wed, 21 Oct 2020 20:41:12 +0200 Message-Id: <20201021184116.2722-1-andrea.mayer@uniroma2.it> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Virus-Scanned: clamav-milter 0.100.0 at smtp-2015 X-Virus-Status: Clean Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset adds support for the SRv6 End.DT4 behavior. The SRv6 End.DT4 is used to implement multi-tenant IPv4 L3VPN. It decapsulates the received packets and performs IPv4 routing lookup in the routing table of the tenant. The SRv6 End.DT4 Linux implementation leverages a VRF device. SRv6 End.DT4 is defined in the SRv6 Network Programming [1]. - Patch 1/4 is needed to solve a pre-existing issue with tunneled packets when a sniffer is attached; - Patch 2/4 introduces two callbacks used for customizing the creation/destruction of a SRv6 behavior; - Patch 3/4 is the core patch that adds support for the SRv6 End.DT4 behavior; - Patch 4/4 adds the selftest for SRv6 End.DT4. I would like to thank David Ahern for his support during the development of this patch set. Comments, suggestions and improvements are very welcome! Thanks, Andrea Mayer [1] https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming Andrea Mayer (4): vrf: push mac header for tunneled packets when sniffer is attached seg6: add callbacks for customizing the creation/destruction of a behavior seg6: add support for the SRv6 End.DT4 behavior add selftest for the SRv6 End.DT4 behavior drivers/net/vrf.c | 78 ++- net/ipv6/seg6_local.c | 261 ++++++++++ .../selftests/net/srv6_end_dt4_l3vpn_test.sh | 490 ++++++++++++++++++ 3 files changed, 823 insertions(+), 6 deletions(-) create mode 100755 tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh -- 2.20.1