ikev2: do not accept rekey until old SA is deleted
[vpp.git] / src / plugins / avf / device.c
index 627ead6..d12785c 100644 (file)
@@ -1169,8 +1169,9 @@ avf_process_one_device (vlib_main_t * vm, avf_device_t * ad, int is_irq)
              flags |= (VNET_HW_INTERFACE_FLAG_FULL_DUPLEX |
                        VNET_HW_INTERFACE_FLAG_LINK_UP);
              vnet_hw_interface_set_flags (vnm, ad->hw_if_index, flags);
-             vnet_hw_interface_set_link_speed (vnm, ad->hw_if_index,
-                                               mbps * 1000);
+             vnet_hw_interface_set_link_speed (
+               vnm, ad->hw_if_index,
+               (mbps == UINT32_MAX) ? UINT32_MAX : mbps * 1000);
              ad->link_speed = mbps;
            }
          else if (!link_up && (ad->flags & AVF_DEVICE_F_LINK_UP) != 0)
@@ -1589,6 +1590,7 @@ void
 avf_create_if (vlib_main_t * vm, avf_create_if_args_t * args)
 {
   vnet_main_t *vnm = vnet_get_main ();
+  vnet_eth_interface_registration_t eir = {};
   avf_main_t *am = &avf_main;
   avf_device_t *ad, **adp;
   vlib_pci_dev_handle_t h;
@@ -1722,12 +1724,11 @@ avf_create_if (vlib_main_t * vm, avf_create_if_args_t * args)
     goto error;
 
   /* create interface */
-  error = ethernet_register_interface (vnm, avf_device_class.index,
-                                      ad->dev_instance, ad->hwaddr,
-                                      &ad->hw_if_index, avf_flag_change);
-
-  if (error)
-    goto error;
+  eir.dev_class_index = avf_device_class.index;
+  eir.dev_instance = ad->dev_instance;
+  eir.address = ad->hwaddr;
+  eir.cb.flag_change = avf_flag_change;
+  ad->hw_if_index = vnet_eth_register_interface (vnm, &eir);
 
   ethernet_set_flags (vnm, ad->hw_if_index,
                      ETHERNET_INTERFACE_FLAG_DEFAULT_L3);