diff options
Diffstat (limited to 'sharpd/sharp_zebra.c')
| -rw-r--r-- | sharpd/sharp_zebra.c | 7 |
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; } |
