40 #ifndef included_vnet_interface_funcs_h 41 #define included_vnet_interface_funcs_h 136 return ((
u8 *) p[0]);
147 u8 *oldtag = (
u8 *) p[0];
162 u8 *oldtag = (
u8 *) p[0];
211 u32 hw_if_index,
void *
ctx);
224 u32 hw_class_index,
u32 hw_instance);
232 u32 hw_if_index,
u32 node_index);
381 u32 new_hw_class_index);
388 u32 hw_class_index,
u32 hw_instance);
414 u32 thread_index,
u8 is_main);
426 u32 ip_sw_if_index,
u8 enable);
487 #define VNET_SIMULATED_ETHERNET_TX_NEXT_ETHERNET_INPUT VNET_INTERFACE_TX_N_NEXT 488 #define VNET_SIMULATED_ETHERNET_TX_NEXT_L2_INPUT (VNET_SIMULATED_ETHERNET_TX_NEXT_ETHERNET_INPUT + 1) unformat_function_t unformat_vnet_hw_interface
static uword vnet_sw_interface_is_up(vnet_main_t *vnm, u32 sw_if_index)
void vnet_set_interface_output_node(vnet_main_t *vnm, u32 hw_if_index, u32 node_index)
Set interface output node - for interface registered without its output/tx nodes created because its ...
format_function_t format_vnet_hw_if_rx_mode
void vnet_sw_interface_walk(vnet_main_t *vnm, vnet_sw_interface_walk_t fn, void *ctx)
Walk all the SW interfaces in the system.
clib_error_t * vnet_hw_interface_set_rss_queues(vnet_main_t *vnm, vnet_hw_interface_t *hi, clib_bitmap_t *bitmap)
format_function_t format_vnet_sw_interface
format_function_t format_vnet_hw_if_index_name
#define hash_set(h, key, value)
#define hash_unset(h, key)
vl_api_wireguard_peer_flags_t flags
void vnet_hw_interface_walk(vnet_main_t *vnm, vnet_hw_interface_walk_t fn, void *ctx)
Walk all the HW interface.
static vnet_hw_interface_t * vnet_get_sup_hw_interface(vnet_main_t *vnm, u32 sw_if_index)
void vnet_hw_interface_walk_sw(vnet_main_t *vnm, u32 hw_if_index, vnet_hw_sw_interface_walk_t fn, void *ctx)
Walk the SW interfaces on a HW interface - this is the super interface and any sub-interfaces.
clib_error_t * vnet_rename_interface(vnet_main_t *vnm, u32 hw_if_index, char *new_name)
vnet_interface_main_t interface_main
serialize_function_t serialize_vnet_interface_state
walk_rc_t(* vnet_hw_interface_walk_t)(vnet_main_t *vnm, u32 hw_if_index, void *ctx)
Call back walk type for walking all HW indices.
word vnet_sw_interface_compare(vnet_main_t *vnm, uword sw_if_index0, uword sw_if_index1)
static vnet_hw_interface_t * vnet_get_hw_interface(vnet_main_t *vnm, u32 hw_if_index)
static u32 vnet_hw_interface_get_mtu(vnet_main_t *vnm, u32 hw_if_index)
static void vnet_clear_sw_interface_tag(vnet_main_t *vnm, u32 sw_if_index)
word vnet_hw_interface_compare(vnet_main_t *vnm, uword hw_if_index0, uword hw_if_index1)
int vnet_sw_interface_is_nbma(vnet_main_t *vnm, u32 sw_if_index)
void() serialize_function_t(serialize_main_t *m, va_list *va)
static vnet_sw_interface_t * vnet_get_sw_interface(vnet_main_t *vnm, u32 sw_if_index)
static u32 vnet_sw_interface_get_mtu(vnet_main_t *vnm, u32 sw_if_index, vnet_mtu_t af)
unformat_function_t unformat_vnet_sw_interface
uword * interface_tag_by_sw_if_index
void vnet_sw_interface_admin_down(vnet_main_t *vnm, u32 sw_if_index)
void vnet_hw_interface_set_mtu(vnet_main_t *vnm, u32 hw_if_index, u32 mtu)
struct _vnet_device_class vnet_device_class_t
format_function_t format_vnet_sw_if_index_name
static uword vnet_sw_interface_is_link_up(vnet_main_t *vnm, u32 sw_if_index)
enum vnet_sw_interface_flags_t_ vnet_sw_interface_flags_t
static vnet_sw_interface_t * vnet_get_hw_sw_interface(vnet_main_t *vnm, u32 hw_if_index)
enum walk_rc_t_ walk_rc_t
Walk return code.
format_function_t format_vnet_hw_interface
clib_error_t * set_hw_interface_rx_placement(u32 hw_if_index, u32 queue_id, u32 thread_index, u8 is_main)
int vnet_hw_interface_rx_redirect_to_node(vnet_main_t *vnm, u32 hw_if_index, u32 node_index)
static vnet_device_class_t * vnet_get_device_class(vnet_main_t *vnm, u32 dev_class_index)
enum vnet_hw_interface_flags_t_ vnet_hw_interface_flags_t
vnet_hw_interface_flags_t flags
#define vec_elt_at_index(v, i)
Get vector value at index i checking that i is in bounds.
static vnet_sw_interface_t * vnet_get_sup_sw_interface(vnet_main_t *vnm, u32 sw_if_index)
vlib_frame_t * vlib_get_frame_to_node(vlib_main_t *vm, u32 to_node_index)
static uword vnet_sw_interface_is_valid(vnet_main_t *vnm, u32 sw_if_index)
void vnet_delete_sw_interface(vnet_main_t *vnm, u32 sw_if_index)
static const u8 * vnet_sw_interface_get_hw_address(vnet_main_t *vnm, u32 sw_if_index)
vnet_hw_interface_t * hw_interfaces
format_function_t format_vnet_sw_interface_name
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
u8 * format_vnet_interface_output_trace(u8 *s, va_list *va)
static uword vnet_hw_interface_get_flags(vnet_main_t *vnm, u32 hw_if_index)
serialize_function_t unserialize_vnet_interface_state
unformat_function_t unformat_vnet_buffer_flags
void vlib_put_frame_to_node(vlib_main_t *vm, u32 to_node_index, vlib_frame_t *f)
vnet_sw_interface_flags_t flags
vnet_interface_output_error_t
vl_api_tunnel_mode_t mode
void vnet_hw_interface_init_for_class(vnet_main_t *vnm, u32 hw_if_index, u32 hw_class_index, u32 hw_instance)
static void vnet_put_frame_to_sw_interface(vnet_main_t *vnm, u32 sw_if_index, vlib_frame_t *f)
#define vec_free(V)
Free vector's memory (no header).
static vnet_hw_interface_t * vnet_get_sup_hw_interface_api_visible_or_null(vnet_main_t *vnm, u32 sw_if_index)
static uword vnet_swif_is_api_visible(vnet_sw_interface_t *si)
vnet_interface_output_next_t
walk_rc_t_
Walk return code.
#define pool_is_free_index(P, I)
Use free bitmap to query whether given index is free.
void vnet_sw_interface_set_mtu(vnet_main_t *vnm, u32 sw_if_index, u32 mtu)
static uword vnet_hw_interface_is_valid(vnet_main_t *vnm, u32 hw_if_index)
format_function_t format_vnet_sw_interface_flags
u32 vnet_register_interface(vnet_main_t *vnm, u32 dev_class_index, u32 dev_instance, u32 hw_class_index, u32 hw_instance)
clib_error_t * vnet_hw_interface_add_del_mac_address(vnet_main_t *vnm, u32 hw_if_index, const u8 *mac_address, u8 is_add)
void vnet_sw_interface_update_unnumbered(u32 sw_if_index, u32 ip_sw_if_index, u8 enable)
static void vnet_set_sw_interface_tag(vnet_main_t *vnm, u8 *tag, u32 sw_if_index)
static vnet_hw_interface_class_t * vnet_get_hw_interface_class(vnet_main_t *vnm, u32 hw_class_index)
void vnet_sw_interface_ip_directed_broadcast(vnet_main_t *vnm, u32 sw_if_index, u8 enable)
clib_error_t * vnet_hw_interface_set_class(vnet_main_t *vnm, u32 hw_if_index, u32 new_hw_class_index)
static u8 * vnet_get_sw_interface_tag(vnet_main_t *vnm, u32 sw_if_index)
walk_rc_t(* vnet_hw_sw_interface_walk_t)(vnet_main_t *vnm, u32 sw_if_index, void *ctx)
Call back walk type for walking SW indices on a HW interface.
static vlib_frame_t * vnet_get_frame_to_sw_interface(vnet_main_t *vnm, u32 sw_if_index)
int vnet_sw_interface_is_p2p(vnet_main_t *vnm, u32 sw_if_index)
static vlib_main_t * vlib_get_main(void)
static uword vnet_sw_interface_is_admin_up(vnet_main_t *vnm, u32 sw_if_index)
static uword vnet_sw_interface_is_api_valid(vnet_main_t *vnm, u32 sw_if_index)
void vnet_sw_interface_set_protocol_mtu(vnet_main_t *vnm, u32 sw_if_index, u32 mtu[])
struct _vnet_hw_interface_class vnet_hw_interface_class_t
unformat_function_t unformat_vnet_sw_interface_flags
vnet_sw_interface_t * sw_interfaces
vnet_hw_interface_class_t * hw_interface_classes
walk_rc_t(* vnet_sw_interface_walk_t)(vnet_main_t *vnm, vnet_sw_interface_t *si, void *ctx)
Call back walk type for walking SW indices on a HW interface.
int vnet_sw_interface_stats_collect_enable_disable(u32 sw_if_index, u8 enable)
void vnet_delete_hw_interface(vnet_main_t *vnm, u32 hw_if_index)
unformat_function_t unformat_vnet_hw_interface_flags
static vnet_sw_interface_flags_t vnet_sw_interface_get_flags(vnet_main_t *vnm, u32 sw_if_index)
vnet_sw_interface_type_t type
static vnet_hw_interface_t * vnet_get_hw_interface_or_null(vnet_main_t *vnm, u32 hw_if_index)
vnet_device_class_t * device_classes
void vnet_sw_interface_admin_up(vnet_main_t *vnm, u32 sw_if_index)
clib_error_t * set_hw_interface_change_rx_mode(vnet_main_t *vnm, u32 hw_if_index, u8 queue_id_valid, u32 queue_id, vnet_hw_if_rx_mode mode)
clib_error_t * vnet_hw_interface_change_mac_address(vnet_main_t *vnm, u32 hw_if_index, const u8 *mac_address)
manual_print typedef u8 mac_address[6]
clib_error_t * vnet_create_sw_interface(vnet_main_t *vnm, vnet_sw_interface_t *template, u32 *sw_if_index)
clib_error_t * vnet_sw_interface_set_flags(vnet_main_t *vnm, u32 sw_if_index, vnet_sw_interface_flags_t flags)
format_function_t format_vnet_sw_interface_name_override
static uword vnet_hw_interface_is_link_up(vnet_main_t *vnm, u32 hw_if_index)
static vnet_sw_interface_t * vnet_get_sw_interface_or_null(vnet_main_t *vnm, u32 sw_if_index)
static void vnet_hw_interface_set_link_speed(vnet_main_t *vnm, u32 hw_if_index, u32 link_speed)
format_function_t format_vtr
vl_api_interface_index_t sw_if_index
clib_error_t * vnet_hw_interface_set_flags(vnet_main_t *vnm, u32 hw_if_index, vnet_hw_interface_flags_t flags)
static uword vnet_sw_interface_is_api_visible(vnet_main_t *vnm, u32 sw_if_index)