]> git.puffer.fish Git - mirror/frr.git/commitdiff
pbrd, zebra: Properly notice rule deletion
authorDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 9 Apr 2018 13:41:08 +0000 (09:41 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 17 Apr 2018 22:43:47 +0000 (18:43 -0400)
When a rule is deleted properly notice it in pbr.

Ticket: CM-20394
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pbrd/pbr_zebra.c
zebra/zebra_pbr.c

index cdb01bae9ed89bb9f9534c6073c7889f474711e2..931874748aec0431f770ebfefb4a05166ee4bc2d 100644 (file)
@@ -237,6 +237,7 @@ static int rule_notify_owner(int command, struct zclient *zclient,
                       __PRETTY_FUNCTION__);
                break;
        case ZAPI_RULE_REMOVED:
+               pbrms->installed &= ~installed;
                DEBUGD(&pbr_dbg_zebra, "%s: Received RULE REMOVED",
                       __PRETTY_FUNCTION__);
                break;
index 327b6a6698cce511274653a9f2e060e356a72534..758365d716aab84a9e27067251fe7e936867646d 100644 (file)
@@ -496,8 +496,10 @@ void kernel_pbr_rule_add_del_status(struct zebra_pbr_rule *rule,
                zsend_rule_notify_owner(rule, ZAPI_RULE_FAIL_INSTALL);
                break;
        case SOUTHBOUND_DELETE_SUCCESS:
+               zsend_rule_notify_owner(rule, ZAPI_RULE_REMOVED);
                break;
        case SOUTHBOUND_DELETE_FAILURE:
+               zsend_rule_notify_owner(rule, ZAPI_RULE_REMOVED);
                break;
        }
 }