|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
56 s =
format (s,
"0x%02x", p);
66 u32 max_header_bytes = va_arg (*args,
u32);
68 u32 indent, header_bytes;
71 if (max_header_bytes != 0 && header_bytes > max_header_bytes)
72 return format (s,
"llc header truncated");
76 s =
format (s,
"LLC %U -> %U",
80 if (
h->control != 0x03)
83 if (max_header_bytes != 0 && header_bytes > max_header_bytes)
87 if (
node->format_buffer)
90 node->format_buffer, (
void *) (
h + 1),
91 max_header_bytes - header_bytes);
108 u8 *result = va_arg (*args,
u8 *);
136 u8 **result = va_arg (*args,
u8 **);
143 h->src_sap =
h->dst_sap = p;
169 #define _(a,b) case VNET_LINK_##a: protocol = LLC_PROTOCOL_##b; break
202 pi->
name = protocol_name;
222 #define _(f,n) add_protocol (pm, LLC_PROTOCOL_##f, #f);
static u8 llc_header_length(llc_header_t *h)
#define hash_set(h, key, value)
#define clib_memcpy(d, s, n)
static u16 llc_header_get_control(llc_header_t *h)
llc_protocol_info_t * protocol_infos
vlib_main_t vlib_node_runtime_t * node
static llc_protocol_info_t * llc_get_protocol_info(llc_main_t *m, llc_protocol_t protocol)
#define hash_create_string(elts, value_bytes)
#define hash_set_mem(h, key, value)
#define vlib_call_init_function(vm, x)
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
static clib_error_t * snap_init(vlib_main_t *vm)
u8 * format_llc_header_with_length(u8 *s, va_list *args)
VNET_HW_INTERFACE_CLASS(llc_hw_interface_class)
#define vec_add2(V, P, N)
Add N elements to end of vector V, return pointer to new elements in P.
#define vec_elt_at_index(v, i)
Get vector value at index i checking that i is in bounds.
static vlib_node_t * vlib_get_node(vlib_main_t *vm, u32 i)
Get vlib node by index.
#define vec_validate(V, I)
Make sure vector is long enough for given index (no header, unspecified alignment)
u8 * format_llc_protocol(u8 *s, va_list *args)
static clib_error_t * llc_input_init(vlib_main_t *vm)
u8 * format_llc_header(u8 *s, va_list *args)
description fragment has unexpected format
static clib_error_t * llc_init(vlib_main_t *vm)
#define VLIB_INIT_FUNCTION(x)
uword unformat_llc_protocol(unformat_input_t *input, va_list *args)
static void add_protocol(llc_main_t *pm, llc_protocol_t protocol, char *protocol_name)
vl_api_ip_proto_t protocol
uword * protocol_info_by_protocol
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
enum vnet_link_t_ vnet_link_t
Link Type: A description of the protocol of packets on the link.
clib_error_t *() vlib_init_function_t(struct vlib_main_t *vm)
static u8 * llc_build_rewrite(vnet_main_t *vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_address)
uword * protocol_info_by_name
vl_api_interface_index_t sw_if_index
#define hash_create(elts, value_bytes)
uword unformat_llc_header(unformat_input_t *input, va_list *args)