> vhost ports are not DPDK eth ports and has no rte_flow API. > Stop calling this API with DPDK_ETH_PORT_ID_INVALID to avoid time wasting > and errors in log. > > Additionally, DPDK_FLOW_OFFLOAD_API definition moved to .c file, because > there is no need to expose it in header.
Adding Ophir and Tiago as they are both looking at the HWOL work at the moment. > > CC: Finn Christensen <[email protected]> > Fixes: e8a2b5bf92bb ("netdev-dpdk: implement flow offload with rte flow") > Signed-off-by: Ilya Maximets <[email protected]> > --- > lib/netdev-dpdk.c | 10 +++++++--- > lib/netdev-dpdk.h | 4 ---- > 2 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index > f91aa27cd..7fe5eb087 100644 > --- a/lib/netdev-dpdk.c > +++ b/lib/netdev-dpdk.c > @@ -4696,6 +4696,10 @@ netdev_dpdk_flow_del(struct netdev *netdev, const > ovs_u128 *ufid, > ufid, rte_flow); } > > +#define DPDK_FLOW_OFFLOAD_API \ > + .flow_put = netdev_dpdk_flow_put, \ > + .flow_del = netdev_dpdk_flow_del > + > #define NETDEV_DPDK_CLASS_COMMON \ > .is_pmd = true, \ > .alloc = netdev_dpdk_alloc, \ > @@ -4717,8 +4721,7 @@ netdev_dpdk_flow_del(struct netdev *netdev, const > ovs_u128 *ufid, > .rxq_alloc = netdev_dpdk_rxq_alloc, \ > .rxq_construct = netdev_dpdk_rxq_construct, \ > .rxq_destruct = netdev_dpdk_rxq_destruct, \ > - .rxq_dealloc = netdev_dpdk_rxq_dealloc, \ > - DPDK_FLOW_OFFLOAD_API > + .rxq_dealloc = netdev_dpdk_rxq_dealloc > > #define NETDEV_DPDK_CLASS_BASE \ > NETDEV_DPDK_CLASS_COMMON, \ > @@ -4731,7 +4734,8 @@ netdev_dpdk_flow_del(struct netdev *netdev, const > ovs_u128 *ufid, > .get_features = netdev_dpdk_get_features, \ > .get_status = netdev_dpdk_get_status, \ > .reconfigure = netdev_dpdk_reconfigure, \ > - .rxq_recv = netdev_dpdk_rxq_recv > + .rxq_recv = netdev_dpdk_rxq_recv, \ > + DPDK_FLOW_OFFLOAD_API > > static const struct netdev_class dpdk_class = { > .type = "dpdk", > diff --git a/lib/netdev-dpdk.h b/lib/netdev-dpdk.h index > cc0501d68..b7d02a77d 100644 > --- a/lib/netdev-dpdk.h > +++ b/lib/netdev-dpdk.h > @@ -25,10 +25,6 @@ struct dp_packet; > > #ifdef DPDK_NETDEV > > -#define DPDK_FLOW_OFFLOAD_API \ > - .flow_put = netdev_dpdk_flow_put, \ > - .flow_del = netdev_dpdk_flow_del > - I believe the original reason for placing them here was to keep the approach uniform across the netdevs WRT where the APIs are defined. I believe the expectation is that they will be shared outside of netdev-dpdk at some point. That work in ongoing. https://mail.openvswitch.org/pipermail/ovs-dev/2018-August/350510.html We can remove it from mast but FYI it will be back I suspect. Ian > void netdev_dpdk_register(void); > void free_dpdk_buf(struct dp_packet *); > > -- > 2.17.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
