<...>
> @@ -3994,7 +4054,55 @@ void *
> rte_eth_dev_get_sec_ctx(uint16_t port_id);
>
>
> -#include <rte_ethdev_core.h>
> +struct rte_eth_dev_callback;
> +/** Structure to keep track of registered callbacks */
> +TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback);
> +
> +/**
> + * Structure used to hold information about the callbacks to be called for a
> + * queue on RX and TX.
> + */
> +struct rte_eth_rxtx_callback {
> + struct rte_eth_rxtx_callback *next;
> + union{
> + rte_rx_callback_fn rx;
> + rte_tx_callback_fn tx;
> + } fn;
> + void *param;
> +};
> +
> +/**
> + * The generic data structure associated with each ethernet device.
> + *
> + * Pointers to burst-oriented packet receive and transmit functions are
> + * located at the beginning of the structure, along with the pointer to
> + * where all the data elements for the particular device are stored in shared
> + * memory. This split allows the function pointer and driver data to be per-
> + * process, while the actual configuration data for the device is shared.
> + */
I would like to raise one more concern (maybe not the smartest thing to do
involving my own patch, but I will sleep better when this is resolved).
Does anyone know what the author of this comment had in mind? I could not find
any code that utilizes this split, and this patch clearly breaks it. If it is
obsolete, I guess this comment could be removed.