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(-)
--
2.21.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev