]> git.proxmox.com Git - mirror_frr.git/blobdiff - pbrd/pbr_vrf.c
Merge pull request #9610 from iqras23/best_path
[mirror_frr.git] / pbrd / pbr_vrf.c
index 389e5e8be0db189d04ad03ea0aff0355fbd94fe2..c3558ab5919e75438bab4cc3b232f23f9af46f3c 100644 (file)
@@ -26,8 +26,9 @@
 #include "pbr_map.h"
 #include "pbr_debug.h"
 #include "pbr_nht.h"
+#include "pbr_zebra.h"
 
-DEFINE_MTYPE_STATIC(PBRD, PBR_MAP_VRF, "PBR Map VRF")
+DEFINE_MTYPE_STATIC(PBRD, PBR_MAP_VRF, "PBR Map VRF");
 
 static struct pbr_vrf *pbr_vrf_alloc(void)
 {
@@ -91,17 +92,6 @@ static int pbr_vrf_delete(struct vrf *vrf)
        return 0;
 }
 
-struct pbr_vrf *pbr_vrf_lookup_by_id(vrf_id_t vrf_id)
-{
-       struct vrf *vrf;
-
-       vrf = vrf_lookup_by_id(vrf_id);
-       if (vrf)
-               return ((struct pbr_vrf *)vrf->info);
-
-       return NULL;
-}
-
 struct pbr_vrf *pbr_vrf_lookup_by_name(const char *name)
 {
        struct vrf *vrf;
@@ -137,3 +127,14 @@ void pbr_vrf_init(void)
        vrf_init(pbr_vrf_new, pbr_vrf_enable, pbr_vrf_disable, pbr_vrf_delete,
                 NULL);
 }
+
+void pbr_vrf_terminate(void)
+{
+       struct vrf *vrf;
+       struct interface *ifp;
+
+       RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name) {
+               FOR_ALL_INTERFACES (vrf, ifp)
+                       pbr_if_del(ifp);
+       }
+}