From 8181727ee518d46ac2f45b769e273431211257a6 Mon Sep 17 00:00:00 2001 From: varasteh Date: Sun, 2 Jan 2022 14:20:32 +0330 Subject: interface: more cleaning after set flags is failed in vnet_create_sw_interface There's a chance that vnet_sw_interface_set_flags_helper() has successfully called some sw interface add callback functions before returning the error. So the sw interface del callbacks should also be called Type: fix Signed-off-by: varasteh Change-Id: I2cd7dc6d5b3a5ebfd2c4d1a6be5390083dee6401 Signed-off-by: varasteh --- src/vnet/interface.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/vnet/interface.c b/src/vnet/interface.c index dd4399864f7..18ce6b6bc4b 100644 --- a/src/vnet/interface.c +++ b/src/vnet/interface.c @@ -655,6 +655,7 @@ vnet_create_sw_interface (vnet_main_t * vnm, vnet_sw_interface_t * template, /* undo the work done by vnet_create_sw_interface_no_callbacks() */ log_err ("create_sw_interface: set flags failed\n %U", format_clib_error, error); + call_sw_interface_add_del_callbacks (vnm, *sw_if_index, 0); vnet_sw_interface_t *sw = pool_elt_at_index (im->sw_interfaces, *sw_if_index); pool_put (im->sw_interfaces, sw); -- cgit 1.2.3-korg