Message ID | cover.1529311722.git.nelio.laranjeiro@6wind.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 8588314E8; Mon, 18 Jun 2018 10:53:05 +0200 (CEST) Received: from mail-wr0-f173.google.com (mail-wr0-f173.google.com [209.85.128.173]) by dpdk.org (Postfix) with ESMTP id DF1ED9E4 for <dev@dpdk.org>; Mon, 18 Jun 2018 10:53:03 +0200 (CEST) Received: by mail-wr0-f173.google.com with SMTP id h10-v6so15894997wrq.8 for <dev@dpdk.org>; Mon, 18 Jun 2018 01:53:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=iHCeYp2XTTO2w/31BG+qPpzZ3Wse7+ZecPM2vfQR16c=; b=rPtEJWcyAZ2Jaco1+ZTdUHlfvsRqfXk4MFOehsZ3tdqM8M/ltlVWryqd50jHa9NTfN GgkwnIOg6eC13B+g/m4zGMzAWujKmS/EI5OsRgCSXSP7zBJE8/ueP7CaDvpPd6s5pta6 hrbVumdpr8QuqINkGWDJmzj2Nln0ZqNlJmvGzkZvibinpCSgohCJBF4vTuTjA+Z2jXtO KfeoLefLtbOCX3qc1yepmWz+8uy3ejyK9Gj2SF3k1qQWPT3TUQZ+7dmRM63Cu+MrOdeI CQusfcj/1sD1AYxApZH/jhPdhiChz9g8O1kZuLJu+BugXB5W61GaPNA/na4fRancvMGu wmyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=iHCeYp2XTTO2w/31BG+qPpzZ3Wse7+ZecPM2vfQR16c=; b=PCxTjncyB0yU9cCBw61ol/KcD6DuE9WhxvastWll3HGLv7mkoxQWJIzU/+8MhoNs97 uvsvmvg+Wmbuv8A42hStvNJ7V2OzjvBhgvDaYXgpNlX5jR/H4NnxqUpSGUZAaBQMYz3i kMxOQEpU+GLXzAz193p/yxE3H+p51gBZPcBih722+0C2zA2yKOtJRwKyxloVHsjO9Aag NlnbWxPzOgh80kIcV8p9n3CoMLJejY4pmuDg8OAnqX+MKVWA+9BA6b5I6JDcRtNzVwzi S4Q2oebl1YSMhSRrl8J1lLdPg236g1+RcB5QdTqTU1Vwh6U6tMjY68YoCevYNcMniSqh gCnA== X-Gm-Message-State: APt69E3ejHvAWhzAPUdDQZzwUXycPYGp+3XiyP3F8JMq0OFJVRGGA8MY ss/1NvTVTTKIdInFCqWGXzPltpTjFA== X-Google-Smtp-Source: ADUXVKLtGxFAQBIQYaHVO7jZ6i091bGRaYsgO4yLTz9yjaUK4cWaO/8oDxUvBUY5gtG4Bq6vXbFu8g== X-Received: by 2002:adf:edc6:: with SMTP id v6-v6mr9169712wro.264.1529311983462; Mon, 18 Jun 2018 01:53:03 -0700 (PDT) Received: from laranjeiro-vm.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id y30-v6sm17400393wrd.70.2018.06.18.01.53.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Jun 2018 01:53:02 -0700 (PDT) From: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> To: dev@dpdk.org, Adrien Mazarguil <adrien.mazarguil@6wind.com>, Wenzhuo Lu <wenzhuo.lu@intel.com>, Jingjing Wu <jingjing.wu@intel.com>, Bernard Iremonger <bernard.iremonger@intel.com> Cc: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com> Date: Mon, 18 Jun 2018 10:52:53 +0200 Message-Id: <cover.1529311722.git.nelio.laranjeiro@6wind.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <cover.1528988346.git.nelio.laranjeiro@6wind.com> References: <cover.1528988346.git.nelio.laranjeiro@6wind.com> Subject: [dpdk-dev] [PATCH v2 0/2] app/testpmd implement VXLAN/NVGRE Encap/Decap 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 |
app/testpmd implement VXLAN/NVGRE Encap/Decap
|
|
Message
Nélio Laranjeiro
June 18, 2018, 8:52 a.m. UTC
This series adds an easy and maintainable configuration version support for those two actions for 18.08 by using global variables in testpmd to store the necessary information for the tunnel encapsulation. Those variables are used in conjunction of RTE_FLOW_ACTION_{VXLAN,NVGRE}_ENCAP action to create easily the action for flows. A common way to use it: set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end set vxlan ipv6 4 4 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end set nvgre ipv4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end set nvgre ipv6 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end This also replace the proposal done by Mohammad Abdul Awal [1] which handles in a more complex way for the same work. Note this API has already a modification planned for 18.11 [2] thus those series should have a limited life for a single release. [1] https://dpdk.org/ml/archives/dev/2018-May/101403.html [2] https://dpdk.org/ml/archives/dev/2018-June/103485.html Changes in v2: - add default IPv6 values for NVGRE encapsulation. - replace VXLAN to NVGRE in comments concerning NVGRE layer. Nelio Laranjeiro (2): app/testpmd: add VXLAN encap/decap support app/testpmd: add NVGRE encap/decap support app/test-pmd/cmdline.c | 169 +++++++++++++ app/test-pmd/cmdline_flow.c | 248 ++++++++++++++++++++ app/test-pmd/testpmd.c | 28 +++ app/test-pmd/testpmd.h | 28 +++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 25 ++ 5 files changed, 498 insertions(+)
Comments
On 6/18/2018 9:52 AM, Nelio Laranjeiro wrote: > This series adds an easy and maintainable configuration version support for > those two actions for 18.08 by using global variables in testpmd to store the > necessary information for the tunnel encapsulation. Those variables are used > in conjunction of RTE_FLOW_ACTION_{VXLAN,NVGRE}_ENCAP action to create easily > the action for flows. > > A common way to use it: > > set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 > flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end > > set vxlan ipv6 4 4 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 > flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end > > set nvgre ipv4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 > flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end > > set nvgre ipv6 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 > flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end > > This also replace the proposal done by Mohammad Abdul Awal [1] which handles > in a more complex way for the same work. Hi Nelio, Is this set on top of mentioned set? If so shouldn't the set has the Awal's sign-off too? Are you replacing someone else patch with dropping his sign-off? > > Note this API has already a modification planned for 18.11 [2] thus those > series should have a limited life for a single release. > > [1] https://dpdk.org/ml/archives/dev/2018-May/101403.html > [2] https://dpdk.org/ml/archives/dev/2018-June/103485.html > > > Changes in v2: > > - add default IPv6 values for NVGRE encapsulation. > - replace VXLAN to NVGRE in comments concerning NVGRE layer. > > Nelio Laranjeiro (2): > app/testpmd: add VXLAN encap/decap support > app/testpmd: add NVGRE encap/decap support > > app/test-pmd/cmdline.c | 169 +++++++++++++ > app/test-pmd/cmdline_flow.c | 248 ++++++++++++++++++++ > app/test-pmd/testpmd.c | 28 +++ > app/test-pmd/testpmd.h | 28 +++ > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 25 ++ > 5 files changed, 498 insertions(+) >
On Mon, Jun 18, 2018 at 10:05:03AM +0100, Ferruh Yigit wrote: > On 6/18/2018 9:52 AM, Nelio Laranjeiro wrote: > > This series adds an easy and maintainable configuration version support for > > those two actions for 18.08 by using global variables in testpmd to store the > > necessary information for the tunnel encapsulation. Those variables are used > > in conjunction of RTE_FLOW_ACTION_{VXLAN,NVGRE}_ENCAP action to create easily > > the action for flows. > > > > A common way to use it: > > > > set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 > > flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end > > > > set vxlan ipv6 4 4 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 > > flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end > > > > set nvgre ipv4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 > > flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end > > > > set nvgre ipv6 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 > > flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end > > > > This also replace the proposal done by Mohammad Abdul Awal [1] which handles > > in a more complex way for the same work. > > Hi Nelio, > > Is this set on top of mentioned set? Hi Ferruh, No it is another implementation of Declan's API. It can be directly applied on top of the current DPDK code without any other patch. > If so shouldn't the set has the Awal's sign-off too? > Are you replacing someone else patch with dropping his sign-off? > > > Note this API has already a modification planned for 18.11 [2] thus those > > series should have a limited life for a single release. > > > > [1] https://dpdk.org/ml/archives/dev/2018-May/101403.html > > [2] https://dpdk.org/ml/archives/dev/2018-June/103485.html > > > > > > Changes in v2: > > > > - add default IPv6 values for NVGRE encapsulation. > > - replace VXLAN to NVGRE in comments concerning NVGRE layer. > > > > Nelio Laranjeiro (2): > > app/testpmd: add VXLAN encap/decap support > > app/testpmd: add NVGRE encap/decap support > > > > app/test-pmd/cmdline.c | 169 +++++++++++++ > > app/test-pmd/cmdline_flow.c | 248 ++++++++++++++++++++ > > app/test-pmd/testpmd.c | 28 +++ > > app/test-pmd/testpmd.h | 28 +++ > > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 25 ++ > > 5 files changed, 498 insertions(+)
On 6/18/2018 10:38 AM, Nélio Laranjeiro wrote: > On Mon, Jun 18, 2018 at 10:05:03AM +0100, Ferruh Yigit wrote: >> On 6/18/2018 9:52 AM, Nelio Laranjeiro wrote: >>> This series adds an easy and maintainable configuration version support for >>> those two actions for 18.08 by using global variables in testpmd to store the >>> necessary information for the tunnel encapsulation. Those variables are used >>> in conjunction of RTE_FLOW_ACTION_{VXLAN,NVGRE}_ENCAP action to create easily >>> the action for flows. >>> >>> A common way to use it: >>> >>> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 >>> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end >>> >>> set vxlan ipv6 4 4 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 >>> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end >>> >>> set nvgre ipv4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 >>> flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end >>> >>> set nvgre ipv6 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 >>> flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end >>> >>> This also replace the proposal done by Mohammad Abdul Awal [1] which handles >>> in a more complex way for the same work. >> >> Hi Nelio, >> >> Is this set on top of mentioned set? > > Hi Ferruh, > > No it is another implementation of Declan's API. It can be directly > applied on top of the current DPDK code without any other patch. I mean "based on" more than "on top of". So if this code is based on referenced patchset, I believe it should keep original sign-off. If this code is completely new implementation that replaces referenced patchset, I believe it would be nice to comment on the original patch or communicate about it instead of just sending another set to replace original one. > >> If so shouldn't the set has the Awal's sign-off too? >> Are you replacing someone else patch with dropping his sign-off? >> >>> Note this API has already a modification planned for 18.11 [2] thus those >>> series should have a limited life for a single release. >>> >>> [1] https://dpdk.org/ml/archives/dev/2018-May/101403.html >>> [2] https://dpdk.org/ml/archives/dev/2018-June/103485.html >>> >>> >>> Changes in v2: >>> >>> - add default IPv6 values for NVGRE encapsulation. >>> - replace VXLAN to NVGRE in comments concerning NVGRE layer. >>> >>> Nelio Laranjeiro (2): >>> app/testpmd: add VXLAN encap/decap support >>> app/testpmd: add NVGRE encap/decap support >>> >>> app/test-pmd/cmdline.c | 169 +++++++++++++ >>> app/test-pmd/cmdline_flow.c | 248 ++++++++++++++++++++ >>> app/test-pmd/testpmd.c | 28 +++ >>> app/test-pmd/testpmd.h | 28 +++ >>> doc/guides/testpmd_app_ug/testpmd_funcs.rst | 25 ++ >>> 5 files changed, 498 insertions(+) >
On Mon, Jun 18, 2018 at 03:40:53PM +0100, Ferruh Yigit wrote: > On 6/18/2018 10:38 AM, Nélio Laranjeiro wrote: > > On Mon, Jun 18, 2018 at 10:05:03AM +0100, Ferruh Yigit wrote: > >> On 6/18/2018 9:52 AM, Nelio Laranjeiro wrote: > >>> This series adds an easy and maintainable configuration version support for > >>> those two actions for 18.08 by using global variables in testpmd to store the > >>> necessary information for the tunnel encapsulation. Those variables are used > >>> in conjunction of RTE_FLOW_ACTION_{VXLAN,NVGRE}_ENCAP action to create easily > >>> the action for flows. > >>> > >>> A common way to use it: > >>> > >>> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 > >>> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end > >>> > >>> set vxlan ipv6 4 4 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 > >>> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end > >>> > >>> set nvgre ipv4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22 > >>> flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end > >>> > >>> set nvgre ipv6 4 ::1 ::2222 11:11:11:11:11:11 22:22:22:22:22:22 > >>> flow create 0 ingress pattern end actions nvgre_encap / queue index 0 / end > >>> > >>> This also replace the proposal done by Mohammad Abdul Awal [1] which handles > >>> in a more complex way for the same work. > >> > >> Hi Nelio, > >> > >> Is this set on top of mentioned set? > > > > Hi Ferruh, > > > > No it is another implementation of Declan's API. It can be directly > > applied on top of the current DPDK code without any other patch. > > I mean "based on" more than "on top of". So if this code is based on referenced > patchset, I believe it should keep original sign-off. > > If this code is completely new implementation that replaces referenced patchset, > I believe it would be nice to comment on the original patch or communicate about > it instead of just sending another set to replace original one. Hi Ferruh, I agree with your point of view but my intention was to show how hard for an application it will be to implement such actions (as mentioned by Adrien [1][2]) whereas Mohammad has made the implementation for the testpmd command line interactive mode. That is also the reason why I've copied Mohammad at the first place in my series. Note that such implementation request has been made by Thomas [3] even with it, it has entered DPDK without it. I did not comment on his series because I don't have any reason to block it, if his series enters, mine just won't I also agree with that, there is no need to have both implementation in DPDK, but it worse to show how an application may have to deal with such actions. > >> If so shouldn't the set has the Awal's sign-off too? > >> Are you replacing someone else patch with dropping his sign-off? > >> > >>> Note this API has already a modification planned for 18.11 [2] thus those > >>> series should have a limited life for a single release. > >>> > >>> [1] https://dpdk.org/ml/archives/dev/2018-May/101403.html > >>> [2] https://dpdk.org/ml/archives/dev/2018-June/103485.html > >>> > >>> > >>> Changes in v2: > >>> > >>> - add default IPv6 values for NVGRE encapsulation. > >>> - replace VXLAN to NVGRE in comments concerning NVGRE layer. > >>> > >>> Nelio Laranjeiro (2): > >>> app/testpmd: add VXLAN encap/decap support > >>> app/testpmd: add NVGRE encap/decap support > >>> > >>> app/test-pmd/cmdline.c | 169 +++++++++++++ > >>> app/test-pmd/cmdline_flow.c | 248 ++++++++++++++++++++ > >>> app/test-pmd/testpmd.c | 28 +++ > >>> app/test-pmd/testpmd.h | 28 +++ > >>> doc/guides/testpmd_app_ug/testpmd_funcs.rst | 25 ++ > >>> 5 files changed, 498 insertions(+) > > > Regards, [1] https://mails.dpdk.org/archives/dev/2018-April/095945.html [2] https://mails.dpdk.org/archives/dev/2018-April/098124.html [3] https://mails.dpdk.org/archives/dev/2018-April/099799.html