56 s =
format (s,
"0x%02x", p);
66 u32 max_header_bytes = va_arg (*args,
u32);
68 u32 indent, header_bytes;
70 header_bytes =
sizeof (h[0]);
71 if (max_header_bytes != 0 && header_bytes > max_header_bytes)
72 return format (s,
"osi header truncated");
78 if (max_header_bytes != 0 && header_bytes > max_header_bytes)
86 max_header_bytes - header_bytes);
103 u8 *result = va_arg (*args,
u8 *);
131 u8 **result = va_arg (*args,
u8 **);
143 u32 n_bytes =
sizeof (h[0]);
161 pi->
name = protocol_name;
185 #define _(f,n) add_protocol (pm, OSI_PROTOCOL_##f, #f);
#define hash_set(h, key, value)
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
static clib_error_t * osi_input_init(vlib_main_t *vm)
#define vec_add2(V, P, N)
Add N elements to end of vector V, return pointer to new elements in P.
#define hash_set_mem(h, key, value)
#define clib_memcpy(d, s, n)
vl_api_ip_proto_t protocol
u8 * format_osi_header_with_length(u8 *s, va_list *args)
#define VLIB_INIT_FUNCTION(x)
u8 * format_osi_protocol(u8 *s, va_list *args)
#define vec_elt_at_index(v, i)
Get vector value at index i checking that i is in bounds.
uword unformat_osi_protocol(unformat_input_t *input, va_list *args)
#define vlib_call_init_function(vm, x)
#define hash_create_string(elts, value_bytes)
uword * protocol_info_by_name
osi_protocol_info_t * protocol_infos
static osi_protocol_info_t * osi_get_protocol_info(osi_main_t *m, osi_protocol_t protocol)
format_function_t * format_buffer
uword unformat_osi_header(unformat_input_t *input, va_list *args)
static clib_error_t * osi_init(vlib_main_t *vm)
sll srl srl sll sra u16x4 i
vlib_main_t vlib_node_runtime_t * node
#define hash_create(elts, value_bytes)
u8 * format_osi_header(u8 *s, va_list *args)
static clib_error_t * llc_init(vlib_main_t *vm)
static vlib_node_t * vlib_get_node(vlib_main_t *vm, u32 i)
Get vlib node by index.
static void add_protocol(osi_main_t *pm, osi_protocol_t protocol, char *protocol_name)
uword * protocol_info_by_protocol