|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
49 s =
format (s,
"features ");
51 s =
format (s,
"fixup-ip4o4 ");
53 s =
format (s,
"fixup-flow-hash ");
62 u32 max_data_bytes = va_arg (*args,
u32);
123 u32 max_rewrite_bytes)
135 ASSERT (hc->build_rewrite);
148 u32 max_data_bytes = va_arg (*va,
u32);
164 u32 max_data_bytes = va_arg (*va,
u32);
183 const void *dst_address)
189 ASSERT (hc->build_rewrite);
190 return (hc->build_rewrite (vnm,
sw_if_index, link_type, dst_address));
202 ASSERT (hc->update_adjacency);
static void serialize_integer(serialize_main_t *m, u64 x, u32 n_bytes)
static uword vlib_node_add_next(vlib_main_t *vm, uword node, uword next_node)
#define clib_memcpy(d, s, n)
void vnet_rewrite_for_sw_interface(vnet_main_t *vnm, vnet_link_t link_type, u32 sw_if_index, u32 node_index, void *dst_address, vnet_rewrite_header_t *rw, u32 max_rewrite_bytes)
Deprecated.
static vnet_sw_interface_t * vnet_get_sw_interface_or_null(vnet_main_t *vnm, u32 sw_if_index)
void serialize_vnet_rewrite(serialize_main_t *m, va_list *va)
@ VNET_REWRITE_FIXUP_FLOW_HASH
this adj performs the flow hash fixup
void vnet_update_adjacency_for_sw_interface(vnet_main_t *vnm, u32 sw_if_index, u32 ai)
u8 * format_vnet_rewrite_flags(u8 *s, va_list *ap)
@ VNET_REWRITE_HAS_FEATURES
This adjacency/interface has output features configured.
static void * unserialize_get(serialize_main_t *m, uword n_bytes)
static vnet_hw_interface_class_t * vnet_get_hw_interface_class(vnet_main_t *vnm, u32 hw_class_index)
u8 * vnet_build_rewrite_for_sw_interface(vnet_main_t *vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_address)
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
vnet_main_t * vnet_get_main(void)
static void unserialize_integer(serialize_main_t *m, void *x, u32 n_bytes)
void unserialize_vnet_rewrite(serialize_main_t *m, va_list *va)
static void * vnet_rewrite_get_data_internal(vnet_rewrite_header_t *rw, int max_size)
static u32 vnet_sw_interface_get_mtu(vnet_main_t *vnm, u32 sw_if_index, vnet_mtu_t af)
static void vnet_rewrite_set_data_internal(vnet_rewrite_header_t *rw, int max_size, void *data, int data_bytes)
u8 * format_vnet_rewrite(u8 *s, va_list *args)
@ VNET_REWRITE_FIXUP_IP4_O_4
this adj performs IP4 over IP4 fixup
void vnet_rewrite_init(vnet_main_t *vnm, u32 sw_if_index, vnet_link_t linkt, u32 this_node, u32 next_node, vnet_rewrite_header_t *rw)
#define vec_free(V)
Free vector's memory (no header).
u32 vnet_tx_node_index_for_sw_interface(vnet_main_t *vnm, u32 sw_if_index)
description fragment has unexpected format
static vnet_hw_interface_t * vnet_get_sup_hw_interface(vnet_main_t *vnm, u32 sw_if_index)
enum vnet_link_t_ vnet_link_t
Link Type: A description of the protocol of packets on the link.
enum vnet_rewrite_flags_t_ vnet_rewrite_flags_t
Flags associated with the rewrite/adjacency.
vnet_mtu_t vnet_link_to_mtu(vnet_link_t link)
static void * serialize_get(serialize_main_t *m, uword n_bytes)
vl_api_interface_index_t sw_if_index
struct _vnet_hw_interface_class vnet_hw_interface_class_t
format_function_t format_vnet_sw_interface_name
void vnet_rewrite_update_mtu(vnet_main_t *vnm, vnet_link_t linkt, vnet_rewrite_header_t *rw)