the vrf_id parameter is replaced by struct vrf * parameter.
this impacts most of the daemons that look for an interface based on the
name and the vrf identifier.
Also, it fixes 2 lookup calls in zebra and sharpd, where the vrf_id was
ignored until now.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
vector_set (babel_enable_if, strdup (ifname));
- ifp = if_lookup_by_name(ifname, VRF_DEFAULT);
+ ifp = if_lookup_by_name(ifname, vrf_lookup_by_id(VRF_DEFAULT));
if (ifp != NULL)
interface_recalculate(ifp);
free (str);
vector_unset (babel_enable_if, babel_enable_if_index);
- ifp = if_lookup_by_name(ifname, VRF_DEFAULT);
+ ifp = if_lookup_by_name(ifname, vrf_lookup_by_id(VRF_DEFAULT));
if (ifp != NULL)
interface_reset(ifp);
show_babel_interface_sub (vty, ifp);
return CMD_SUCCESS;
}
- if ((ifp = if_lookup_by_name (argv[3]->arg, VRF_DEFAULT)) == NULL)
+ if ((ifp = if_lookup_by_name (argv[3]->arg,
+ vrf_lookup_by_id(VRF_DEFAULT))) == NULL)
{
vty_out (vty, "No such interface name\n");
return CMD_WARNING;
}
return CMD_SUCCESS;
}
- if ((ifp = if_lookup_by_name (argv[3]->arg, VRF_DEFAULT)) == NULL)
+ if ((ifp = if_lookup_by_name (argv[3]->arg,
+ vrf_lookup_by_id(VRF_DEFAULT))) == NULL)
{
vty_out (vty, "No such interface name\n");
return CMD_WARNING;
if (! dist->ifname)
return;
- ifp = if_lookup_by_name (dist->ifname, VRF_DEFAULT);
+ ifp = if_lookup_by_name (dist->ifname, vrf_lookup_by_id(VRF_DEFAULT));
if (ifp == NULL)
return;
if (bgp->inst_type == BGP_INSTANCE_TYPE_VIEW)
continue;
- ifp = if_lookup_by_name(name, bgp->vrf_id);
+ ifp = if_lookup_by_name(name,
+ vrf_lookup_by_id(bgp->vrf_id));
if (ifp) {
*bgp_inst = bgp;
return 0;
/* Source is specified with interface name. */
if (peer->update_if) {
- ifp = if_lookup_by_name(peer->update_if, peer->bgp->vrf_id);
+ ifp = if_lookup_by_name(peer->update_if,
+ vrf_lookup_by_id(peer->bgp->vrf_id));
if (!ifp)
return -1;
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);
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,
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);
}
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;
hash_release(peer->bgp->peerhash, peer);
prev_family = peer->su.sa.sa_family;
- if ((ifp = if_lookup_by_name(peer->conf_if, peer->bgp->vrf_id))) {
+ if ((ifp = if_lookup_by_name(peer->conf_if,
+ vrf_lookup_by_id(peer->bgp->vrf_id)))) {
peer->ifp = ifp;
/* If BGP unnumbered is not "v6only", we first see if we can
* derive the
return;
}
- ifp = if_lookup_by_name(dist->ifname, VRF_DEFAULT);
+ ifp = if_lookup_by_name(dist->ifname,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (ifp == NULL)
return;
struct route_map *rmap;
struct eigrp *e;
- ifp = if_lookup_by_name(if_rmap->ifname);
+ ifp = if_lookup_by_name(if_rmap->ifname, vrf_lookup_by_id(VRF_DEFAULT));
if (ifp == NULL)
return;
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_DEFAULT));
}
void eigrp_zebra_route_add(struct prefix *p, struct list *successors,
vrfname = yang_dnode_get_string(dnode->parent->parent, "./vrf");
vrf = vrf_lookup_by_name(vrfname);
assert(vrf);
- ifp = if_lookup_by_name(ifname, vrf->vrf_id);
+ ifp = if_lookup_by_name(ifname, vrf);
if (!ifp)
return NB_OK;
circuit = circuit_lookup_by_ifp(ifp, isis->init_circ_list);
vrfname = yang_dnode_get_string(dnode->parent->parent, "./vrf");
vrf = vrf_lookup_by_name(vrfname);
assert(vrf);
- ifp = if_lookup_by_name(ifname, vrf->vrf_id);
+ ifp = if_lookup_by_name(ifname, vrf);
if (!ifp)
break;
circuit = circuit_lookup_by_ifp(ifp, isis->init_circ_list);
}
} else {
/* Interface name is specified. */
- ifp = if_lookup_by_name(argv[idx_interface]->arg, VRF_DEFAULT);
+ ifp = if_lookup_by_name(argv[idx_interface]->arg,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (ifp == NULL)
vty_out(vty, "No such interface name\n");
else {
ifindex_t ifname2ifindex(const char *name, vrf_id_t vrf_id)
{
struct interface *ifp;
+ struct vrf *vrf = vrf_lookup_by_id(vrf_id);
- return ((ifp = if_lookup_by_name(name, vrf_id)) != NULL)
+ return ((ifp = if_lookup_by_name(name, vrf)) != NULL)
? ifp->ifindex
: IFINDEX_INTERNAL;
}
/* Interface existance check by interface name. */
-struct interface *if_lookup_by_name(const char *name, vrf_id_t vrf_id)
+struct interface *if_lookup_by_name(const char *name, struct vrf *vrf)
{
- struct vrf *vrf = vrf_lookup_by_id(vrf_id);
struct interface if_tmp;
if (!vrf || !name
return NULL;
RB_FOREACH (vrf, vrf_id_head, &vrfs_by_id) {
- ifp = if_lookup_by_name(name, vrf->vrf_id);
+ ifp = if_lookup_by_name(name, vrf);
if (ifp)
return ifp;
}
switch (vrf_get_backend()) {
case VRF_BACKEND_UNKNOWN:
case VRF_BACKEND_NETNS:
- ifp = if_lookup_by_name(name, vrf->vrf_id);
+ ifp = if_lookup_by_name(name, vrf);
if (ifp)
return ifp;
return if_create(name, vrf);
struct interface *ifp;
char *cp;
- if ((ifp = if_lookup_by_name(name, vrf->vrf_id)) != NULL)
+ if ((ifp = if_lookup_by_name(name, vrf)) != NULL)
return ifp;
/* hunt the primary interface name... */
vrf_id_t vrf_id;
struct interface *ifp;
int ret;
+ struct vrf *vrf;
if (!vrfname)
vrfname = VRF_DEFAULT_NAME;
VRF_GET_ID(vrf_id, vrfname, false);
ifp = if_lookup_by_name_all_vrf(ifname);
if (ifp && ifp->vrf_id != vrf_id) {
- struct vrf *vrf;
-
/*
* Special case 1: a VRF name was specified, but the found
* interface is associated to different VRF. Reject the command.
*/
vrf = vrf_lookup_by_id(ifp->vrf_id);
assert(vrf);
- vrf_id = ifp->vrf_id;
vrfname = vrf->name;
- }
+ } else
+ vrf = vrf_lookup_by_id(vrf_id);
snprintf(xpath_list, sizeof(xpath_list),
"/frr-interface:lib/interface[name='%s'][vrf='%s']", ifname,
* all interface-level commands are converted to the new
* northbound model.
*/
- ifp = if_lookup_by_name(ifname, vrf_id);
+ ifp = if_lookup_by_name(ifname, vrf);
if (ifp)
VTY_PUSH_CONTEXT(INTERFACE_NODE, ifp);
}
/* These 3 functions are to be used when the ifname argument is terminated
by a '\0' character: */
extern struct interface *if_lookup_by_name_all_vrf(const char *ifname);
-extern struct interface *if_lookup_by_name(const char *ifname, vrf_id_t vrf_id);
+extern struct interface *if_lookup_by_name(const char *ifname, struct vrf *vrf);
extern struct interface *if_get_by_name(const char *ifname, struct vrf *vrf);
extern void if_set_index(struct interface *ifp, ifindex_t ifindex);
stream_get(ifname_tmp, s, INTERFACE_NAMSIZ);
/* Lookup this by interface index. */
- ifp = if_lookup_by_name(ifname_tmp, vrf_id);
+ ifp = if_lookup_by_name(ifname_tmp,
+ vrf_lookup_by_id(vrf_id));
if (ifp == NULL) {
flog_err(EC_LIB_ZAPI_ENCODE,
"INTERFACE_STATE: Cannot find IF %s in VRF %d",
ifindex = stream_getl(s);
- struct interface *ifp = if_lookup_by_index(ifindex, vrf_id);
+ struct interface *ifp = if_lookup_by_index(ifindex,
+ vrf_id);
if (ifp == NULL) {
flog_err(EC_LIB_ZAPI_ENCODE,
stream_get(ifname, s, INTERFACE_NAMSIZ);
/* Lookup interface. */
- ifp = if_lookup_by_name(ifname, vrf_id);
+ ifp = if_lookup_by_name(ifname,
+ vrf_lookup_by_id(vrf_id));
if (ifp == NULL) {
flog_err(EC_LIB_ZAPI_ENCODE,
"INTERFACE_VRF_UPDATE: Cannot find IF %s in VRF %d",
sockunion_family(&nbma) = AF_UNSPEC;
if (nifp->source)
- nbmaifp = if_lookup_by_name(nifp->source, VRF_DEFAULT);
+ nbmaifp = if_lookup_by_name(nifp->source,
+ vrf_lookup_by_id(VRF_DEFAULT));
switch (ifp->ll_type) {
case ZEBRA_LLT_IPGRE: {
if (type == RMAP_OSPF6) {
ei = ((struct ospf6_route *)object)->route_option;
- ifp = if_lookup_by_name((char *)rule, VRF_DEFAULT);
+ ifp = if_lookup_by_name((char *)rule,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (ifp != NULL && ei->ifindex == ifp->ifindex)
return RMAP_MATCH;
struct interface *ifp;
if (argc == 5) {
- ifp = if_lookup_by_name(argv[idx_ifname]->arg, VRF_DEFAULT);
+ ifp = if_lookup_by_name(argv[idx_ifname]->arg,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (ifp == NULL) {
vty_out(vty, "No such Interface: %s\n",
argv[idx_ifname]->arg);
if (argv_find(argv, argc, "IFNAME", &idx_ifname)) {
intf_name = argv[idx_ifname]->arg;
- ifp = if_lookup_by_name(intf_name, VRF_DEFAULT);
+ ifp = if_lookup_by_name(intf_name,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (ifp == NULL) {
vty_out(vty, "No such Interface: %s\n", intf_name);
return CMD_WARNING;
struct interface *ifp;
struct ospf6_interface *oi;
- ifp = if_lookup_by_name(argv[idx_ifname]->arg, VRF_DEFAULT);
+ ifp = if_lookup_by_name(argv[idx_ifname]->arg,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (ifp == NULL) {
vty_out(vty, "No such Interface: %s\n", argv[idx_ifname]->arg);
return CMD_WARNING;
} else /* Interface name is specified. */
{
if ((ifp = if_lookup_by_name(argv[idx_ifname]->arg,
- VRF_DEFAULT))
+ vrf_lookup_by_id(VRF_DEFAULT)))
== NULL) {
vty_out(vty, "No such Interface: %s\n",
argv[idx_ifname]->arg);
struct interface *ifp;
uint32_t area_id;
- ifp = if_lookup_by_name(argv[idx_ifname]->arg, VRF_DEFAULT);
+ ifp = if_lookup_by_name(argv[idx_ifname]->arg,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (ifp == NULL) {
vty_out(vty, "No such interface %s\n", argv[idx_ifname]->arg);
return CMD_SUCCESS;
if (idx_interface) {
ifp = if_lookup_by_name(
argv[idx_interface]->arg,
- ospf->vrf_id);
+ vrf_lookup_by_id(ospf->vrf_id));
if (ifp == NULL) {
vty_out(vty, "No such interface name in vrf %s\n",
vrf->name);
json_interface);
} else {
/* Interface name is specified. */
- ifp = if_lookup_by_name(intf_name, ospf->vrf_id);
+ ifp = if_lookup_by_name(intf_name,
+ vrf_lookup_by_id(ospf->vrf_id));
if (ifp == NULL) {
if (use_json)
json_object_boolean_true_add(json_vrf,
}
} else {
/* Interface name is specified. */
- ifp = if_lookup_by_name(intf_name, ospf->vrf_id);
+ ifp = if_lookup_by_name(intf_name,
+ vrf_lookup_by_id(ospf->vrf_id));
if (ifp != NULL) {
struct route_node *rn;
struct ospf_interface *oi;
ospf_show_vrf_name(ospf, vty, json, use_vrf);
- ifp = if_lookup_by_name(argv[arg_base]->arg, ospf->vrf_id);
+ ifp = if_lookup_by_name(argv[arg_base]->arg,
+ vrf_lookup_by_id(ospf->vrf_id));
if (!ifp) {
if (use_json)
json_object_boolean_true_add(json, "noSuchIface");
argv_find(argv, argc, "IFNAME", &idx_ifname);
- ifp = if_lookup_by_name(argv[idx_ifname]->arg, vrf_id);
+ ifp = if_lookup_by_name(argv[idx_ifname]->arg,
+ vrf_lookup_by_id(vrf_id));
if (!ifp)
return ret;
vty_out(vty, "\nOSPF Instance: %d\n\n", ospf->instance);
}
- ifp = if_lookup_by_name(argv[arg_base]->arg, ospf->vrf_id);
+ ifp = if_lookup_by_name(argv[arg_base]->arg,
+ vrf_lookup_by_id(ospf->vrf_id));
if (!ifp) {
if (!use_json)
vty_out(vty, "No such interface.\n");
}
} else {
/* Interface name is specified. */
- ifp = if_lookup_by_name(argv[idx_ifname]->arg, vrf_id);
+ ifp = if_lookup_by_name(argv[idx_ifname]->arg,
+ vrf_lookup_by_id(vrf_id));
if (ifp == NULL)
vty_out(vty, "No such interface name\n");
else
stream_get(ifname_tmp, s, INTERFACE_NAMSIZ);
/* And look it up. */
- return if_lookup_by_name(ifname_tmp, vrf_id);
+ return if_lookup_by_name(ifname_tmp,
+ vrf_lookup_by_id(vrf_id));
}
static int ospf_interface_state_up(ZAPI_CALLBACK_ARGS)
pim = pim_ifp->pim;
oifname = argv[idx_interface]->arg;
- oif = if_lookup_by_name(oifname, pim->vrf_id);
+ oif = if_lookup_by_name(oifname, pim->vrf);
if (!oif) {
vty_out(vty, "No such interface name %s\n", oifname);
return CMD_WARNING;
pim = pim_ifp->pim;
oifname = argv[idx_interface]->arg;
- oif = if_lookup_by_name(oifname, pim->vrf_id);
+ oif = if_lookup_by_name(oifname, pim->vrf);
if (!oif) {
vty_out(vty, "No such interface name %s\n", oifname);
return CMD_WARNING;
pim = pim_ifp->pim;
oifname = argv[idx_interface]->arg;
- oif = if_lookup_by_name(oifname, pim->vrf_id);
+ oif = if_lookup_by_name(oifname, pim->vrf);
if (!oif) {
vty_out(vty, "No such interface name %s\n", oifname);
return CMD_WARNING;
pim = pim_ifp->pim;
oifname = argv[idx_interface]->arg;
- oif = if_lookup_by_name(oifname, pim->vrf_id);
+ oif = if_lookup_by_name(oifname, pim->vrf);
if (!oif) {
vty_out(vty, "No such interface name %s\n", oifname);
return CMD_WARNING;
idx = 3;
peerlink = argv[idx]->arg;
- ifp = if_lookup_by_name(peerlink, VRF_DEFAULT);
+ ifp = if_lookup_by_name(peerlink, vrf_lookup_by_id(VRF_DEFAULT));
if (!ifp) {
vty_out(vty, "No such interface name %s\n", peerlink);
return CMD_WARNING;
struct interface *lo_ifp;
// DBS - Come back and check here
if (ifp->vrf_id == VRF_DEFAULT)
- lo_ifp = if_lookup_by_name("lo", vrf->vrf_id);
+ lo_ifp = if_lookup_by_name("lo", vrf);
else
- lo_ifp = if_lookup_by_name(vrf->name, vrf->vrf_id);
+ lo_ifp = if_lookup_by_name(vrf->name, vrf);
if (lo_ifp)
return pim_find_primary_addr(lo_ifp);
if (pim->vrf_id != VRF_DEFAULT) {
struct interface *ifp =
- if_lookup_by_name(pim->vrf->name, pim->vrf_id);
+ if_lookup_by_name(pim->vrf->name, pim->vrf);
if (!ifp) {
flog_err(EC_LIB_INTERFACE,
"%s: Unable to lookup vrf interface: %s",
if (mp->pim->vrf_id != VRF_DEFAULT) {
struct interface *ifp =
- if_lookup_by_name(mp->pim->vrf->name, mp->pim->vrf_id);
+ if_lookup_by_name(mp->pim->vrf->name, mp->pim->vrf);
if (!ifp) {
flog_err(EC_LIB_INTERFACE,
"%s: Unable to lookup vrf interface: %s",
*/
if (sscanf(ifp->name, "pimreg%" SCNu32, &table_id) == 1) {
struct vrf *vrf;
+
RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name) {
if ((table_id == vrf->data.l.table_id)
&& (ifp->vrf_id != vrf->vrf_id)) {
struct interface *master = if_lookup_by_name(
- vrf->name, vrf->vrf_id);
+ vrf->name, vrf);
if (!master) {
zlog_debug(
if (type == RMAP_RIP) {
ifname = rule;
- ifp = if_lookup_by_name(ifname, VRF_DEFAULT);
+ ifp = if_lookup_by_name(ifname,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (!ifp)
return RMAP_NOMATCH;
if (!ctx->vrf || !dist->ifname)
return;
- ifp = if_lookup_by_name(dist->ifname, ctx->vrf->vrf_id);
+ ifp = if_lookup_by_name(dist->ifname, ctx->vrf);
if (ifp == NULL)
return;
if (ctx->name)
vrf = vrf_lookup_by_name(ctx->name);
if (vrf)
- ifp = if_lookup_by_name(if_rmap->ifname, vrf->vrf_id);
+ ifp = if_lookup_by_name(if_rmap->ifname, vrf);
if (ifp == NULL)
return;
if (type == RMAP_RIPNG) {
ifname = rule;
- ifp = if_lookup_by_name(ifname, VRF_DEFAULT);
+ ifp = if_lookup_by_name(ifname,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (!ifp)
return RMAP_NOMATCH;
if (!ctx->vrf || !dist->ifname)
return;
- ifp = if_lookup_by_name(dist->ifname, ctx->vrf->vrf_id);
+ ifp = if_lookup_by_name(dist->ifname, ctx->vrf);
if (ifp == NULL)
return;
if (ctx->name)
vrf = vrf_lookup_by_name(ctx->name);
if (vrf)
- ifp = if_lookup_by_name(if_rmap->ifname, vrf->vrf_id);
+ ifp = if_lookup_by_name(if_rmap->ifname, vrf);
if (ifp == NULL)
return;
/* 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];
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. */
static int interface_state_up(ZAPI_CALLBACK_ARGS)
{
- zebra_interface_if_lookup(zclient->ibuf);
+ zebra_interface_if_lookup(zclient->ibuf, vrf_id);
return 0;
}
else {
struct interface *ifp;
- ifp = if_lookup_by_name(ifname, nh_svrf->vrf->vrf_id);
+ ifp = if_lookup_by_name(ifname, nh_svrf->vrf);
if (ifp && ifp->ifindex != IFINDEX_INTERNAL) {
si->ifindex = ifp->ifindex;
static_install_route(rn, si, safi);
si->nh_vrf_id = svrf->vrf->vrf_id;
si->nh_registered = false;
if (si->ifindex) {
- ifp = if_lookup_by_name(si->ifname,
- si->nh_vrf_id);
+ ifp = if_lookup_by_name(si->ifname, svrf->vrf);
if (ifp)
si->ifindex = ifp->ifindex;
else
si->vrf_id = vrf->vrf_id;
if (si->ifindex) {
ifp = if_lookup_by_name(si->ifname,
- si->nh_vrf_id);
+ vrf_lookup_by_id(
+ si->nh_vrf_id));
if (ifp)
si->ifindex = ifp->ifindex;
else
struct zclient *zclient;
static struct hash *static_nht_hash;
-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];
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. */
{
struct interface *ifp;
- ifp = zebra_interface_if_lookup(zclient->ibuf);
+ ifp = zebra_interface_if_lookup(zclient->ibuf, vrf_id);
if (ifp) {
if (if_is_vrf(ifp)) {
continue;
}
- ifp = if_lookup_by_name(ifap->ifa_name, VRF_DEFAULT);
+ ifp = if_lookup_by_name(ifap->ifa_name,
+ vrf_lookup_by_id(VRF_DEFAULT));
if (ifp == NULL) {
flog_err(EC_LIB_INTERFACE,
"if_getaddrs(): Can't lookup interface %s\n",
VRF_GET_ID(vrf_id, argv[idx_name]->arg, false);
/* Specified interface print. */
- ifp = if_lookup_by_name(argv[idx_ifname]->arg, vrf_id);
+ ifp = if_lookup_by_name(argv[idx_ifname]->arg,
+ vrf_lookup_by_id(vrf_id));
if (ifp == NULL) {
vty_out(vty, "%% Can't find interface %s\n",
argv[idx_ifname]->arg);
/* All interface print. */
RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name) {
/* Specified interface print. */
- ifp = if_lookup_by_name(argv[idx_ifname]->arg, vrf->vrf_id);
+ ifp = if_lookup_by_name(argv[idx_ifname]->arg, vrf);
if (ifp) {
if_dump_vty(vty, ifp);
found++;
* be filled in.
*/
if ((ifp == NULL) && ifnlen)
- ifp = if_lookup_by_name(ifname, VRF_DEFAULT);
+ ifp = if_lookup_by_name(ifname, vrf);
/*
* If ifp still does not exist or has an invalid index
STREAM_GETC(s, ltype);
if (zvrf->vrf->vrf_id != VRF_DEFAULT)
- ifp = if_lookup_by_name(zvrf->vrf->name, zvrf->vrf->vrf_id);
+ ifp = if_lookup_by_name(zvrf->vrf->name, zvrf->vrf);
else
- ifp = if_lookup_by_name("lo", VRF_DEFAULT);
+ ifp = if_lookup_by_name("lo", vrf_lookup_by_id(VRF_DEFAULT));
if (!ifp) {
zlog_debug("Unable to find specified Interface for %s",