]> git.puffer.fish Git - matthieu/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>
Fri, 25 May 2018 13:49:38 +0000 (15:49 +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 7ab6c944309b0b12f41107ed7f7a8b781d2bd291..906271c33ab77c700aac4737b04161b36d3d9208 100644 (file)
@@ -566,8 +566,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;
        }
 }
@@ -589,8 +591,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;
        }
 }
@@ -609,8 +615,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;
        }
 }