Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp481251pxb; Tue, 3 Nov 2020 04:57:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJzfIZrNrT3xjQSJXVdV4jMzPaagUkTgdJP43biEUoHcapRe5VqfhD9THTltEW6xJAv3Ev33 X-Received: by 2002:aa7:d717:: with SMTP id t23mr2125754edq.286.1604408239773; Tue, 03 Nov 2020 04:57:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604408239; cv=none; d=google.com; s=arc-20160816; b=YO1KIrvH0SrHqQKz++MNZV4kTu9lwTvHojw+lqZKyKz6cvijSYBh1CCEQr3rCoBysc agxZBi4wCN/QWnWyhelwf526JLXE2W2IQbYGxb3a4VOh/9MyZRC8BIINh8If+EPFGSs1 pQfERxfj04eYL39ztBmDd9UjgRr5ekcICH7fRLuKg9x5c/2nzdMzXsQeLE+4b0sX6zc+ ijFXY+MGmj51RBACy7BlAJEYXKB57XmoDyIA/D6+eZ8uAIuOHW9Zy2VYv7fmrBDSz6/H G4ROtl51dOcep16zFRXetNtG62UIU6DcaSZnHigPpIwaNh37CSvlt+IT1EMUjDP79m0m 1byg== 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=04gqXaebpPr4V8O+LbOhObT8WSNc0hLzQeBqk9+1M30=; b=j9vvGjhjdUT81cqWJUoY2dllyZrD+5KvaXJOwRcLwd38iDP/sszVbI508atujyhyj6 cTBqdODfjuGA4XED3elbFeh8n3Dayj69mjzra8HdbYKADdXl0GKLBaw6g+B6hb5nT2cR Xg23teulPLO8Kjphi21i28tsZJzhUhnxKGGZK7ikzdxG2lNG3c+LBeJ6TMny6OVp5qHW e5/RVfmgKT8HxWI4Ncdpy28k2NEwOfOQ6cinqQIZGDYMCIVJNg7H3FhNj11EkSu/jdYL 0FbTQxCjC69ie05/y7G4cuwsTM3RbK7L19zwUnYZ9R+XoddZ6f2TbasWv1NjNQrCNo9n Z+Zg== 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 v20si12321714ejg.640.2020.11.03.04.56.57; Tue, 03 Nov 2020 04:57:19 -0800 (PST) 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 S1729123AbgKCMyT (ORCPT + 99 others); Tue, 3 Nov 2020 07:54:19 -0500 Received: from smtp.uniroma2.it ([160.80.6.22]:46057 "EHLO smtp.uniroma2.it" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728996AbgKCMyE (ORCPT ); Tue, 3 Nov 2020 07:54:04 -0500 Received: from localhost.localdomain ([160.80.103.126]) by smtp-2015.uniroma2.it (8.14.4/8.14.4/Debian-8) with ESMTP id 0A3CquXm020392 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 3 Nov 2020 13:52:57 +0100 From: Andrea Mayer To: "David S. Miller" , David Ahern , Alexey Kuznetsov , Hideaki YOSHIFUJI , Jakub Kicinski , Shuah Khan , Shrijeet Mukherjee , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Cc: Stefano Salsano , Paolo Lungaroni , Ahmed Abdelsalam , Andrea Mayer Subject: [net-next,v1,0/5] seg6: add support for SRv6 End.DT4 behavior Date: Tue, 3 Nov 2020 13:52:37 +0100 Message-Id: <20201103125242.11468-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 provides support for the SRv6 End.DT4 behavior. The SRv6 End.DT4 is used to implement multi-tenant IPv4 L3 VPN. 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. The SRv6 End.DT4 is defined in the SRv6 Network Programming [1]. - Patch 1/5 is needed to solve a pre-existing issue with tunneled packets when a sniffer is attached; - Patch 2/5 improves the management of the seg6local attributes used by the SRv6 behaviors; - Patch 3/5 introduces two callbacks used for customizing the creation/destruction of a SRv6 behavior; - Patch 4/5 is the core patch that adds support for the SRv6 End.DT4 behavior; - Patch 5/5 adds the selftest for SRv6 End.DT4 behavior. 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 v1 improve comments; add new patch 2/5 titled: seg6: improve management of behavior attributes seg6: add support for the SRv6 End.DT4 behavior - remove the inline keyword in the definition of fib6_config_get_net(). selftests: add selftest for the SRv6 End.DT4 behavior - add check for the vrf sysctl [1] https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming Andrea Mayer (5): vrf: add mac header for tunneled packets when sniffer is attached seg6: improve management of behavior attributes seg6: add callbacks for customizing the creation/destruction of a behavior seg6: add support for the SRv6 End.DT4 behavior selftests: add selftest for the SRv6 End.DT4 behavior drivers/net/vrf.c | 78 ++- net/ipv6/seg6_local.c | 370 ++++++++++++- .../selftests/net/srv6_end_dt4_l3vpn_test.sh | 494 ++++++++++++++++++ 3 files changed, 927 insertions(+), 15 deletions(-) create mode 100755 tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh -- 2.20.1