summaryrefslogtreecommitdiff
path: root/zebra/rtread_getmsg.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/rtread_getmsg.c')
-rw-r--r--zebra/rtread_getmsg.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/zebra/rtread_getmsg.c b/zebra/rtread_getmsg.c
index 17d75b283a..6975390415 100644
--- a/zebra/rtread_getmsg.c
+++ b/zebra/rtread_getmsg.c
@@ -25,6 +25,7 @@
#include "prefix.h"
#include "log.h"
#include "if.h"
+#include "vrf.h"
#include "zebra/rib.h"
#include "zebra/zserv.h"
@@ -90,11 +91,11 @@ handle_route_entry (mib2_ipRouteEntry_t *routeEntry)
gateway.s_addr = routeEntry->ipRouteNextHop;
rib_add_ipv4 (ZEBRA_ROUTE_KERNEL, 0, zebra_flags, &prefix,
- &gateway, NULL, 0, 0, 0, 0, SAFI_UNICAST);
+ &gateway, NULL, 0, VRF_DEFAULT, 0, 0, 0, SAFI_UNICAST);
}
void
-route_read (void)
+route_read (struct zebra_vrf *zvrf)
{
char storage[RT_BUFSIZ];
@@ -109,6 +110,10 @@ route_read (void)
struct strbuf msgdata;
int flags, dev, retval, process;
+ if (zvrf->vrf_id != VRF_DEFAULT) {
+ return;
+ }
+
if ((dev = open (_PATH_GETMSG_ROUTE, O_RDWR)) == -1) {
zlog_warn ("can't open %s: %s", _PATH_GETMSG_ROUTE,
safe_strerror (errno));