On 08.12.2019 14:22, Eli Britstein wrote: > Introduce a rte flow query function as a pre-step towards reading HW > statistics of fully offloaded flows. > > Signed-off-by: Eli Britstein <el...@mellanox.com> > Reviewed-by: Oz Shlomo <o...@mellanox.com> > --- > lib/netdev-dpdk.c | 25 +++++++++++++++++++++++++ > lib/netdev-dpdk.h | 6 ++++++ > 2 files changed, 31 insertions(+) > > diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c > index da1349b69..e63a496c1 100644 > --- a/lib/netdev-dpdk.c > +++ b/lib/netdev-dpdk.c > @@ -4737,6 +4737,31 @@ netdev_dpdk_rte_flow_create(struct netdev *netdev, > return flow; > } > > +int > +netdev_dpdk_rte_flow_query(struct netdev *netdev,
Shouldn't it be named netdev_dpdk_rte_flow_query_count() ? > + struct rte_flow *rte_flow, > + struct rte_flow_query_count *query, > + struct rte_flow_error *error) > +{ > + struct netdev_dpdk *dev = netdev_dpdk_cast(netdev); > + struct rte_flow_action_count count = {}; > + const struct rte_flow_action actions[] = { > + { > + .type = RTE_FLOW_ACTION_TYPE_COUNT, > + .conf = &count, > + }, > + { > + .type = RTE_FLOW_ACTION_TYPE_END, > + }, > + }; > + int ret; > + > + ovs_mutex_lock(&dev->mutex); > + ret = rte_flow_query(dev->port_id, rte_flow, actions, query, error); > + ovs_mutex_unlock(&dev->mutex); > + return ret; > +} > + > #define NETDEV_DPDK_CLASS_COMMON \ > .is_pmd = true, \ > .alloc = netdev_dpdk_alloc, \ > diff --git a/lib/netdev-dpdk.h b/lib/netdev-dpdk.h > index 60631c4f0..ed7cb235a 100644 > --- a/lib/netdev-dpdk.h > +++ b/lib/netdev-dpdk.h > @@ -31,6 +31,7 @@ struct rte_flow_error; > struct rte_flow_attr; > struct rte_flow_item; > struct rte_flow_action; > +struct rte_flow_query_count; > > void netdev_dpdk_register(void); > void free_dpdk_buf(struct dp_packet *); > @@ -47,6 +48,11 @@ netdev_dpdk_rte_flow_create(struct netdev *netdev, > const struct rte_flow_item *items, > const struct rte_flow_action *actions, > struct rte_flow_error *error); > +int > +netdev_dpdk_rte_flow_query(struct netdev *netdev, > + struct rte_flow *rte_flow, > + struct rte_flow_query_count *query, > + struct rte_flow_error *error); > > #else > > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev