Hi, 2016-11-23 18:36, Tomasz Kulasek: > --- a/config/common_base > +++ b/config/common_base > @@ -120,6 +120,7 @@ CONFIG_RTE_MAX_QUEUES_PER_PORT=1024 > CONFIG_RTE_LIBRTE_IEEE1588=n > CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=16 > CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y > +CONFIG_RTE_ETHDEV_TX_PREPARE=y
Please, remind me why is there a configuration here. It should be the responsibility of the application to call tx_prepare or not. If the application choose to use this new API but it is disabled, then the packets won't be prepared and there is no error code: > +#else > + > +static inline uint16_t > +rte_eth_tx_prepare(__rte_unused uint8_t port_id, __rte_unused uint16_t > queue_id, > + __rte_unused struct rte_mbuf **tx_pkts, uint16_t nb_pkts) > +{ > + return nb_pkts; > +} > + > +#endif So the application is not aware of the issue and it will not use any fallback.