From: jackiechen1985 Date: Thu, 9 May 2019 08:57:16 +0000 (+0800) Subject: Fix vpp crash bug while deleting dhcp client X-Git-Tag: v20.01-rc0~571 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=0ad4a439d68f906295656876cc3bb3092da2cf56 Fix vpp crash bug while deleting dhcp client We must do lock fib while vrf id ~0, otherwise it crashes while unlocking fib. Change-Id: Iec9754ccd67634a132bc5384a4f796d4a65943ae Signed-off-by: jackiechen1985 --- diff --git a/src/plugins/nat/nat.c b/src/plugins/nat/nat.c index 0d909cedbf4..9eb0384a95b 100755 --- a/src/plugins/nat/nat.c +++ b/src/plugins/nat/nat.c @@ -830,6 +830,7 @@ snat_add_static_mapping (ip4_address_t l_addr, ip4_address_t e_addr, { fib_index = sm->inside_fib_index; vrf_id = sm->inside_vrf_id; + fib_table_lock (fib_index, FIB_PROTOCOL_IP4, FIB_SOURCE_PLUGIN_LOW); } if (!(out2in_only || identity_nat)) diff --git a/src/vnet/interface.api b/src/vnet/interface.api index 8c700e15123..d30f1c285ea 100644 --- a/src/vnet/interface.api +++ b/src/vnet/interface.api @@ -247,7 +247,7 @@ autoreply define sw_interface_add_del_address @param context - sender context, to match reply w/ request @param sw_if_index - index of the interface @param is_ipv6 - if non-zero ipv6, else ipv4 - @param vrf_id - fib table/vrd id to associate the interface with + @param vrf_id - fib table/vrf id to associate the interface with */ autoreply define sw_interface_set_table {