Skip to content

Commit

Permalink
odp-util: Clear padding in the nd_extension.
Browse files Browse the repository at this point in the history
Silimar to the patch 67eb811 ("odp-util: Fix passing
uninitialized bytes in OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV*.")
when change from flow into the netlink format, the tail
padding of nd_extension should be cleared.

this fixes the following warning logs:

 |ofproto_dpif_upcall(pmd-...)|WARN|Conflicting ukey for flows:
   ufid:763c7d3b-4d0c-4bff-aafc-fdfb6089c2ba
   <...>,eth(...),eth_type(0x86dd),ipv6(...),icmpv6(type=135,code=0),\
   nd(target=fdbd:dc02:ff:1:1::1,sll=fa:16:3e:75:b3:a9,tll=00:00:00:00:00:00),\
   nd_ext(nd_reserved=0x0,nd_options_type=1)

   ufid:763c7d3b-4d0c-4bff-aafc-fdfb6089c2ba
   <...>,eth(...),eth_type(0x86dd),ipv6(...),icmpv6(type=135,code=0),\
   nd(target=fdbd:dc02:ff:1:1::1,sll=fa:16:3e:75:b3:a9,tll=00:00:00:00:00:00),\
   nd_ext(nd_reserved=0x0,nd_options_type=1)
 |ofproto_dpif_upcall(pmd-...)|WARN|upcall_cb failure: ukey installation fails

Fixes: 9b2b849 ("Support for match & set ICMPv6 reserved and options type fields")
Signed-off-by: Peng He <hepeng.0320@bytedance.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
  • Loading branch information
Peng He authored and igsilya committed Aug 4, 2020
1 parent e8bf777 commit 8594d9a
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/odp-util.c
Original file line number Diff line number Diff line change
Expand Up @@ -6357,7 +6357,9 @@ odp_flow_key_from_flow__(const struct odp_flow_key_parms *parms,
struct ovs_key_nd_extensions *nd_ext_key;

if (data->igmp_group_ip4 != 0 || data->tcp_flags != 0) {
nd_ext_key = nl_msg_put_unspec_uninit(buf,
/* 'struct ovs_key_nd_extensions' has padding,
* clear it. */
nd_ext_key = nl_msg_put_unspec_zero(buf,
OVS_KEY_ATTR_ND_EXTENSIONS,
sizeof *nd_ext_key);
nd_ext_key->nd_reserved = data->igmp_group_ip4;
Expand Down

0 comments on commit 8594d9a

Please sign in to comment.