Message ID | 1545924885-6215-1-git-send-email-viacheslavo@mellanox.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DC68B1B11F; Thu, 27 Dec 2018 16:35:07 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 384081B0FB for <dev@dpdk.org>; Thu, 27 Dec 2018 16:35:01 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from viacheslavo@mellanox.com) with ESMTPS (AES256-SHA encrypted); 27 Dec 2018 17:34:56 +0200 Received: from pegasus12.mtr.labs.mlnx. (pegasus12.mtr.labs.mlnx [10.210.17.40]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id wBRFYuUx005767; Thu, 27 Dec 2018 17:34:56 +0200 From: Viacheslav Ovsiienko <viacheslavo@mellanox.com> To: shahafs@mellanox.com Cc: dev@dpdk.org, stable@dpdk.org Date: Thu, 27 Dec 2018 15:34:40 +0000 Message-Id: <1545924885-6215-1-git-send-email-viacheslavo@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dpdk-dev] [PATCH 0/5] net/mlx5: add inner tunnel items support on E-Switch X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
net/mlx5: add inner tunnel items support on E-Switch
|
|
Message
Slava Ovsiienko
Dec. 27, 2018, 3:34 p.m. UTC
The generic Flow rule for tunnels looks like:
flow create <attributes> <port> \
<tunnel outer items pattern> \
<tunnel vni item> \
<tunnel inner items pattern>
Current design supports only L2 addresses as inner pattern
items. This patchset adds support for L3 (IPv4/IPv6) addresses
and L4 (TCP/UDP) ports items as inner tunnel parameters.
Also this patchset adds support for inner and outer ethernet
types for the E-Switch Flows with tunnels. Inner and outer ethernet
type match can be specified with ethernet items, vlan items, or
implicitly deduced from IP address items. The tcm_info field
in Netlink message tcm structure is filled always with outer
protocol.
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Viacheslav Ovsiienko (5):
net/mlx5: remove checks for outer tunnel items on E-Switch
net/mlx5: add tunnel inner items validation on E-Switch
net/mlx5: add tunnel inner items support on E-Switch
net/mlx5: add ethernet type validation on E-Switch
net/mlx5: add ethernet type support for tunnels on E-Switch
drivers/net/mlx5/mlx5_flow_tcf.c | 690 ++++++++++++++++++++++-----------------
1 file changed, 399 insertions(+), 291 deletions(-)
Comments
Thursday, December 27, 2018 5:35 PM, Viacheslav Ovsiienko: > Subject: [dpdk-dev] [PATCH 0/5] net/mlx5: add inner tunnel items support > on E-Switch > > The generic Flow rule for tunnels looks like: > > flow create <attributes> <port> \ > <tunnel outer items pattern> \ > <tunnel vni item> \ > <tunnel inner items pattern> > > Current design supports only L2 addresses as inner pattern items. This > patchset adds support for L3 (IPv4/IPv6) addresses and L4 (TCP/UDP) ports > items as inner tunnel parameters. > > Also this patchset adds support for inner and outer ethernet types for the E- > Switch Flows with tunnels. Inner and outer ethernet type match can be > specified with ethernet items, vlan items, or implicitly deduced from IP > address items. The tcm_info field in Netlink message tcm structure is filled > always with outer protocol. > > Cc: stable@dpdk.org > > Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Applied to next-net-mlx, thanks. > > Viacheslav Ovsiienko (5): > net/mlx5: remove checks for outer tunnel items on E-Switch > net/mlx5: add tunnel inner items validation on E-Switch > net/mlx5: add tunnel inner items support on E-Switch > net/mlx5: add ethernet type validation on E-Switch > net/mlx5: add ethernet type support for tunnels on E-Switch > > drivers/net/mlx5/mlx5_flow_tcf.c | 690 ++++++++++++++++++++++--------- > -------- > 1 file changed, 399 insertions(+), 291 deletions(-) > > -- > 1.8.3.1
On 12/27/2018 03:34 PM, Viacheslav Ovsiienko wrote: > The generic Flow rule for tunnels looks like: > > flow create <attributes> <port> \ > <tunnel outer items pattern> \ > <tunnel vni item> \ > <tunnel inner items pattern> > > Current design supports only L2 addresses as inner pattern > items. This patchset adds support for L3 (IPv4/IPv6) addresses > and L4 (TCP/UDP) ports items as inner tunnel parameters. > > Also this patchset adds support for inner and outer ethernet > types for the E-Switch Flows with tunnels. Inner and outer ethernet > type match can be specified with ethernet items, vlan items, or > implicitly deduced from IP address items. The tcm_info field > in Netlink message tcm structure is filled always with outer > protocol. > > Cc: stable@dpdk.org > Hi Viacheslav - these are new features, not a bugfixes. Are the stable@dpdk.org tags intentional? From http://doc.dpdk.org/guides/contributing/stable.html#what-changes-should-be-backported -- Features should not be backported to stable releases. It may be acceptable, in limited cases, to back port features for the LTS release where: There is a justifiable use case (for example a new PMD). The change is non-invasive. The work of preparing the backport is done by the proposer. There is support within the community. -- Kevin. > Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> > > Viacheslav Ovsiienko (5): > net/mlx5: remove checks for outer tunnel items on E-Switch > net/mlx5: add tunnel inner items validation on E-Switch > net/mlx5: add tunnel inner items support on E-Switch > net/mlx5: add ethernet type validation on E-Switch > net/mlx5: add ethernet type support for tunnels on E-Switch > > drivers/net/mlx5/mlx5_flow_tcf.c | 690 ++++++++++++++++++++++----------------- > 1 file changed, 399 insertions(+), 291 deletions(-) >
Hi, Kevin It is rather refactoring, not new feature, tunnel inner items support is partially present in 18.11. Yes, this patchset is too big to be simple fix, and updates not so much to be new feature. It is very early patch (after 18.11 release), just mailed later, rebase on the top was done automatically and quite simple, because it touches merely E-Switch subsystem (merge should not be difficult - mostly mlx5_flow_tcf.c is changed) and highly desirable to be backported. It fixes serious bugs with ether_type field, which limit VLAN and VXLAN functionality on E-Switch. With best regards, Slava (aka Viacheslav) > -----Original Message----- > From: Kevin Traynor <ktraynor@redhat.com> > Sent: Thursday, January 31, 2019 16:52 > To: Slava Ovsiienko <viacheslavo@mellanox.com>; Shahaf Shuler > <shahafs@mellanox.com> > Cc: dev@dpdk.org; stable@dpdk.org; Thomas Monjalon > <thomas@monjalon.net>; Yongseok Koh <yskoh@mellanox.com>; Luca > Boccassi <bluca@debian.org> > Subject: Re: [dpdk-dev] [PATCH 0/5] net/mlx5: add inner tunnel items support > on E-Switch > > On 12/27/2018 03:34 PM, Viacheslav Ovsiienko wrote: > > The generic Flow rule for tunnels looks like: > > > > flow create <attributes> <port> \ > > <tunnel outer items pattern> \ > > <tunnel vni item> \ > > <tunnel inner items pattern> > > > > Current design supports only L2 addresses as inner pattern items. This > > patchset adds support for L3 (IPv4/IPv6) addresses and L4 (TCP/UDP) > > ports items as inner tunnel parameters. > > > > Also this patchset adds support for inner and outer ethernet types for > > the E-Switch Flows with tunnels. Inner and outer ethernet type match > > can be specified with ethernet items, vlan items, or implicitly > > deduced from IP address items. The tcm_info field in Netlink message > > tcm structure is filled always with outer protocol. > > > > Cc: stable@dpdk.org > > > > Hi Viacheslav - these are new features, not a bugfixes. Are the > stable@dpdk.org tags intentional? > > From > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdoc.dp > dk.org%2Fguides%2Fcontributing%2Fstable.html%23what-changes-should-be- > backported&data=02%7C01%7Cviacheslavo%40mellanox.com%7C1d6e08 > fe6f7f47d83f7e08d6878bb56d%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0 > %7C0%7C636845431441557730&sdata=%2Fmgoj2Il%2Fu4CCrkAcETdoMp > d7Ri5ash%2FUhzGv1dLXLY%3D&reserved=0 > > -- > Features should not be backported to stable releases. It may be acceptable, in > limited cases, to back port features for the LTS release > where: > > There is a justifiable use case (for example a new PMD). > The change is non-invasive. > The work of preparing the backport is done by the proposer. > There is support within the community. > -- > > Kevin. > > > > Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> > > > > Viacheslav Ovsiienko (5): > > net/mlx5: remove checks for outer tunnel items on E-Switch > > net/mlx5: add tunnel inner items validation on E-Switch > > net/mlx5: add tunnel inner items support on E-Switch > > net/mlx5: add ethernet type validation on E-Switch > > net/mlx5: add ethernet type support for tunnels on E-Switch > > > > drivers/net/mlx5/mlx5_flow_tcf.c | 690 > > ++++++++++++++++++++++----------------- > > 1 file changed, 399 insertions(+), 291 deletions(-) > >
On 01/31/2019 04:13 PM, Slava Ovsiienko wrote: > Hi, Kevin > Hi Slava, > It is rather refactoring, not new feature, tunnel inner items support is partially present in 18.11. > Yes, this patchset is too big to be simple fix, and updates not so much to be new feature. > It is very early patch (after 18.11 release), just mailed later, rebase on the top was done > automatically and quite simple, because it touches merely E-Switch subsystem (merge should > not be difficult - mostly mlx5_flow_tcf.c is changed) and highly desirable to be backported. > It fixes serious bugs with ether_type field, which limit VLAN and VXLAN functionality on E-Switch. > The issue I have is it also adding functionality and more importantly reworking how some existing behavior is handled (e.g. outer tunnel validation moving in 1/5). But, yes, it is completely isolated to mlx5/tcf and applies cleanly, so that is a positive. As it's a bit grey, I will backport to 18.11 on the understanding that it will be supported by Mellanox and you will test one of the 18.11.1-RC's to make sure there are no regressions on the existing behavior - is that reasonable? thanks, Kevin. > With best regards, > Slava (aka Viacheslav) > >> -----Original Message----- >> From: Kevin Traynor <ktraynor@redhat.com> >> Sent: Thursday, January 31, 2019 16:52 >> To: Slava Ovsiienko <viacheslavo@mellanox.com>; Shahaf Shuler >> <shahafs@mellanox.com> >> Cc: dev@dpdk.org; stable@dpdk.org; Thomas Monjalon >> <thomas@monjalon.net>; Yongseok Koh <yskoh@mellanox.com>; Luca >> Boccassi <bluca@debian.org> >> Subject: Re: [dpdk-dev] [PATCH 0/5] net/mlx5: add inner tunnel items support >> on E-Switch >> >> On 12/27/2018 03:34 PM, Viacheslav Ovsiienko wrote: >>> The generic Flow rule for tunnels looks like: >>> >>> flow create <attributes> <port> \ >>> <tunnel outer items pattern> \ >>> <tunnel vni item> \ >>> <tunnel inner items pattern> >>> >>> Current design supports only L2 addresses as inner pattern items. This >>> patchset adds support for L3 (IPv4/IPv6) addresses and L4 (TCP/UDP) >>> ports items as inner tunnel parameters. >>> >>> Also this patchset adds support for inner and outer ethernet types for >>> the E-Switch Flows with tunnels. Inner and outer ethernet type match >>> can be specified with ethernet items, vlan items, or implicitly >>> deduced from IP address items. The tcm_info field in Netlink message >>> tcm structure is filled always with outer protocol. >>> >>> Cc: stable@dpdk.org >>> >> >> Hi Viacheslav - these are new features, not a bugfixes. Are the >> stable@dpdk.org tags intentional? >> >> From >> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdoc.dp >> dk.org%2Fguides%2Fcontributing%2Fstable.html%23what-changes-should-be- >> backported&data=02%7C01%7Cviacheslavo%40mellanox.com%7C1d6e08 >> fe6f7f47d83f7e08d6878bb56d%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0 >> %7C0%7C636845431441557730&sdata=%2Fmgoj2Il%2Fu4CCrkAcETdoMp >> d7Ri5ash%2FUhzGv1dLXLY%3D&reserved=0 >> >> -- >> Features should not be backported to stable releases. It may be acceptable, in >> limited cases, to back port features for the LTS release >> where: >> >> There is a justifiable use case (for example a new PMD). >> The change is non-invasive. >> The work of preparing the backport is done by the proposer. >> There is support within the community. >> -- >> >> Kevin. >> >> >>> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> >>> >>> Viacheslav Ovsiienko (5): >>> net/mlx5: remove checks for outer tunnel items on E-Switch >>> net/mlx5: add tunnel inner items validation on E-Switch >>> net/mlx5: add tunnel inner items support on E-Switch >>> net/mlx5: add ethernet type validation on E-Switch >>> net/mlx5: add ethernet type support for tunnels on E-Switch >>> >>> drivers/net/mlx5/mlx5_flow_tcf.c | 690 >>> ++++++++++++++++++++++----------------- >>> 1 file changed, 399 insertions(+), 291 deletions(-) >>> >
Hi, Kevin > As it's a bit grey, I will backport to 18.11 on the understanding that it will be > supported by Mellanox and you will test one of the 18.11.1-RC's to make sure > there are no regressions on the existing behavior - is that reasonable? > Yes, it is quite reasonable, I will test it. This code is also merged in 19.02, so the related problems are not very likely. WBR, Slava (aka Viacheslav) > -----Original Message----- > From: Kevin Traynor <ktraynor@redhat.com> > Sent: Wednesday, February 6, 2019 13:01 > To: Slava Ovsiienko <viacheslavo@mellanox.com>; Shahaf Shuler > <shahafs@mellanox.com> > Cc: dev@dpdk.org; stable@dpdk.org; Thomas Monjalon > <thomas@monjalon.net>; Yongseok Koh <yskoh@mellanox.com>; Luca > Boccassi <bluca@debian.org>; stable@dpdk.org > Subject: Re: [dpdk-dev] [PATCH 0/5] net/mlx5: add inner tunnel items support > on E-Switch > > On 01/31/2019 04:13 PM, Slava Ovsiienko wrote: > > Hi, Kevin > > > > Hi Slava, > > > It is rather refactoring, not new feature, tunnel inner items support is > partially present in 18.11. > > Yes, this patchset is too big to be simple fix, and updates not so much to be > new feature. > > It is very early patch (after 18.11 release), just mailed later, > > rebase on the top was done automatically and quite simple, because it > > touches merely E-Switch subsystem (merge should not be difficult - mostly > mlx5_flow_tcf.c is changed) and highly desirable to be backported. > > It fixes serious bugs with ether_type field, which limit VLAN and VXLAN > functionality on E-Switch. > > > > The issue I have is it also adding functionality and more importantly > reworking how some existing behavior is handled (e.g. outer tunnel validation > moving in 1/5). But, yes, it is completely isolated to mlx5/tcf and applies > cleanly, so that is a positive. > > As it's a bit grey, I will backport to 18.11 on the understanding that it will be > supported by Mellanox and you will test one of the 18.11.1-RC's to make sure > there are no regressions on the existing behavior - is that reasonable? > > thanks, > Kevin. > > > With best regards, > > Slava (aka Viacheslav) > > > >> -----Original Message----- > >> From: Kevin Traynor <ktraynor@redhat.com> > >> Sent: Thursday, January 31, 2019 16:52 > >> To: Slava Ovsiienko <viacheslavo@mellanox.com>; Shahaf Shuler > >> <shahafs@mellanox.com> > >> Cc: dev@dpdk.org; stable@dpdk.org; Thomas Monjalon > >> <thomas@monjalon.net>; Yongseok Koh <yskoh@mellanox.com>; Luca > >> Boccassi <bluca@debian.org> > >> Subject: Re: [dpdk-dev] [PATCH 0/5] net/mlx5: add inner tunnel items > >> support on E-Switch > >> > >> On 12/27/2018 03:34 PM, Viacheslav Ovsiienko wrote: > >>> The generic Flow rule for tunnels looks like: > >>> > >>> flow create <attributes> <port> \ > >>> <tunnel outer items pattern> \ > >>> <tunnel vni item> \ > >>> <tunnel inner items pattern> > >>> > >>> Current design supports only L2 addresses as inner pattern items. > >>> This patchset adds support for L3 (IPv4/IPv6) addresses and L4 > >>> (TCP/UDP) ports items as inner tunnel parameters. > >>> > >>> Also this patchset adds support for inner and outer ethernet types > >>> for the E-Switch Flows with tunnels. Inner and outer ethernet type > >>> match can be specified with ethernet items, vlan items, or > >>> implicitly deduced from IP address items. The tcm_info field in > >>> Netlink message tcm structure is filled always with outer protocol. > >>> > >>> Cc: stable@dpdk.org > >>> > >> > >> Hi Viacheslav - these are new features, not a bugfixes. Are the > >> stable@dpdk.org tags intentional? > >> > >> From > >> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdoc > >> .dp > >> dk.org%2Fguides%2Fcontributing%2Fstable.html%23what-changes-should- > be > >> - > >> > backported&data=02%7C01%7Cviacheslavo%40mellanox.com%7C1d6e08 > >> > fe6f7f47d83f7e08d6878bb56d%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0 > >> > %7C0%7C636845431441557730&sdata=%2Fmgoj2Il%2Fu4CCrkAcETdoMp > >> d7Ri5ash%2FUhzGv1dLXLY%3D&reserved=0 > >> > >> -- > >> Features should not be backported to stable releases. It may be > >> acceptable, in limited cases, to back port features for the LTS > >> release > >> where: > >> > >> There is a justifiable use case (for example a new PMD). > >> The change is non-invasive. > >> The work of preparing the backport is done by the proposer. > >> There is support within the community. > >> -- > >> > >> Kevin. > >> > >> > >>> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> > >>> > >>> Viacheslav Ovsiienko (5): > >>> net/mlx5: remove checks for outer tunnel items on E-Switch > >>> net/mlx5: add tunnel inner items validation on E-Switch > >>> net/mlx5: add tunnel inner items support on E-Switch > >>> net/mlx5: add ethernet type validation on E-Switch > >>> net/mlx5: add ethernet type support for tunnels on E-Switch > >>> > >>> drivers/net/mlx5/mlx5_flow_tcf.c | 690 > >>> ++++++++++++++++++++++----------------- > >>> 1 file changed, 399 insertions(+), 291 deletions(-) > >>> > >