hsa: use only one conn type for vcl tests
[vpp.git] / src / vnet / ip6-nd / ip6_nd.c
index da49666..311cbf7 100644 (file)
@@ -157,12 +157,17 @@ icmp6_neighbor_solicitation_or_advertisement (vlib_main_t * vm,
          if (PREDICT_TRUE (error0 == ICMP6_ERROR_NONE && o0 != 0 &&
                            !ip6_sadd_unspecified))
            {
+              /* *INDENT-OFF* */
              ip_neighbor_learn_t learn = {
                .sw_if_index = sw_if_index0,
-               .type = IP46_TYPE_IP6,
-               .ip.ip6 = (is_solicitation ?
-                          ip0->src_address : h0->target_address),
+               .ip = {
+                  .version = AF_IP6,
+                  .ip.ip6 = (is_solicitation ?
+                             ip0->src_address :
+                             h0->target_address),
+                }
              };
+              /* *INDENT-ON* */
              memcpy (&learn.mac, o0->ethernet_address, sizeof (learn.mac));
              ip_neighbor_learn_dp (&learn);
            }
@@ -210,10 +215,15 @@ icmp6_neighbor_solicitation_or_advertisement (vlib_main_t * vm,
                          /* It's an address that belongs to one of our interfaces
                           * that's good. */
                        }
-                     else
-                       if (fib_entry_is_sourced
-                           (fei, FIB_SOURCE_IP6_ND_PROXY) ||
-                           fib_entry_is_sourced (fei, FIB_SOURCE_IP6_ND))
+                     else if (FIB_ENTRY_FLAG_LOCAL &
+                              fib_entry_get_flags_for_source (
+                                fei, FIB_SOURCE_IP6_ND))
+                       {
+                         /* It's one of our link local addresses
+                          * that's good. */
+                       }
+                     else if (fib_entry_is_sourced (fei,
+                                                    FIB_SOURCE_IP6_ND_PROXY))
                        {
                          /* The address was added by IPv6 Proxy ND config.
                           * We should only respond to these if the NS arrived on
@@ -459,7 +469,7 @@ ip6_nd_init (vlib_main_t * vm)
   icmp6_register_type (vm, ICMP6_neighbor_advertisement,
                       ip6_icmp_neighbor_advertisement_node.index);
 
-  ip_neighbor_register (IP46_TYPE_IP6, &ip6_nd_impl_vft);
+  ip_neighbor_register (AF_IP6, &ip6_nd_impl_vft);
 
   ip6_nd_delegate_id = ip6_link_delegate_register (&ip6_nd_delegate_vft);