X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fl2%2Fl2_vtr.c;h=aa3d5c45beef95fc895c15846f9c8a60da05f9aa;hb=54bc5e40cb92597f9e18c4085699cf02dfa5d585;hp=e03a4880a5e751ca57f050d1527454f983981230;hpb=65e845785f21e6b43c026f092e982171eec1f641;p=vpp.git diff --git a/src/vnet/l2/l2_vtr.c b/src/vnet/l2/l2_vtr.c index e03a4880a5e..aa3d5c45bee 100644 --- a/src/vnet/l2/l2_vtr.c +++ b/src/vnet/l2/l2_vtr.c @@ -91,10 +91,10 @@ l2pbb_configure (vlib_main_t * vlib_main, } else if (vtr_op == L2_VTR_PUSH_2) { - clib_memcpy (in_config->macs_tags.b_dst_address, b_dmac, - sizeof (in_config->macs_tags.b_dst_address)); - clib_memcpy (in_config->macs_tags.b_src_address, b_smac, - sizeof (in_config->macs_tags.b_src_address)); + clib_memcpy_fast (in_config->macs_tags.b_dst_address, b_dmac, + sizeof (in_config->macs_tags.b_dst_address)); + clib_memcpy_fast (in_config->macs_tags.b_src_address, b_smac, + sizeof (in_config->macs_tags.b_src_address)); in_config->macs_tags.b_type = clib_net_to_host_u16 (ETHERNET_TYPE_DOT1AD); in_config->macs_tags.priority_dei_id = @@ -177,7 +177,7 @@ l2vtr_configure (vlib_main_t * vlib_main, vnet_main_t * vnet_main, u32 sw_if_ind vtr_tag1 = clib_net_to_host_u16 (vtr_tag1); vtr_tag2 = clib_net_to_host_u16 (vtr_tag2); - /* Determine number of vlan tags with explictly configured values */ + /* Determine number of vlan tags with explicitly configured values */ cfg_tags = 0; if (hw_no_tags || si->sub.eth.flags.no_tags) { @@ -229,9 +229,6 @@ l2vtr_configure (vlib_main_t * vlib_main, vnet_main_t * vnet_main, u32 sw_if_ind } in_config->pop_bytes = 8; in_config->push_bytes = 0; - - out_config->push_bytes = in_config->pop_bytes; - out_config->pop_bytes = in_config->push_bytes; break; case L2_VTR_PUSH_1: @@ -687,7 +684,7 @@ VLIB_CLI_COMMAND (int_l2_vtr_cli, static) = { */ u32 l2pbb_get (vlib_main_t * vlib_main, vnet_main_t * vnet_main, u32 sw_if_index, - u32 * vtr_op, u16 * outer_tag, u8 * b_dmac, u8 * b_smac, + u32 * vtr_op, u16 * outer_tag, ethernet_header_t * eth_hdr, u16 * b_vlanid, u32 * i_sid) { u32 error = 1; @@ -702,8 +699,6 @@ l2pbb_get (vlib_main_t * vlib_main, vnet_main_t * vnet_main, u32 sw_if_index, *vtr_op = L2_VTR_DISABLED; *outer_tag = 0; - *b_dmac = 0; - *b_smac = 0; *b_vlanid = 0; *i_sid = 0; @@ -731,16 +726,18 @@ l2pbb_get (vlib_main_t * vlib_main, vnet_main_t * vnet_main, u32 sw_if_index, else if (in_config->push_bytes) *vtr_op = L2_VTR_PUSH_2; - clib_memcpy (b_dmac, in_config->macs_tags.b_dst_address, - sizeof (b_dmac)); - clib_memcpy (b_smac, in_config->macs_tags.b_src_address, - sizeof (b_smac)); + clib_memcpy_fast (ð_hdr->dst_address, + in_config->macs_tags.b_dst_address, + sizeof (eth_hdr->dst_address)); + clib_memcpy_fast (ð_hdr->src_address, + in_config->macs_tags.b_src_address, + sizeof (eth_hdr->src_address)); *b_vlanid = clib_host_to_net_u16 (in_config->macs_tags.priority_dei_id) & 0xFFF; *i_sid = - clib_host_to_net_u32 (in_config-> - macs_tags.priority_dei_uca_res_sid) & 0xFFFFF; + clib_host_to_net_u32 (in_config->macs_tags. + priority_dei_uca_res_sid) & 0xFFFFF; error = 0; } done: