|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
40 #ifndef included_srp_h
41 #define included_srp_h
50 #define foreach_srp_ips_state \
56 #define _(f) SRP_IPS_STATE_##f,
81 u8 rx_neighbor_address[6];
164 ? SRP_IPS_REQUEST_wait_to_restore
165 : SRP_IPS_REQUEST_signal_fail);
191 #define foreach_srp_error \
192 _ (NONE, "no error") \
193 _ (UNKNOWN_MODE, "unknown mode in SRP header") \
194 _ (KEEP_ALIVE_DROPPED, "v1 keep alive mode in SRP header") \
195 _ (CONTROL_PACKETS_PROCESSED, "control packets processed") \
196 _ (IPS_PACKETS_PROCESSED, "IPS packets processed") \
197 _ (UNKNOWN_CONTROL, "unknown control packet") \
198 _ (CONTROL_VERSION_NON_ZERO, "control packet with non-zero version") \
199 _ (CONTROL_BAD_CHECKSUM, "control packet with bad checksum") \
200 _ (TOPOLOGY_BAD_LENGTH, "topology packet with bad length")
203 #define _(n,s) SRP_ERROR_##n,
srp_interface_ring_t rings[SRP_N_RING]
void srp_interface_set_hw_enable_function(u32 hw_if_index, srp_hw_enable_function_t *f)
#define foreach_srp_ips_state
u8 * format_srp_header(u8 *s, va_list *args)
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
uword * interface_index_by_hw_if_index
void srp_ips_rx_packet(u32 sw_if_index, srp_ips_header_t *ips_packet)
void() serialize_function_t(serialize_main_t *m, va_list *va)
struct srp_interface_t srp_interface_t
uword unformat_pg_srp_header(unformat_input_t *input, va_list *args)
srp_hw_wrap_function_t * hw_wrap_function
uword unformat_srp_header(unformat_input_t *input, va_list *args)
srp_ips_state_t current_ips_state
srp_interface_t * interface_pool
static srp_interface_t * srp_get_interface_from_vnet_hw_interface(u32 hw_if_index)
srp_interface_config_t config
vlib_one_time_waiting_process_t * srp_register_interface_waiting_process_pool
srp_hw_enable_function_t * hw_enable_function
u8 rx_neighbor_address_valid
void() srp_hw_enable_function_t(struct srp_interface_t *si, u32 wrap_enable)
f64 wait_to_restore_start_time
f64 wait_to_restore_idle_delay
void srp_interface_set_hw_wrap_function(u32 hw_if_index, srp_hw_wrap_function_t *f)
void srp_register_interface(u32 *hw_if_indices)
vnet_hw_interface_class_t srp_hw_interface_class
serialize_function_t serialize_srp_main
serialize_function_t unserialize_srp_main
#define foreach_srp_error
void srp_ips_local_request(u32 sw_if_index, srp_ips_request_type_t request)
void srp_interface_enable_ips(u32 hw_if_index)
struct _vlib_node_registration vlib_node_registration_t
static void srp_ips_link_change(u32 sw_if_index, u32 link_is_up)
void() srp_hw_wrap_function_t(u32 hw_if_index, u32 wrap_enable)
void srp_interface_get_interface_config(u32 hw_if_index, srp_interface_config_t *c)
vlib_node_registration_t srp_ips_process_node
uword * srp_register_interface_waiting_process_pool_index_by_hw_if_index
u8 * format_srp_device(u8 *s, va_list *args)
void srp_interface_set_interface_config(u32 hw_if_index, srp_interface_config_t *c)
vl_api_interface_index_t sw_if_index
struct _vnet_hw_interface_class vnet_hw_interface_class_t
u8 * format_srp_header_with_length(u8 *s, va_list *args)