From: varasteh Date: Sun, 2 Jan 2022 10:50:32 +0000 (+0330) Subject: interface: more cleaning after set flags is failed in vnet_create_sw_interface X-Git-Tag: v23.10-rc0~179 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=8181727ee518d46ac2f45b769e273431211257a6;p=vpp.git 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 --- 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);