Merge pull request #6243 from pguibert6WIND/flowspec_some_regression_seen

Flowspec some regression seen
This commit is contained in:
Quentin Young 2020-07-23 11:26:00 -04:00 committed by GitHub
commit bd6cec43c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 7 deletions

View File

@ -376,11 +376,10 @@ void route_vty_out_flowspec(struct vty *vty, const struct prefix *p,
bpr->priority,
bpr->action->table_id);
}
if (list_began)
vty_out(vty, ")");
vty_out(vty, "\n");
}
if (!list_began)
if (list_began)
vty_out(vty, ")\n");
else
vty_out(vty, "\tnot installed in PBR\n");
}
}

View File

@ -336,14 +336,20 @@ bool zebra_pbr_ipset_entry_hash_equal(const void *arg1, const void *arg2)
return true;
}
void zebra_pbr_iptable_free(void *arg)
/* this function gives option to flush plugin memory contexts
* with all parameter. set it to true to flush all
* set it to false to flush only passed arg argument
*/
static void _zebra_pbr_iptable_free_all(void *arg, bool all)
{
struct zebra_pbr_iptable *iptable;
struct listnode *node, *nnode;
char *name;
iptable = (struct zebra_pbr_iptable *)arg;
hook_call(zebra_pbr_iptable_update, 0, iptable);
if (all)
hook_call(zebra_pbr_iptable_update, 0, iptable);
if (iptable->interface_name_list) {
for (ALL_LIST_ELEMENTS(iptable->interface_name_list, node,
@ -356,6 +362,11 @@ void zebra_pbr_iptable_free(void *arg)
XFREE(MTYPE_TMP, iptable);
}
void zebra_pbr_iptable_free(void *arg)
{
_zebra_pbr_iptable_free_all(arg, false);
}
uint32_t zebra_pbr_iptable_hash_key(const void *arg)
{
const struct zebra_pbr_iptable *iptable = arg;
@ -529,7 +540,7 @@ static void zebra_pbr_cleanup_iptable(struct hash_bucket *b, void *data)
if (iptable->sock == *sock) {
if (hash_release(zrouter.iptable_hash, iptable))
zebra_pbr_iptable_free(iptable);
_zebra_pbr_iptable_free_all(iptable, true);
else
hook_call(zebra_pbr_iptable_update, 0, iptable);
}