summaryrefslogtreecommitdiff
path: root/sharpd/sharp_zebra.c
diff options
context:
space:
mode:
Diffstat (limited to 'sharpd/sharp_zebra.c')
-rw-r--r--sharpd/sharp_zebra.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sharpd/sharp_zebra.c b/sharpd/sharp_zebra.c
index cd6f956580..01d6db0784 100644
--- a/sharpd/sharp_zebra.c
+++ b/sharpd/sharp_zebra.c
@@ -46,7 +46,7 @@ struct zclient *zclient = NULL;
/* For registering threads. */
extern struct thread_master *master;
-static struct interface *zebra_interface_if_lookup(struct stream *s)
+static struct interface *zebra_interface_if_lookup(struct stream *s, vrf_id_t vrf_id)
{
char ifname_tmp[INTERFACE_NAMSIZ];
@@ -54,7 +54,8 @@ static struct interface *zebra_interface_if_lookup(struct stream *s)
stream_get(ifname_tmp, s, INTERFACE_NAMSIZ);
/* And look it up. */
- return if_lookup_by_name(ifname_tmp, VRF_DEFAULT);
+ return if_lookup_by_name(ifname_tmp,
+ vrf_lookup_by_id(vrf_id));
}
/* Inteface addition message from zebra. */
@@ -112,7 +113,7 @@ static int interface_address_delete(ZAPI_CALLBACK_ARGS)
static int interface_state_up(ZAPI_CALLBACK_ARGS)
{
- zebra_interface_if_lookup(zclient->ibuf);
+ zebra_interface_if_lookup(zclient->ibuf, vrf_id);
return 0;
}