summaryrefslogtreecommitdiff
path: root/lib/vrf.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/vrf.c')
-rw-r--r--lib/vrf.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/vrf.c b/lib/vrf.c
index 31ea2d6c4c..e2afa2b231 100644
--- a/lib/vrf.c
+++ b/lib/vrf.c
@@ -593,10 +593,22 @@ int vrf_get_backend(void)
return vrf_backend;
}
-void vrf_configure_backend(int vrf_backend_netns)
+int vrf_configure_backend(enum vrf_backend_type backend)
{
- vrf_backend = vrf_backend_netns;
+ /* Work around issue in old gcc */
+ switch (backend) {
+ case VRF_BACKEND_UNKNOWN:
+ case VRF_BACKEND_NETNS:
+ case VRF_BACKEND_VRF_LITE:
+ break;
+ default:
+ return -1;
+ }
+
+ vrf_backend = backend;
vrf_backend_configured = 1;
+
+ return 0;
}
int vrf_handler_create(struct vty *vty, const char *vrfname,