NAT: interface fib fix (VPP-1691)
Change-Id: I2d1e2addb2e440c23c255ac7709169f7909cb0be Signed-off-by: Filip Varga <fivarga@cisco.com>
This commit is contained in:
@ -2168,6 +2168,7 @@ snat_update_outside_fib (u32 sw_if_index, u32 new_fib_index,
|
|||||||
nat_outside_fib_t *outside_fib;
|
nat_outside_fib_t *outside_fib;
|
||||||
snat_interface_t *i;
|
snat_interface_t *i;
|
||||||
u8 is_add = 1;
|
u8 is_add = 1;
|
||||||
|
u8 match = 0;
|
||||||
|
|
||||||
if (new_fib_index == old_fib_index)
|
if (new_fib_index == old_fib_index)
|
||||||
return;
|
return;
|
||||||
@ -2175,14 +2176,21 @@ snat_update_outside_fib (u32 sw_if_index, u32 new_fib_index,
|
|||||||
if (!vec_len (sm->outside_fibs))
|
if (!vec_len (sm->outside_fibs))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
pool_foreach (i, sm->interfaces, (
|
/* *INDENT-OFF* */
|
||||||
{
|
pool_foreach (i, sm->interfaces,
|
||||||
|
({
|
||||||
if (i->sw_if_index == sw_if_index)
|
if (i->sw_if_index == sw_if_index)
|
||||||
{
|
{
|
||||||
if (!(nat_interface_is_outside (i)))
|
if (!(nat_interface_is_outside (i)))
|
||||||
return;}
|
return;
|
||||||
|
match = 1;
|
||||||
}
|
}
|
||||||
));
|
}));
|
||||||
|
/* *INDENT-ON* */
|
||||||
|
|
||||||
|
if (!match)
|
||||||
|
return;
|
||||||
|
|
||||||
vec_foreach (outside_fib, sm->outside_fibs)
|
vec_foreach (outside_fib, sm->outside_fibs)
|
||||||
{
|
{
|
||||||
if (outside_fib->fib_index == old_fib_index)
|
if (outside_fib->fib_index == old_fib_index)
|
||||||
|
Reference in New Issue
Block a user