18 #ifndef included_vnet_l2_vtr_h 19 #define included_vnet_l2_vtr_h 84 temp_8 = *((
u64 *) eth);
85 temp_4 = *((
u32 *) (eth + 8));
105 *((
u64 *) eth) = temp_8;
106 *((
u32 *) (eth + 8)) = temp_4;
155 tag_mask = clib_net_to_host_u64 (0xFFFF0FFFFFFF0FFF);
159 4) ? clib_net_to_host_u64 (0xFFFF0FFF) : tag_mask;
161 tag_mask = (in_config->
push_bytes == 0) ? 0 : tag_mask;
171 return (packet_tags & tag_mask) != in_config->
raw_tags;
182 u32 vtr_op,
u32 push_dot1q,
u32 vtr_tag1,
u32 vtr_tag2);
192 u32 * push_dot1q,
u32 * vtr_tag1,
u32 * vtr_tag2);
Per-interface vlan tag rewrite configuration There will be one instance of this struct for each sw_if...
static void * vlib_buffer_get_current(vlib_buffer_t *b)
Get pointer to current data to process.
static u32 l2_vtr_process(vlib_buffer_t *b0, vtr_config_t *config)
Perform the configured tag rewrite on the packet.
#define ethernet_buffer_adjust_vlan_count_by_bytes(b, v)
Adjusts the vlan count by the header size byte delta in 'v'.
static u8 l2_efp_filter_process(vlib_buffer_t *b0, vtr_config_t *in_config)
static void vlib_buffer_advance(vlib_buffer_t *b, word l)
Advance current data pointer by the supplied (signed!) amount.
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.
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.