[dpdk-dev] [PATCH v3 2/4] eventdev: Add eth Rx adapter caps callback to SW evdev
Nipun Gupta
nipun.gupta at nxp.com
Wed Sep 13 15:36:56 CEST 2017
> -----Original Message-----
> From: Nikhil Rao [mailto:nikhil.rao at intel.com]
> Sent: Tuesday, September 12, 2017 17:59
> To: jerin.jacob at caviumnetworks.com; bruce.richardson at intel.com
> Cc: gage.eads at intel.com; dev at dpdk.org; thomas at monjalon.net;
> harry.van.haaren at intel.com; Hemant Agrawal <hemant.agrawal at nxp.com>;
> Nipun Gupta <nipun.gupta at nxp.com>; narender.vangati at intel.com;
> erik.g.carrillo at intel.com; abhinandan.gujjar at intel.com; Nikhil Rao
> <nikhil.rao at 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.rao at 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
More information about the dev
mailing list