On 6/6/23 13:35, Ivan Malov wrote: > Action PORT_ID has been deprecated. Use REPRESENTED_PORT instead.
AFAICT, not all drivers moved to a REPRESENTED_PORT action. I don't see support in NFP driver, for example. Are we OK with dropping hardware offload support for NFP ? Or are there plans to support this new action in that driver? Simon, maybe you have some visibility on that? Best regards, Ilya Maximets. > > Signed-off-by: Ivan Malov <[email protected]> > --- > lib/netdev-offload-dpdk.c | 31 +++++++++++++++++-------------- > 1 file changed, 17 insertions(+), 14 deletions(-) > > diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c > index 14bc87771..ef0a266c5 100644 > --- a/lib/netdev-offload-dpdk.c > +++ b/lib/netdev-offload-dpdk.c > @@ -735,14 +735,14 @@ dump_flow_action(struct ds *s, struct ds *s_extra, > ds_put_cstr(s, "rss / "); > } else if (actions->type == RTE_FLOW_ACTION_TYPE_COUNT) { > ds_put_cstr(s, "count / "); > - } else if (actions->type == RTE_FLOW_ACTION_TYPE_PORT_ID) { > - const struct rte_flow_action_port_id *port_id = actions->conf; > + } else if (actions->type == RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT) { > + const struct rte_flow_action_ethdev *ethdev = actions->conf; > + > + ds_put_cstr(s, "represented_port "); > + > + if (ethdev) > + ds_put_format(s, "ethdev_port_id %d ", ethdev->port_id); > > - ds_put_cstr(s, "port_id "); > - if (port_id) { > - ds_put_format(s, "original %d id %d ", > - port_id->original, port_id->id); > - } > ds_put_cstr(s, "/ "); > } else if (actions->type == RTE_FLOW_ACTION_TYPE_DROP) { > ds_put_cstr(s, "drop / "); > @@ -1776,19 +1776,22 @@ add_count_action(struct flow_actions *actions) > } > > static int > -add_port_id_action(struct flow_actions *actions, > - struct netdev *outdev) > +add_represented_port_action(struct flow_actions *actions, > + struct netdev *outdev) > { > - struct rte_flow_action_port_id *port_id; > + struct rte_flow_action_ethdev *ethdev; > int outdev_id; > > outdev_id = netdev_dpdk_get_port_id(outdev); > if (outdev_id < 0) { > return -1; > } > - port_id = xzalloc(sizeof *port_id); > - port_id->id = outdev_id; > - add_flow_action(actions, RTE_FLOW_ACTION_TYPE_PORT_ID, port_id); > + > + ethdev = xzalloc(sizeof *ethdev); > + ethdev->port_id = outdev_id; > + > + add_flow_action(actions, RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT, ethdev); > + > return 0; > } > > @@ -1808,7 +1811,7 @@ add_output_action(struct netdev *netdev, > return -1; > } > if (!netdev_flow_api_equals(netdev, outdev) || > - add_port_id_action(actions, outdev)) { > + add_represented_port_action(actions, outdev)) { > VLOG_DBG_RL(&rl, "%s: Output to port \'%s\' cannot be offloaded.", > netdev_get_name(netdev), netdev_get_name(outdev)); > ret = -1; _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
