ip: IP6 incorrectly disabled on removing first ip6 prefix

Type: fix

reference counting on the ip6 state was broken, meaning that disabling
one of serveral ip6 configs on an interface, completely ip6 disabled the
interface.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Ie3af51587310ffe871ad2a9cbd927e15a3ececa9
This commit is contained in:
Neale Ranns
2020-10-12 11:46:53 +00:00
committed by Matthew Smith
parent 70edc1c487
commit c96ac7648e

View File

@ -182,7 +182,7 @@ ip6_link_enable (u32 sw_if_index, const ip6_address_t * link_local_addr)
vec_validate (ip6_links, sw_if_index); vec_validate (ip6_links, sw_if_index);
il = &ip6_links[sw_if_index]; il = &ip6_links[sw_if_index];
il->il_locks = 1; il->il_locks = 0;
il->il_sw_if_index = sw_if_index; il->il_sw_if_index = sw_if_index;
sw = vnet_get_sup_sw_interface (vnm, sw_if_index); sw = vnet_get_sup_sw_interface (vnm, sw_if_index);
@ -238,6 +238,8 @@ ip6_link_enable (u32 sw_if_index, const ip6_address_t * link_local_addr)
rv = VNET_API_ERROR_VALUE_EXIST; rv = VNET_API_ERROR_VALUE_EXIST;
} }
il->il_locks++;
out: out:
return (rv); return (rv);
} }