mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-16 17:15:14 +00:00
ospf6d: don't use if_lookup_by_name_all_vrf
if_lookup_by_name_all_vrf doesn't work correctly with netns VRF backend as the same index may be used in multiple netns simultaneously. Use the appropriate VRF when looking for the interface. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
This commit is contained in:
parent
31eab818f6
commit
198ef12aef
@ -2042,10 +2042,12 @@ ospf6_routemap_rule_match_interface(void *rule, const struct prefix *prefix,
|
|||||||
void *object)
|
void *object)
|
||||||
{
|
{
|
||||||
struct interface *ifp;
|
struct interface *ifp;
|
||||||
|
struct ospf6_route *route;
|
||||||
struct ospf6_external_info *ei;
|
struct ospf6_external_info *ei;
|
||||||
|
|
||||||
ei = ((struct ospf6_route *)object)->route_option;
|
route = object;
|
||||||
ifp = if_lookup_by_name_all_vrf((char *)rule);
|
ei = route->route_option;
|
||||||
|
ifp = if_lookup_by_name((char *)rule, route->ospf6->vrf_id);
|
||||||
|
|
||||||
if (ifp != NULL && ei->ifindex == ifp->ifindex)
|
if (ifp != NULL && ei->ifindex == ifp->ifindex)
|
||||||
return RMAP_MATCH;
|
return RMAP_MATCH;
|
||||||
|
Loading…
Reference in New Issue
Block a user