From c96ac7648efcf3d6d62513de54d96d34378e20fa Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Mon, 12 Oct 2020 11:46:53 +0000 Subject: 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 Change-Id: Ie3af51587310ffe871ad2a9cbd927e15a3ececa9 --- src/vnet/ip/ip6_link.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/vnet/ip/ip6_link.c b/src/vnet/ip/ip6_link.c index d2142f9aced..aabd1a54dc8 100644 --- a/src/vnet/ip/ip6_link.c +++ b/src/vnet/ip/ip6_link.c @@ -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); il = &ip6_links[sw_if_index]; - il->il_locks = 1; + il->il_locks = 0; il->il_sw_if_index = 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; } + il->il_locks++; + out: return (rv); } -- cgit 1.2.3-korg