diff options
author | Gabriel Ganne <gabriel.ganne@enea.com> | 2017-03-06 15:19:40 +0100 |
---|---|---|
committer | John Lo <loj@cisco.com> | 2017-03-07 21:34:44 +0000 |
commit | f7f2a9feaa2cad8313afba53b53c32f1928f664c (patch) | |
tree | b300924abe7e74595861102e279028046b263325 /src/vnet/l2 | |
parent | 45e4f365086267ef2551b1dedf4e309bdd00a34a (diff) |
fix gcc 5.4 warning: argument to 'sizeof' in 'memcpy' call is the same expression as the destination
warning translates as an invalid write :
sizeof(u8* b_dmac) == 8 != sizeof(eth_hdr->dst_address) == 6
~/vpp/build-data/../src/vnet/l2/l2_vtr.c: In function 'l2pbb_get':
~/vpp/build-data/../src/vnet/l2/l2_vtr.c:734:63: error: argument to 'sizeof' in 'memcpy' call is the same expression as the destination;
did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
~/vpp/build-data/../src/vnet/l2/l2_vtr.c:736:63: error: argument to 'sizeof' in 'memcpy' call is the same expression as the destination;
did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
update l2pbb_get to take an ethernet header instead of two u8* pointers
for source and dest mac addresses.
Change-Id: Ifcf1319a9e22614d57682f940e10f0420dc6fb8c
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Diffstat (limited to 'src/vnet/l2')
-rw-r--r-- | src/vnet/l2/l2_vtr.c | 16 | ||||
-rw-r--r-- | src/vnet/l2/l2_vtr.h | 2 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/vnet/l2/l2_vtr.c b/src/vnet/l2/l2_vtr.c index e03a4880a5e..3c5365f9b51 100644 --- a/src/vnet/l2/l2_vtr.c +++ b/src/vnet/l2/l2_vtr.c @@ -687,7 +687,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 +702,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 +729,16 @@ 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 (ð_hdr->dst_address, in_config->macs_tags.b_dst_address, + sizeof (eth_hdr->dst_address)); + clib_memcpy (ð_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: diff --git a/src/vnet/l2/l2_vtr.h b/src/vnet/l2/l2_vtr.h index 99aedc970db..0aea618e080 100644 --- a/src/vnet/l2/l2_vtr.h +++ b/src/vnet/l2/l2_vtr.h @@ -267,7 +267,7 @@ u32 l2pbb_get (vlib_main_t * vlib_main, u32 sw_if_index, u32 * vtr_op, u16 * outer_tag, - u8 * b_dmac, u8 * b_smac, u16 * b_vlanid, u32 * i_sid); + ethernet_header_t * eth_hdr, u16 * b_vlanid, u32 * i_sid); #endif /* included_vnet_l2_vtr_h */ |