mbox series

[ovs-dev,v2,0/6] Adding support for multiple destinations

Message ID 20210823160140.12788-1-salems@nvidia.com
Headers show
Series Adding support for multiple destinations | expand

Message

Salem Sol Aug. 23, 2021, 4:01 p.m. UTC
This series adds support offloading multiple "output"/"clone" actions within one datapath flow.

Some cases which require sending a packet to multiple destinations is not currently offloaded,
HWOL can be done by translating the fate actions "output" and "clone" into rte_flow_action_sample actions
with ratio=1, this means 100% of the traffic will be mirrored.

Such datapath rules can be offloaded by embedding each non-last output/clone
action into an RTE_FLOW_ACTION_TYPE_SAMPLE with ratio=1.

Currently there are two types on mutiple destination outputs, forward to port (local), or 
encapsulate a packet and forward to a remote server (remote). Add support for those cases
by having the sample action be either RTE_FLOW_ACTION_TYPE_PORT_ID for local destinations, or
RTE_FLOW_ACTION_TYPE_RAW_ENCAP for remote destinations.

This patch is a rebased version of [1].

*V2: 
    - Fix build issues due to a missing patch in V1.
    - Link to Github Actions with a passing build for this series [2].

[1] https://patchwork.ozlabs.org/project/openvswitch/list/?series=246448
[2] https://github.com/salemsol/ovs/actions/runs/1157741203

Noa Levy (6):
  netdev-offload-dpdk: Introduce a get_netdev_by_port helper function
  netdev-offload-dpdk: Introduce a dump_port_id helper function
  netdev-offload-dpdk: Introduce a dump_raw_encap helper function
  netdev-offload-dpdk: Support multiple local destinations
  netdev-offload-dpdk: Extract raw_encap and output netdev by
    parse_clone_actions
  netdev-offload-dpdk: Support multiple remote destinations

 NEWS                      |   2 +
 lib/netdev-offload-dpdk.c | 268 ++++++++++++++++++++++++++++++--------
 2 files changed, 215 insertions(+), 55 deletions(-)

Comments

Simon Horman Oct. 10, 2023, 12:48 p.m. UTC | #1
On Mon, Aug 23, 2021 at 07:01:34PM +0300, Salem Sol via dev wrote:
> This series adds support offloading multiple "output"/"clone" actions within one datapath flow.
> 
> Some cases which require sending a packet to multiple destinations is not currently offloaded,
> HWOL can be done by translating the fate actions "output" and "clone" into rte_flow_action_sample actions
> with ratio=1, this means 100% of the traffic will be mirrored.
> 
> Such datapath rules can be offloaded by embedding each non-last output/clone
> action into an RTE_FLOW_ACTION_TYPE_SAMPLE with ratio=1.
> 
> Currently there are two types on mutiple destination outputs, forward to port (local), or 
> encapsulate a packet and forward to a remote server (remote). Add support for those cases
> by having the sample action be either RTE_FLOW_ACTION_TYPE_PORT_ID for local destinations, or
> RTE_FLOW_ACTION_TYPE_RAW_ENCAP for remote destinations.
> 
> This patch is a rebased version of [1].
> 
> *V2: 
>     - Fix build issues due to a missing patch in V1.
>     - Link to Github Actions with a passing build for this series [2].
> 
> [1] https://patchwork.ozlabs.org/project/openvswitch/list/?series=246448
> [2] https://github.com/salemsol/ovs/actions/runs/1157741203
> 
> Noa Levy (6):
>   netdev-offload-dpdk: Introduce a get_netdev_by_port helper function
>   netdev-offload-dpdk: Introduce a dump_port_id helper function
>   netdev-offload-dpdk: Introduce a dump_raw_encap helper function
>   netdev-offload-dpdk: Support multiple local destinations
>   netdev-offload-dpdk: Extract raw_encap and output netdev by
>     parse_clone_actions
>   netdev-offload-dpdk: Support multiple remote destinations
> 
>  NEWS                      |   2 +
>  lib/netdev-offload-dpdk.c | 268 ++++++++++++++++++++++++++++++--------
>  2 files changed, 215 insertions(+), 55 deletions(-)

Hi Salem,

This patch-set appears to have gone stale in patchwork, for one reason or
another. If it is still relevant then I think it needs to be revisited,
by being reposted after appropriate preparation.

As such I'm marking this patch-set as "Deferred" in patchwork.

No action is required unless there is a desire to revisit this patch-set.