vxlan: fix interface naming 97/30997/5
authorRay Kinsella <mdr@ashroe.eu>
Thu, 28 Jan 2021 17:09:45 +0000 (17:09 +0000)
committerRay Kinsella <mdr@ashroe.eu>
Wed, 3 Feb 2021 17:28:52 +0000 (17:28 +0000)
Previous commit broke naming of vxlan interfaces.

Type:fix
Fixes:a4b0541f6

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I5e304821be73547b4e47c35ad9632283f153830f

src/vnet/vxlan/vxlan.c

index 300aae4..b2329d8 100644 (file)
@@ -440,20 +440,22 @@ int vnet_vxlan_add_del_tunnel
       hw_addr[0] = 2;
       hw_addr[1] = 0xfe;
 
+      hash_set (vxm->instance_used, user_instance, 1);
+
+      t->dev_instance = dev_instance;  /* actual */
+      t->user_instance = user_instance; /* name */
+      t->flow_index = ~0;
+
       if (ethernet_register_interface (vnm, vxlan_device_class.index,
                                       dev_instance, hw_addr, &t->hw_if_index,
                                       vxlan_eth_flag_change))
        {
+         hash_unset (vxm->instance_used, t->user_instance);
+
          pool_put (vxm->tunnels, t);
          return VNET_API_ERROR_SYSCALL_ERROR_2;
        }
 
-      hash_set (vxm->instance_used, user_instance, 1);
-
-      t->dev_instance = dev_instance;  /* actual */
-      t->user_instance = user_instance;        /* name */
-      t->flow_index = ~0;
-
       vnet_hw_interface_t *hi = vnet_get_hw_interface (vnm, t->hw_if_index);
 
       /* Set vxlan tunnel output node */