> -----Original Message-----
> From: Nikhil Rao [mailto:nikhil....@intel.com]
> Sent: Tuesday, September 12, 2017 17:59
> To: jerin.ja...@caviumnetworks.com; bruce.richard...@intel.com
> Cc: gage.e...@intel.com; dev@dpdk.org; tho...@monjalon.net;
> harry.van.haa...@intel.com; Hemant Agrawal <hemant.agra...@nxp.com>;
> Nipun Gupta <nipun.gu...@nxp.com>; narender.vang...@intel.com;
> erik.g.carri...@intel.com; abhinandan.guj...@intel.com; Nikhil Rao
> <nikhil....@intel.com>
> Subject: [PATCH v3 2/4] eventdev: Add eth Rx adapter caps callback to SW evdev
> 
> The SW event device always uses a EAL service function for packet
> transfer from the eth device to the event device, this function is
> capable of generating a event flow ID which is the IPv4/6 RSS hash.
> 
> The caps function returns RTE_EVENT_ETH_RX_ADAPTER_SW_CAP which is
> currently set to RTE_EVENT_ETH_RX_ADAPTER_CAP_FLOW_ID.
> 
> Signed-off-by: Nikhil Rao <nikhil....@intel.com>
> ---
>  lib/librte_eventdev/rte_eventdev_pmd.h |  6 ++++++
>  drivers/event/sw/sw_evdev.c            | 13 +++++++++++++
>  2 files changed, 19 insertions(+)
> 
> diff --git a/lib/librte_eventdev/rte_eventdev_pmd.h
> b/lib/librte_eventdev/rte_eventdev_pmd.h
> index 4cc9671..3cbc063 100644
> --- a/lib/librte_eventdev/rte_eventdev_pmd.h
> +++ b/lib/librte_eventdev/rte_eventdev_pmd.h
> @@ -83,6 +83,12 @@ extern "C" {
>       } \
>  } while (0)
> 
> +#define RTE_EVENT_ETH_RX_ADAPTER_SW_CAP \
> +             RTE_EVENT_ETH_RX_ADAPTER_CAP_FLOW_ID
> +/**< Ethernet Rx adapter cap to return If the packet transfers from
> + * the ethdev to eventdev use a SW service function
> + */

Hi Nikhil,

Maybe it makes more sense to have RTE_EVENT_ETH_RX_ADAPTER_SW_CAP #define in 
'sw_evdev.h' file?

Regards,
Nipun

> +
>  #define RTE_EVENTDEV_DETACHED  (0)
>  #define RTE_EVENTDEV_ATTACHED  (1)
> 
> diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
> index da6ac30..1344c17 100644
> --- a/drivers/event/sw/sw_evdev.c
> +++ b/drivers/event/sw/sw_evdev.c
> @@ -437,6 +437,17 @@ sw_dev_configure(const struct rte_eventdev *dev)
>       return 0;
>  }
> 
> +static int
> +sw_eth_rx_adapter_caps_get(const struct rte_eventdev *dev,
> +                     uint8_t eth_port_id,
> +                     uint32_t *caps)
> +{
> +     RTE_SET_USED(dev);
> +     RTE_SET_USED(eth_port_id);
> +     *caps = RTE_EVENT_ETH_RX_ADAPTER_SW_CAP;
> +     return 0;
> +}
> +
>  static void
>  sw_info_get(struct rte_eventdev *dev, struct rte_event_dev_info *info)
>  {
> @@ -751,6 +762,8 @@ sw_probe(struct rte_vdev_device *vdev)
>                       .port_link = sw_port_link,
>                       .port_unlink = sw_port_unlink,
> 
> +                     .eth_rx_adapter_caps_get =
> sw_eth_rx_adapter_caps_get,
> +
>                       .xstats_get = sw_xstats_get,
>                       .xstats_get_names = sw_xstats_get_names,
>                       .xstats_get_by_name = sw_xstats_get_by_name,
> --
> 2.7.4

Reply via email to