diff options
Diffstat (limited to 'bgpd/bgp_zebra.c')
| -rw-r--r-- | bgpd/bgp_zebra.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index 5e9fc57f59..252eb88143 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -787,7 +787,7 @@ bool bgp_zebra_nexthop_set(union sockunion *local, union sockunion *remote, nexthop->v4 = local->sin.sin_addr; if (peer->update_if) ifp = if_lookup_by_name(peer->update_if, - peer->bgp->vrf_id); + vrf_lookup_by_id(peer->bgp->vrf_id)); else ifp = if_lookup_by_ipv4_exact(&local->sin.sin_addr, peer->bgp->vrf_id); @@ -798,10 +798,11 @@ bool bgp_zebra_nexthop_set(union sockunion *local, union sockunion *remote, ifp = if_lookup_by_name(peer->conf_if ? peer->conf_if : peer->ifname, - peer->bgp->vrf_id); + vrf_lookup_by_id( + peer->bgp->vrf_id)); } else if (peer->update_if) ifp = if_lookup_by_name(peer->update_if, - peer->bgp->vrf_id); + vrf_lookup_by_id(peer->bgp->vrf_id)); else ifp = if_lookup_by_ipv6_exact(&local->sin6.sin6_addr, local->sin6.sin6_scope_id, @@ -2882,7 +2883,8 @@ static void bgp_encode_pbr_interface_list(struct bgp *bgp, struct stream *s) head = &(bgp_pbr_cfg->ifaces_by_name_ipv4); RB_FOREACH (pbr_if, bgp_pbr_interface_head, head) { - ifp = if_lookup_by_name(pbr_if->name, bgp->vrf_id); + ifp = if_lookup_by_name(pbr_if->name, + vrf_lookup_by_id(bgp->vrf_id)); if (ifp) stream_putl(s, ifp->ifindex); } @@ -2900,7 +2902,8 @@ static int bgp_pbr_get_ifnumber(struct bgp *bgp) head = &(bgp_pbr_cfg->ifaces_by_name_ipv4); RB_FOREACH (pbr_if, bgp_pbr_interface_head, head) { - if (if_lookup_by_name(pbr_if->name, bgp->vrf_id)) + if (if_lookup_by_name(pbr_if->name, + vrf_lookup_by_id(bgp->vrf_id))) cnt++; } return cnt; |
