34 .name =
"device-input",
37 .
state = VLIB_NODE_STATE_DISABLED,
67 .arc_name =
"device-input",
69 .last_in_arc =
"ethernet-input",
74 .arc_name =
"device-input",
75 .node_name =
"l2-patch",
80 .arc_name =
"device-input",
81 .node_name =
"worker-handoff",
86 .arc_name =
"device-input",
87 .node_name =
"span-input",
92 .arc_name =
"device-input",
93 .node_name =
"p2p-ethernet-input",
98 .arc_name =
"device-input",
99 .node_name =
"ethernet-input",
117 if (tr && tr->
count > 0)
static clib_error_t * vnet_device_init(vlib_main_t *vm)
uword first_worker_thread_index
const u32 device_input_next_node_advance[((VNET_DEVICE_INPUT_N_NEXT_NODES/CLIB_CACHE_LINE_BYTES)+1) *CLIB_CACHE_LINE_BYTES]
vlib_main_t vlib_node_runtime_t vlib_frame_t * frame
vnet_device_per_worker_data_t * workers
uword next_worker_thread_index
#define vec_validate_aligned(V, I, A)
Make sure vector is long enough for given index (no header, specified alignment)
uword last_worker_thread_index
#define VLIB_INIT_FUNCTION(x)
static uword device_input_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
vl_api_fib_path_type_t type
const u32 device_input_next_node_flags[((VNET_DEVICE_INPUT_N_NEXT_NODES/CLIB_CACHE_LINE_BYTES)+1) *CLIB_CACHE_LINE_BYTES]
#define VNET_DEVICE_INPUT_NEXT_NODES
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
#define VLIB_REGISTER_NODE(x,...)
vnet_feature_main_t feature_main
uword * thread_registrations_by_name
#define VNET_FEATURES(...)
u8 device_input_feature_arc_index
Feature arc index for device-input.
VNET_FEATURE_INIT(l2_patch, static)
vlib_main_t vlib_node_runtime_t * node
VNET_FEATURE_ARC_INIT(device_input, static)
#define hash_get_mem(h, key)
static vlib_thread_main_t * vlib_get_thread_main()
vl_api_dhcp_client_state_t state
#define CLIB_CACHE_LINE_BYTES
vnet_device_main_t vnet_device_main
vlib_node_registration_t device_input_node
(constructor) VLIB_REGISTER_NODE (device_input_node)