LISP: fix gpe sub-interface lookup 46/5646/3
authorFilip Tehlar <ftehlar@cisco.com>
Tue, 7 Mar 2017 09:23:01 +0000 (10:23 +0100)
committerFlorin Coras <florin.coras@gmail.com>
Wed, 8 Mar 2017 15:50:57 +0000 (15:50 +0000)
Change-Id: I080b90a4bc53c2595ade696c592e86790c7ca939
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
src/vnet/lisp-gpe/lisp_gpe_sub_interface.c

index 56f5263..0dfbc40 100644 (file)
@@ -49,11 +49,11 @@ lisp_gpe_sub_interface_db_find (const ip_address_t * lrloc, u32 vni)
 {
   uword *p;
 
-  lisp_gpe_sub_interface_key_t key = {
-    .local_rloc = *lrloc,
-    .vni = clib_host_to_net_u32 (vni),
-  };
+  lisp_gpe_sub_interface_key_t key;
 
+  memset (&key, 0, sizeof (key));
+  ip_address_copy (&key.local_rloc, lrloc);
+  key.vni = clib_host_to_net_u32 (vni);
   p = hash_get_mem (lisp_gpe_sub_interfaces, &key);
 
   if (NULL == p)
@@ -66,16 +66,16 @@ static void
 lisp_gpe_sub_interface_db_insert (const lisp_gpe_sub_interface_t * l3s)
 {
   hash_set_mem (lisp_gpe_sub_interfaces,
-               &l3s->key, l3s - lisp_gpe_sub_interface_pool);
+               l3s->key, l3s - lisp_gpe_sub_interface_pool);
   hash_set_mem (lisp_gpe_sub_interfaces_sw_if_index,
-               &l3s->key, l3s->sw_if_index);
+               l3s->key, l3s->sw_if_index);
 }
 
 static void
 lisp_gpe_sub_interface_db_remove (const lisp_gpe_sub_interface_t * l3s)
 {
-  hash_unset_mem (lisp_gpe_sub_interfaces, &l3s->key);
-  hash_unset_mem (lisp_gpe_sub_interfaces_sw_if_index, &l3s->key);
+  hash_unset_mem (lisp_gpe_sub_interfaces, l3s->key);
+  hash_unset_mem (lisp_gpe_sub_interfaces_sw_if_index, l3s->key);
 }
 
 lisp_gpe_sub_interface_t *