[ovs-dev] [PATCH V2 00/14] Netdev vxlan-decap offload

Pai G, Sunil sunil.pai.g at intel.com
Thu Feb 18 13:41:56 UTC 2021


Sending to Marko. As he wasn't subscribed to ovs-dev then.

> -----Original Message-----
> From: dev <ovs-dev-bounces at openvswitch.org> On Behalf Of Eli Britstein
> Sent: Wednesday, February 10, 2021 8:57 PM
> To: dev at openvswitch.org; Ilya Maximets <i.maximets at ovn.org>
> Cc: Eli Britstein <elibr at nvidia.com>; Ameer Mahagneh
> <ameerm at nvidia.com>; Majd Dibbiny <majd at nvidia.com>; Gaetan Rivet
> <gaetanr at nvidia.com>
> Subject: [ovs-dev] [PATCH V2 00/14] Netdev vxlan-decap offload
> 
> VXLAN decap in OVS-DPDK configuration consists of two flows:
> F1: in_port(ens1f0),eth(),ipv4(),udp(), actions:tnl_pop(vxlan_sys_4789)
> F2: tunnel(),in_port(vxlan_sys_4789),eth(),ipv4(), actions:ens1f0_0
> 
> F1 is a classification flow. It has outer headers matches and it classifies the
> packet as a VXLAN packet, and using tnl_pop action the packet continues
> processing in F2.
> F2 is a flow that has matches on tunnel metadata as well as on the inner
> packet headers (as any other flow).
> 
> In order to fully offload VXLAN decap path, both F1 and F2 should be
> offloaded. As there are more than one flow in HW, it is possible that
> F1 is done by HW but F2 is not. Packet is received by SW, and should be
> processed starting from F2 as F1 was already done by HW.
> Rte_flows are applicable only on physical port IDs. Keeping the original
> physical in port on which the packet is received on enables applying vport
> flows (e.g. F2) on that physical port.
> 
> This patch-set makes use of [1] introduced in DPDK 20.11, that adds API for
> tunnel offloads.
> 
> v2-v1:
> - Tracking original in_port, and applying vport on that physical port instead of
> all PFs.
> 
> Travis:
> v1: https://travis-ci.org/github/elibritstein/OVS/builds/756418552
> v2: https://travis-ci.org/github/elibritstein/OVS/builds/758382963
> 
> GitHub Actions:
> v1: https://github.com/elibritstein/OVS/actions/runs/515334647
> v2: https://github.com/elibritstein/OVS/actions/runs/554986007
> 
> [1] https://mails.dpdk.org/archives/dev/2020-October/187314.html
> 
> Eli Britstein (11):
>   netdev-offload: Add HW miss packet state recover API
>   netdev-dpdk: Introduce DPDK tunnel APIs
>   netdev-offload-dpdk: Implement flow dump create/destroy APIs
>   netdev-dpdk: Add flow_api support for netdev vxlan vports
>   netdev-offload-dpdk: Implement HW miss packet recover for vport
>   dpif-netdev: Add HW miss packet state recover logic
>   netdev-offload-dpdk: Change log rate limits
>   netdev-offload-dpdk: Support tunnel pop action
>   netdev-offload-dpdk: Refactor offload rule creation
>   netdev-offload-dpdk: Support vports flows offload
>   netdev-dpdk-offload: Add vxlan pattern matching function
> 
> Ilya Maximets (2):
>   netdev-offload: Allow offloading to netdev without ifindex.
>   netdev-offload: Disallow offloading to unrelated tunneling vports.
> 
> Sriharsha Basavapatna (1):
>   dpif-netdev: Provide orig_in_port in metadata for tunneled packets
> 
>  Documentation/howto/dpdk.rst  |   1 +
>  NEWS                          |   2 +
>  lib/dpif-netdev.c             |  69 ++--
>  lib/netdev-dpdk.c             | 118 ++++++
>  lib/netdev-dpdk.h             | 102 ++++-
>  lib/netdev-offload-dpdk.c     | 706 +++++++++++++++++++++++++++++-----
>  lib/netdev-offload-provider.h |   5 +
>  lib/netdev-offload-tc.c       |   8 +
>  lib/netdev-offload.c          |  29 +-
>  lib/netdev-offload.h          |   2 +
>  lib/packets.h                 |   8 +-
>  11 files changed, 921 insertions(+), 129 deletions(-)
> 
> --
> 2.28.0.546.g385c171
> 
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev


More information about the dev mailing list