oil_mcastgrp(c_oil));
snprintfrr(src_str, sizeof(src_str), "%pPAs",
oil_origin(c_oil));
- ifp_in = pim_if_find_by_vif_index(pim, *oil_parent(c_oil));
+ ifp_in = pim_if_find_by_vif_index(pim, *oil_incoming_vif(c_oil));
if (ifp_in)
strlcpy(in_ifname, ifp_in->name, sizeof(in_ifname));
if (pim_channel_oil_empty(c_oil))
strlcat(state_str, "P", sizeof(state_str));
- ifp_in = pim_if_find_by_vif_index(pim, *oil_parent(c_oil));
+ ifp_in = pim_if_find_by_vif_index(pim, *oil_incoming_vif(c_oil));
if (ifp_in)
strlcpy(in_ifname, ifp_in->name, sizeof(in_ifname));
if (c_oil->oif_flags[oif_vif_index] & PIM_OIF_FLAG_MUTE)
continue;
- if (*oil_parent(c_oil) == oif_vif_index &&
+ if (*oil_incoming_vif(c_oil) == oif_vif_index &&
!pim_mroute_allow_iif_in_oil(c_oil, oif_vif_index))
continue;
"inboundInterface",
in_ifname);
json_object_int_add(json_ifp_out, "iVifI",
- *oil_parent(c_oil));
+ *oil_incoming_vif(c_oil));
json_object_string_add(json_ifp_out,
"outboundInterface",
out_ifname);
json_object_string_add(json_ifp_out,
"inboundInterface",
in_ifname);
- json_object_int_add(
- json_ifp_out, "iVifI",
- *oil_parent(&s_route->c_oil));
+ json_object_int_add(json_ifp_out, "iVifI",
+ *oil_incoming_vif(
+ &s_route->c_oil));
json_object_string_add(json_ifp_out,
"outboundInterface",
out_ifname);
up->channel_oil->cc.pktcnt++;
// resolve mfcc_parent prior to mroute_add in channel_add_oif
if (up->rpf.source_nexthop.interface &&
- *oil_parent(up->channel_oil) >= MAXVIFS) {
+ *oil_incoming_vif(up->channel_oil) >= MAXVIFS) {
pim_upstream_mroute_iif_update(up->channel_oil, __func__);
}
pim_register_join(up);
*oil_origin(out) = *oil_origin(in);
*oil_mcastgrp(out) = *oil_mcastgrp(in);
- *oil_parent(out) = *oil_parent(in);
+ *oil_incoming_vif(out) = *oil_incoming_vif(in);
for (i = 0; i < MAXVIFS; ++i) {
- if (*oil_parent(out) == i &&
+ if (*oil_incoming_vif(out) == i &&
!pim_mroute_allow_iif_in_oil(in, i)) {
oil_if_set(out, i, 0);
continue;
* in the case of a (*,G).
*/
if (pim_addr_is_any(*oil_origin(c_oil))) {
- oil_if_set(tmp_oil, *oil_parent(c_oil), 1);
+ oil_if_set(tmp_oil, *oil_incoming_vif(c_oil), 1);
}
/*
* the packets to be forwarded. Then set it
* to the correct IIF afterwords.
*/
- if (!c_oil->installed && !pim_addr_is_any(*oil_origin(c_oil))
- && *oil_parent(c_oil) != 0) {
- *oil_parent(tmp_oil) = 0;
+ if (!c_oil->installed && !pim_addr_is_any(*oil_origin(c_oil)) &&
+ *oil_incoming_vif(c_oil) != 0) {
+ *oil_incoming_vif(tmp_oil) = 0;
}
/* For IPv6 MRT_ADD_MFC is defined to MRT6_ADD_MFC */
err = setsockopt(pim->mroute_socket, PIM_IPPROTO, MRT_ADD_MFC,
&tmp_oil->oil, sizeof(tmp_oil->oil));
- if (!err && !c_oil->installed
- && !pim_addr_is_any(*oil_origin(c_oil))
- && *oil_parent(c_oil) != 0) {
- *oil_parent(tmp_oil) = *oil_parent(c_oil);
+ if (!err && !c_oil->installed && !pim_addr_is_any(*oil_origin(c_oil)) &&
+ *oil_incoming_vif(c_oil) != 0) {
+ *oil_incoming_vif(tmp_oil) = *oil_incoming_vif(c_oil);
err = setsockopt(pim->mroute_socket, PIM_IPPROTO, MRT_ADD_MFC,
&tmp_oil->oil, sizeof(tmp_oil->oil));
}
{
char buf[1000];
- if (*oil_parent(c_oil) >= MAXVIFS) {
+ if (*oil_incoming_vif(c_oil) >= MAXVIFS) {
/* the c_oil cannot be installed as a mroute yet */
if (PIM_DEBUG_MROUTE)
zlog_debug(
iif = pim_upstream_get_mroute_iif(c_oil, name);
- if (*oil_parent(c_oil) != iif) {
- *oil_parent(c_oil) = iif;
+ if (*oil_incoming_vif(c_oil) != iif) {
+ *oil_incoming_vif(c_oil) = iif;
if (pim_addr_is_any(*oil_origin(c_oil)) &&
c_oil->up)
pim_upstream_all_sources_iif_update(c_oil->up);
} else {
- *oil_parent(c_oil) = iif;
+ *oil_incoming_vif(c_oil) = iif;
}
return pim_upstream_mroute_update(c_oil, name);
char buf[1000];
iif = pim_upstream_get_mroute_iif(c_oil, name);
- if (*oil_parent(c_oil) == iif) {
+ if (*oil_incoming_vif(c_oil) == iif) {
/* no change */
return 0;
}
- *oil_parent(c_oil) = iif;
+ *oil_incoming_vif(c_oil) = iif;
if (pim_addr_is_any(*oil_origin(c_oil)) &&
c_oil->up)
int input_vif_index,
const char *name)
{
- if (*oil_parent(c_oil) == input_vif_index)
+ if (*oil_incoming_vif(c_oil) == input_vif_index)
return;
- *oil_parent(c_oil) = input_vif_index;
+ *oil_incoming_vif(c_oil) = input_vif_index;
if (input_vif_index == MAXVIFS)
pim_mroute_del(c_oil, name);
else
if (PIM_DEBUG_MROUTE) {
char buf[1000];
struct interface *iifp =
- pim_if_find_by_vif_index(pim,
- *oil_parent(c_oil));
+ pim_if_find_by_vif_index(pim, *oil_incoming_vif(
+ c_oil));
zlog_debug("%s %s: incoming interface %s for route is %s not installed, do not need to send del req. ",
__FILE__, __func__,
sg.src = *oil_origin(c_oil);
sg.grp = *oil_mcastgrp(c_oil);
- ifp = pim_if_find_by_vif_index(c_oil->pim, *oil_parent(c_oil));
+ ifp = pim_if_find_by_vif_index(c_oil->pim, *oil_incoming_vif(c_oil));
snprintfrr(buf, size, "%pSG IIF: %s, OIFS: ", &sg,
ifp ? ifp->name : "(?)");
*oil_mcastgrp(c_oil) = sg->grp;
*oil_origin(c_oil) = sg->src;
- *oil_parent(c_oil) = MAXVIFS;
+ *oil_incoming_vif(c_oil) = MAXVIFS;
c_oil->oil_ref_count = 1;
c_oil->installed = 0;
c_oil->up = pim_upstream_find(pim, sg);
!(PIM_UPSTREAM_FLAG_TEST_SRC_NOCACHE(c_oil->up->flags)))
continue;
- if (*oil_parent(c_oil) != pim_ifp->mroute_vif_index)
+ if (*oil_incoming_vif(c_oil) != pim_ifp->mroute_vif_index)
continue;
EVENT_OFF(c_oil->up->t_ka_timer);
if (PIM_DEBUG_MROUTE) {
struct interface *iifp =
pim_if_find_by_vif_index(pim_ifp->pim,
- *oil_parent(channel_oil));
-
+ *oil_incoming_vif(channel_oil));
zlog_debug("%s(%s): (S,G)=(%pPAs,%pPAs): proto_mask=%u IIF:%s OIF=%s vif_index=%d",
__func__, caller, oil_origin(channel_oil),
/* channel_oil->oil.mfcc_parent != MAXVIFS indicate this entry is not
* valid to get installed in kernel.
*/
- if (*oil_parent(channel_oil) != MAXVIFS) {
+ if (*oil_incoming_vif(channel_oil) != MAXVIFS) {
if (pim_upstream_mroute_add(channel_oil, __func__)) {
if (PIM_DEBUG_MROUTE) {
zlog_debug(
return &c_oil->oil.mfcc_mcastgrp;
}
-static inline vifi_t *oil_parent(struct channel_oil *c_oil)
+static inline vifi_t *oil_incoming_vif(struct channel_oil *c_oil)
{
return &c_oil->oil.mfcc_parent;
}
return &c_oil->oil.mf6cc_mcastgrp.sin6_addr;
}
-static inline mifi_t *oil_parent(struct channel_oil *c_oil)
+static inline mifi_t *oil_incoming_vif(struct channel_oil *c_oil)
{
return &c_oil->oil.mf6cc_parent;
}
s_route->c_oil.oil_ref_count = 1;
*oil_origin(&s_route->c_oil) = source;
*oil_mcastgrp(&s_route->c_oil) = group;
- *oil_parent(&s_route->c_oil) = iif;
+ *oil_incoming_vif(&s_route->c_oil) = iif;
oil_if_set(&s_route->c_oil, oif, 1);
s_route->c_oil.oif_creation[oif] = pim_time_monotonic_sec();
return false;
pim_ifp = ifp->info;
- if (pim_ifp->mroute_vif_index != *oil_parent(c_oil))
+ if (pim_ifp->mroute_vif_index != *oil_incoming_vif(c_oil))
return false;
if (pim_if_connected_to_source(up->rpf.source_nexthop.interface,
int ret;
pim_sgaddr more = {};
struct interface *ifp =
- pim_if_find_by_vif_index(c_oil->pim, *oil_parent(c_oil));
+ pim_if_find_by_vif_index(c_oil->pim, *oil_incoming_vif(c_oil));
if (PIM_DEBUG_ZEBRA) {
more.src = *oil_origin(c_oil);
more.grp = *oil_mcastgrp(c_oil);
zlog_debug("Sending Request for New Channel Oil Information%pSG VIIF %d(%s:%s)",
- &more, *oil_parent(c_oil),
+ &more, *oil_incoming_vif(c_oil),
ifp ? ifp->name : "Unknown", c_oil->pim->vrf->name);
}