|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
18 #ifndef included_vnet_l2_vtr_h
19 #define included_vnet_l2_vtr_h
85 temp_8 = *((
u64 *) eth);
86 temp_4 = *((
u32 *) (eth + 8));
106 *((
u64 *) eth) = temp_8;
107 *((
u32 *) (eth + 8)) = temp_4;
158 tag_mask = clib_net_to_host_u64 (0xFFFF0FFFFFFF0FFF);
162 4) ? clib_net_to_host_u64 (0xFFFF0FFF) : tag_mask;
164 tag_mask = (in_config->
push_bytes == 0) ? 0 : tag_mask;
174 return (packet_tags & tag_mask) != in_config->
raw_tags;
208 ethernet_pbb_header_packed_t *
ph = (ethernet_pbb_header_packed_t *) eth;
211 if (clib_net_to_host_u16 (
ph->priority_dei_id) !=
213 || clib_net_to_host_u32 (
ph->priority_dei_uca_res_sid) !=
242 u8 * b_dmac,
u8 * b_smac,
243 u16 b_vlanid,
u32 i_sid,
u16 vlan_outer_tag);
252 u32 vtr_op,
u32 push_dot1q,
u32 vtr_tag1,
u32 vtr_tag2);
262 u32 * push_dot1q,
u32 * vtr_tag1,
u32 * vtr_tag2);
u32 l2vtr_configure(vlib_main_t *vlib_main, vnet_main_t *vnet_main, u32 sw_if_index, u32 vtr_op, u32 push_dot1q, u32 vtr_tag1, u32 vtr_tag2)
Configure vtag tag rewrite on the given interface.
#define ethernet_buffer_adjust_vlan_count_by_bytes(b, v)
Adjusts the vlan count by the header size byte delta in 'v'.
ethernet_pbb_header_t macs_tags
static u32 l2_pbb_process(vlib_buffer_t *b0, ptr_config_t *config)
u32 l2pbb_configure(vlib_main_t *vlib_main, vnet_main_t *vnet_main, u32 sw_if_index, u32 vtr_op, u8 *b_dmac, u8 *b_smac, u16 b_vlanid, u32 i_sid, u16 vlan_outer_tag)
Per-interface vlan tag rewrite configuration There will be one instance of this struct for each sw_if...
pool_header_t * ph(void *p)
GDB callable function: ph - call pool_header - get pool header.
static u32 l2_vtr_process(vlib_buffer_t *b0, vtr_config_t *config)
Perform the configured tag rewrite on the packet.
static void vlib_buffer_advance(vlib_buffer_t *b, word l)
Advance current data pointer by the supplied (signed!) amount.
static u8 l2_efp_filter_process(vlib_buffer_t *b0, vtr_config_t *in_config)
u32 l2vtr_get(vlib_main_t *vlib_main, vnet_main_t *vnet_main, u32 sw_if_index, u32 *vtr_op, u32 *push_dot1q, u32 *vtr_tag1, u32 *vtr_tag2)
Get vtag tag rewrite on the given interface.
struct ptr_config_t::@477::@481 raw_data
static void * vlib_buffer_get_current(vlib_buffer_t *b)
Get pointer to current data to process.
int vlib_main(vlib_main_t *volatile vm, unformat_input_t *input)
u32 l2pbb_get(vlib_main_t *vlib_main, vnet_main_t *vnet_main, u32 sw_if_index, u32 *vtr_op, u16 *outer_tag, ethernet_header_t *eth_hdr, u16 *b_vlanid, u32 *i_sid)
Get pbb tag rewrite on the given interface.
vl_api_interface_index_t sw_if_index
VLIB buffer representation.