[dpdk-dev] [PATCH v8 0/2] app/testpmd implement VXLAN/NVGRE Encap/Decap

Mohammad Abdul Awal mohammad.abdul.awal at intel.com
Thu Jul 5 16:57:51 CEST 2018



On 05/07/2018 15:33, 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 ip-version ipv4 vni 4 udp-src 4 udp-dst 4 ip-src 27.0.0.1
>          ip-dst 128.0.0.1 eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22
>   flow create 0 ingress pattern end actions vxlan_encap /
>          queue index 0 / end
>
>   set vxlan-with-vlan ip-version ipv4 vni 4 udp-src 4 udp-dst 4 p-src
>           127.0.0.1 ip-dst 128.0.0.1 vlan-tci 34 eth-src 11:11:11:11:11:11
>           eth-dst 22:22:22:22:22:22
>   flow create 0 ingress pattern end actions vxlan_encap /
>           queue index 0 / end
>
>   set vxlan ip-version ipv6 vni 4 udp-src 4 udp-dst 4 ip-src ::1
>          ip-dst ::2222 eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22
>   flow create 0 ingress pattern end actions vxlan_encap /
>           queue index 0 / end
>
>   set vxlan-with-vlan ip-version ipv6 vni 4 udp-src 4 udp-dst 4
>           ip-src ::1 ip-dst ::2222 vlan-tci 34 eth-src 11:11:11:11:11:11
>           eth-dst 22:22:22:22:22:22
>   flow create 0 ingress pattern end actions vxlan_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 v8:
>
> - add static tokens in the command line to be user friendly.
>
> Changes in v7:
>
> - add missing documentation added in v5 and removed in v6 by mistake.
>
> Changes in v6:
>
> - fix compilation under redhat 7.5 with gcc 4.8.5 20150623
>
> Changes in v5:
>
> - fix documentation generation.
> - add more explanation on how to generate several encapsulated flows.
>
> Changes in v4:
>
> - fix big endian issue on vni and tni.
> - add samples to the documentation.
> - set the VXLAN UDP source port to 0 by default to let the driver generate it
>    from the inner hash as described in the RFC 7348.
> - use default rte flow mask for each item.
>
> Changes in v3:
>
> - support VLAN in the outer encapsulation.
> - fix the documentation with missing arguments.
>
> 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                      | 345 ++++++++++++++++++++
>   app/test-pmd/cmdline_flow.c                 | 274 ++++++++++++++++
>   app/test-pmd/testpmd.c                      |  32 ++
>   app/test-pmd/testpmd.h                      |  32 ++
>   doc/guides/testpmd_app_ug/testpmd_funcs.rst | 107 ++++++
>   5 files changed, 790 insertions(+)
>

Looks good to me.

Tested-by: Mohammad Abdul Awal <mohammad.abdul.awal at intel.com>
Acked-by: Mohammad Abdul Awal <mohammad.abdul.awal at intel.com>


More information about the dev mailing list