Use unicast DMAC for IP neighbor pool refresh probes
[vpp.git] / src / vnet / ip / ip_neighbor.c
index a43fdfd..8043765 100644 (file)
@@ -19,7 +19,7 @@
 #include <vnet/ip/ip.h>
 #include <vnet/ip/ip6_neighbor.h>
 #include <vnet/ip/ip_neighbor.h>
-#include <vnet/ethernet/arp_packet.h>
+#include <vnet/ethernet/arp.h>
 
 /*
  * IP neighbor scan parameter defaults are as follows:
@@ -57,13 +57,13 @@ ip_neighbor_scan_enable_disable (ip_neighbor_scan_arg_t * arg)
   if (arg->mode)
     {
       cfg->scan_interval = arg->scan_interval ?
-       arg->scan_interval * 1.0 : IP_NEIGHBOR_DEF_SCAN_INTERVAL;
+       arg->scan_interval * 60.0 : IP_NEIGHBOR_DEF_SCAN_INTERVAL;
       cfg->max_proc_time = arg->max_proc_time ?
        arg->max_proc_time * 1e-6 : IP_NEIGHBOR_DEF_MAX_PROC_TIME;
       cfg->scan_int_delay = arg->scan_int_delay ?
        arg->scan_int_delay * 1e-3 : IP_NEIGHBOR_DEF_SCAN_INT_DELAY;
       cfg->stale_threshold = arg->stale_threshold ?
-       arg->stale_threshold * 1.0 : cfg->scan_interval * 4;
+       arg->stale_threshold * 60.0 : cfg->scan_interval * 4;
       cfg->max_update = arg->max_update ?
        cfg->max_update : IP_NEIGHBOR_DEF_MAX_UPDATE;
     }
@@ -143,10 +143,10 @@ ip_neighbor_scan (vlib_main_t * vm, f64 start_time, u32 start_idx,
          update_count[0]++;
          /* probe neighbor */
          if (!is_ip6)
-           ip4_probe_neighbor (vm, &n4->ip4_address, n4->sw_if_index);
+           ip4_probe_neighbor (vm, &n4->ip4_address, n4->sw_if_index, 1);
          else
            ip6_probe_neighbor (vm, &n6->key.ip6_address,
-                               n6->key.sw_if_index);
+                               n6->key.sw_if_index, 1);
        }
 
     next_neighbor: