Dmitry Eremin-Solenikov(lumag) replied on github web page: platform/linux-generic/pktio/dpdk.c line 39 @@ -1135,6 +1135,13 @@ static void dpdk_init_capability(pktio_entry_t *pktio_entry, rte_eth_dev_info_get(pkt_dpdk->port_id, dev_info); capa->max_input_queues = RTE_MIN(dev_info->max_rx_queues, PKTIO_MAX_QUEUES); + + /* ixgbe devices support only 16 rx queues in RSS mode */ + if (!strncmp(dev_info->driver_name, IXGBE_DRV_NAME, + strlen(IXGBE_DRV_NAME))) + capa->max_input_queues = RTE_MIN((unsigned)16, + capa->max_input_queues); +
Comment: It looks like this should be fixed inside DPDK rather than here. > Bill Fischofer(Bill-Fischofer-Linaro) wrote: > Presumably these drivers have a way of flushing short bursts? If the > `min_rx_burst` is 4 and the other side sends an odd number of packets, > presumably the receiver application isn't left hanging forever waiting for > the rest of a burst that will never arrive? >> Bill Fischofer(Bill-Fischofer-Linaro) wrote: >> Wouldn't it be simpler (and more extensible) to have `min_rx_burst` as a >> field in the `dev_info` struct? >>> nagarahalli wrote >>> 'min_rx_burst' should be added to the capability as it is a restriction >>> from the device. The application should adjust the 'num' according to the >>> capability it reads from the pkt I/O. https://github.com/Linaro/odp/pull/287#discussion_r149740879 updated_at 2017-11-08 17:32:39