|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
23 u32 queue_id,
u32 thread_idnex);
78 pv =
rt->rxq_vector_poll;
110 return 2 * (
a[0]->thread_index >
b[0]->thread_index) - 1;
119 if (
a[0]->hw_if_index !=
b[0]->hw_if_index)
120 return 2 * (
a[0]->hw_if_index >
b[0]->hw_if_index) - 1;
122 if (
a[0]->queue_id !=
b[0]->queue_id)
123 return 2 * (
a[0]->queue_id >
b[0]->queue_id) - 1;
vnet_interface_main_t * im
@ VNET_HW_IF_RX_MODE_ADAPTIVE
static void * vlib_node_get_runtime_data(vlib_main_t *vm, u32 node_index)
Get node runtime private data by node index.
static_always_inline int vnet_hw_if_rxq_cmp_cli_api(vnet_hw_if_rx_queue_t **a, vnet_hw_if_rx_queue_t **b)
static_always_inline u8 vnet_hw_if_get_rx_queue_numa_node(vnet_main_t *vnm, u32 queue_index)
static_always_inline vnet_hw_if_rx_queue_t * vnet_hw_if_get_rx_queue(vnet_main_t *vnm, u32 queue_index)
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
vnet_hw_if_rx_mode vnet_hw_if_get_rx_queue_mode(vnet_main_t *vnm, u32 queue_index)
vlib_main_t vlib_node_runtime_t * node
vl_api_tunnel_mode_t mode
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
static_always_inline void clib_interrupt_set_atomic(void *in, int int_num)
#define VLIB_NODE_FLAG_ADAPTIVE_MODE
int vnet_hw_if_set_rx_queue_mode(vnet_main_t *vnm, u32 queue_index, vnet_hw_if_rx_mode mode)
vnet_hw_if_rx_queue_t * hw_if_rx_queues
#define pool_is_free_index(P, I)
Use free bitmap to query whether given index is free.
u32 vnet_hw_if_register_rx_queue(vnet_main_t *vnm, u32 hw_if_index, u32 queue_id, u32 thread_idnex)
static vnet_hw_interface_t * vnet_get_hw_interface(vnet_main_t *vnm, u32 hw_if_index)
vnet_main_t * vnet_get_main(void)
void vnet_hw_if_unregister_all_rx_queues(vnet_main_t *vnm, u32 hw_if_index)
#define static_always_inline
if(node->flags &VLIB_NODE_FLAG_TRACE) vnet_interface_output_trace(vm
static_always_inline void clib_interrupt_set(void *in, int int_num)
@ VNET_HW_IF_RX_MODE_INTERRUPT
u32 vnet_hw_if_get_rx_queue_index_by_id(vnet_main_t *vnm, u32 hw_if_index, u32 queue_id)
static_always_inline void vnet_hw_if_rx_queue_set_int_pending(vnet_main_t *vnm, u32 queue_index)
void vnet_hw_if_set_input_node(vnet_main_t *vnm, u32 hw_if_index, u32 node_index)
void vnet_hw_if_set_rx_queue_file_index(vnet_main_t *vnm, u32 queue_index, u32 file_index)
static void vlib_node_set_interrupt_pending(vlib_main_t *vm, u32 node_index)
static vlib_main_t * vlib_get_main_by_index(u32 thread_index)
static_always_inline vnet_hw_if_rxq_poll_vector_t * vnet_hw_if_get_rxq_poll_vector(vlib_main_t *vm, vlib_node_runtime_t *node)
vnet_hw_if_rxq_poll_vector_t * vnet_hw_if_generate_rxq_int_poll_vector(vlib_main_t *vm, vlib_node_runtime_t *node)
static vlib_main_t * vlib_get_main(void)
vnet_interface_output_runtime_t * rt
void vnet_hw_if_unregister_rx_queue(vnet_main_t *vnm, u32 queue_index)
void vnet_hw_if_set_rx_queue_thread_index(vnet_main_t *vnm, u32 queue_index, u32 thread_index)
static_always_inline u32 vnet_hw_if_get_rx_queue_thread_index(vnet_main_t *vnm, u32 queue_index)
vnet_interface_main_t interface_main