From: Philippe Guibert Date: Fri, 18 May 2018 14:22:23 +0000 (+0200) Subject: zebra: add pbr objects fail_remove value into notification X-Git-Tag: frr-6.1-dev~395^2~8 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=34d9d5be98858d094b766a3822ca2e151458fd3d;p=matthieu%2Ffrr.git zebra: add pbr objects fail_remove value into notification After PBR or BGP sends back a request for sending a rule/ipset/ipset entry/iptable delete, there may be issue in deleting it. A notification is sent back with a new value indicating that the removal failed. Signed-off-by: Philippe Guibert --- diff --git a/lib/zclient.h b/lib/zclient.h index c5eaf9c0fd..2ec03acc44 100644 --- a/lib/zclient.h +++ b/lib/zclient.h @@ -408,6 +408,7 @@ enum zapi_rule_notify_owner { ZAPI_RULE_FAIL_INSTALL, ZAPI_RULE_INSTALLED, ZAPI_RULE_REMOVED, + ZAPI_RULE_FAIL_REMOVE, }; enum ipset_type { @@ -421,18 +422,21 @@ enum zapi_ipset_notify_owner { ZAPI_IPSET_FAIL_INSTALL, ZAPI_IPSET_INSTALLED, ZAPI_IPSET_REMOVED, + ZAPI_IPSET_FAIL_REMOVE, }; enum zapi_ipset_entry_notify_owner { ZAPI_IPSET_ENTRY_FAIL_INSTALL, ZAPI_IPSET_ENTRY_INSTALLED, ZAPI_IPSET_ENTRY_REMOVED, + ZAPI_IPSET_ENTRY_FAIL_REMOVE, }; enum zapi_iptable_notify_owner { ZAPI_IPTABLE_FAIL_INSTALL, ZAPI_IPTABLE_INSTALLED, ZAPI_IPTABLE_REMOVED, + ZAPI_IPTABLE_FAIL_REMOVE, }; /* Zebra MAC types */ diff --git a/zebra/zebra_pbr.c b/zebra/zebra_pbr.c index 0355f3c042..6a42aaecb4 100644 --- a/zebra/zebra_pbr.c +++ b/zebra/zebra_pbr.c @@ -661,7 +661,7 @@ void kernel_pbr_rule_add_del_status(struct zebra_pbr_rule *rule, zsend_rule_notify_owner(rule, ZAPI_RULE_REMOVED); break; case SOUTHBOUND_DELETE_FAILURE: - zsend_rule_notify_owner(rule, ZAPI_RULE_REMOVED); + zsend_rule_notify_owner(rule, ZAPI_RULE_FAIL_REMOVE); break; } } @@ -683,7 +683,7 @@ void kernel_pbr_ipset_add_del_status(struct zebra_pbr_ipset *ipset, zsend_ipset_notify_owner(ipset, ZAPI_IPSET_REMOVED); break; case SOUTHBOUND_DELETE_FAILURE: - zsend_ipset_notify_owner(ipset, ZAPI_IPSET_REMOVED); + zsend_ipset_notify_owner(ipset, ZAPI_IPSET_FAIL_REMOVE); break; } } @@ -710,7 +710,7 @@ void kernel_pbr_ipset_entry_add_del_status( break; case SOUTHBOUND_DELETE_FAILURE: zsend_ipset_entry_notify_owner(ipset, - ZAPI_IPSET_ENTRY_REMOVED); + ZAPI_IPSET_ENTRY_FAIL_REMOVE); break; } } @@ -734,7 +734,7 @@ void kernel_pbr_iptable_add_del_status(struct zebra_pbr_iptable *iptable, break; case SOUTHBOUND_DELETE_FAILURE: zsend_iptable_notify_owner(iptable, - ZAPI_IPTABLE_REMOVED); + ZAPI_IPTABLE_FAIL_REMOVE); break; } }