VPP-1083 "ip punt redirect add" crashed if not mentioned any other parameter
[vpp.git] / src / vnet / interface.c
index 159ce8c..82eccc1 100644 (file)
@@ -1170,6 +1170,7 @@ vnet_interface_init (vlib_main_t * vm)
   vnet_interface_main_t *im = &vnm->interface_main;
   vlib_buffer_t *b = 0;
   vnet_buffer_opaque_t *o = 0;
+  clib_error_t *error;
 
   /*
    * Keep people from shooting themselves in the foot.
@@ -1250,15 +1251,17 @@ vnet_interface_init (vlib_main_t * vm)
       }
   }
 
-  {
-    clib_error_t *error;
+  if ((error = vlib_call_init_function (vm, vnet_interface_cli_init)))
+    return error;
 
-    if ((error = vlib_call_init_function (vm, vnet_interface_cli_init)))
-      return error;
+  vnm->interface_tag_by_sw_if_index = hash_create (0, sizeof (uword));
 
+#if VLIB_BUFFER_TRACE_TRAJECTORY > 0
+  if ((error = vlib_call_init_function (vm, trajectory_trace_init)))
     return error;
-  }
-  vnm->interface_tag_by_sw_if_index = hash_create (0, sizeof (uword));
+#endif
+
+  return 0;
 }
 
 VLIB_INIT_FUNCTION (vnet_interface_init);
@@ -1331,7 +1334,8 @@ vnet_rename_interface (vnet_main_t * vnm, u32 hw_if_index, char *new_name)
 
 static clib_error_t *
 vnet_hw_interface_change_mac_address_helper (vnet_main_t * vnm,
-                                            u32 hw_if_index, u64 mac_address)
+                                            u32 hw_if_index,
+                                            u8 * mac_address)
 {
   clib_error_t *error = 0;
   vnet_hw_interface_t *hi = vnet_get_hw_interface (vnm, hw_if_index);
@@ -1343,7 +1347,7 @@ vnet_hw_interface_change_mac_address_helper (vnet_main_t * vnm,
       if (dev_class->mac_addr_change_function)
        {
          error =
-           dev_class->mac_addr_change_function (hi, (char *) &mac_address);
+           dev_class->mac_addr_change_function (hi, (char *) mac_address);
        }
       if (!error)
        {
@@ -1352,7 +1356,7 @@ vnet_hw_interface_change_mac_address_helper (vnet_main_t * vnm,
          hw_class = vnet_get_hw_interface_class (vnm, hi->hw_class_index);
 
          if (NULL != hw_class->mac_addr_change_function)
-           hw_class->mac_addr_change_function (hi, (char *) &mac_address);
+           hw_class->mac_addr_change_function (hi, (char *) mac_address);
        }
       else
        {
@@ -1373,7 +1377,7 @@ vnet_hw_interface_change_mac_address_helper (vnet_main_t * vnm,
 
 clib_error_t *
 vnet_hw_interface_change_mac_address (vnet_main_t * vnm, u32 hw_if_index,
-                                     u64 mac_address)
+                                     u8 * mac_address)
 {
   return vnet_hw_interface_change_mac_address_helper
     (vnm, hw_if_index, mac_address);