]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: handle notification in case pbr ipset, or iptables is removed
authorPhilippe Guibert <philippe.guibert@6wind.com>
Mon, 23 Apr 2018 13:31:04 +0000 (15:31 +0200)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Thu, 31 May 2018 15:44:39 +0000 (17:44 +0200)
In cast the removal of an iptable or an ipset pbr context is done,
then a notification is sent back to the relevant daemon that sent the
message.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
zebra/zebra_pbr.c

index 69b14d9d2e9db33d1b171a357ce4a79f33c3b194..166b04dc962a54414b8f380f50b8490844783f79 100644 (file)
@@ -564,8 +564,10 @@ void kernel_pbr_ipset_add_del_status(struct zebra_pbr_ipset *ipset,
                zsend_ipset_notify_owner(ipset, ZAPI_IPSET_FAIL_INSTALL);
                break;
        case SOUTHBOUND_DELETE_SUCCESS:
+               zsend_ipset_notify_owner(ipset, ZAPI_IPSET_REMOVED);
+               break;
        case SOUTHBOUND_DELETE_FAILURE:
-               /* TODO : handling of delete event */
+               zsend_ipset_notify_owner(ipset, ZAPI_IPSET_REMOVED);
                break;
        }
 }
@@ -587,8 +589,12 @@ void kernel_pbr_ipset_entry_add_del_status(
                                               ZAPI_IPSET_ENTRY_FAIL_INSTALL);
                break;
        case SOUTHBOUND_DELETE_SUCCESS:
+               zsend_ipset_entry_notify_owner(ipset,
+                                              ZAPI_IPSET_ENTRY_REMOVED);
+               break;
        case SOUTHBOUND_DELETE_FAILURE:
-               /* TODO : handling of delete event */
+               zsend_ipset_entry_notify_owner(ipset,
+                                              ZAPI_IPSET_ENTRY_REMOVED);
                break;
        }
 }
@@ -607,8 +613,12 @@ void kernel_pbr_iptable_add_del_status(struct zebra_pbr_iptable *iptable,
                zsend_iptable_notify_owner(iptable, ZAPI_IPTABLE_FAIL_INSTALL);
                break;
        case SOUTHBOUND_DELETE_SUCCESS:
+               zsend_iptable_notify_owner(iptable,
+                                          ZAPI_IPTABLE_REMOVED);
+               break;
        case SOUTHBOUND_DELETE_FAILURE:
-               /* TODO : handling of delete event */
+               zsend_iptable_notify_owner(iptable,
+                                          ZAPI_IPTABLE_REMOVED);
                break;
        }
 }