|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
40 #ifndef included_llc_h
41 #define included_llc_h
47 #define foreach_llc_protocol \
50 _ (sna_path_control, 0x4) \
55 _ (proway_lan, 0x0e) \
58 _ (osi_layer1, 0x14) \
59 _ (osi_layer2, 0x20) \
60 _ (osi_layer3, 0x34) \
61 _ (osi_layer4, 0x54) \
62 _ (osi_layer5, 0xfe) \
73 #define _(f,n) LLC_PROTOCOL_##f = n,
80 #define LLC_DST_SAP_IS_GROUP (1 << 0)
81 #define LLC_SRC_SAP_IS_RESPONSE (1 << 0)
90 u8 extended_control[0];
97 return r | ((((
r & 3) != 3) ?
h->extended_control[0] : 0) << 8);
103 return ((
h->control & 3) != 3 ? 4 : 3);
121 #define foreach_llc_error \
122 _ (NONE, "no error") \
123 _ (UNKNOWN_PROTOCOL, "unknown llc ssap/dsap") \
124 _ (UNKNOWN_CONTROL, "control != 0x3")
128 #define _(f,s) LLC_ERROR_##f,
144 u8 input_next_by_protocol[256];
static u8 llc_header_length(llc_header_t *h)
format_function_t format_llc_header
#define foreach_llc_error
static u16 llc_header_get_control(llc_header_t *h)
llc_protocol_info_t * protocol_infos
static llc_protocol_info_t * llc_get_protocol_info(llc_main_t *m, llc_protocol_t protocol)
#define foreach_llc_protocol
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
void llc_register_input_protocol(vlib_main_t *vm, llc_protocol_t protocol, u32 node_index)
vnet_hw_if_output_node_runtime_t * r
unformat_function_t * unformat_buffer
format_function_t * format_buffer
format_function_t format_llc_protocol
unformat_function_t * unformat_edit
#define vec_elt_at_index(v, i)
Get vector value at index i checking that i is in bounds.
format_function_t format_llc_header_with_length
unformat_function_t unformat_llc_header
static pg_node_t * pg_get_node(uword node_index)
unformat_function_t unformat_llc_protocol
static vlib_node_t * vlib_get_node(vlib_main_t *vm, u32 i)
Get vlib node by index.
vl_api_ip_proto_t protocol
uword * protocol_info_by_protocol
unformat_function_t unformat_pg_llc_header
static void llc_setup_node(vlib_main_t *vm, u32 node_index)