pimd: Addressing the review comments

Signed-off-by: Sarita Patra <saritap@vmware.com>
This commit is contained in:
Sarita Patra 2019-03-18 20:22:04 -07:00
parent 246445a372
commit 47e3ce59c4
4 changed files with 14 additions and 31 deletions

View File

@ -190,10 +190,6 @@ struct channel_oil *pim_channel_oil_add(struct pim_instance *pim,
c_oil->installed = 0; c_oil->installed = 0;
c_oil->up = pim_upstream_find(pim, sg); c_oil->up = pim_upstream_find(pim, sg);
c_oil->pim = pim; c_oil->pim = pim;
if (input_vif_index != MAXVIFS)
c_oil->is_valid = 1;
else
c_oil->is_valid = 0;
listnode_add_sort(pim->channel_oil_list, c_oil); listnode_add_sort(pim->channel_oil_list, c_oil);
@ -453,10 +449,10 @@ int pim_channel_add_oif(struct channel_oil *channel_oil, struct interface *oif,
channel_oil->oil.mfcc_ttls[pim_ifp->mroute_vif_index] = channel_oil->oil.mfcc_ttls[pim_ifp->mroute_vif_index] =
PIM_MROUTE_MIN_TTL; PIM_MROUTE_MIN_TTL;
/* channel_oil->is_valid indicate if this entry is valid to get /* channel_oil->oil.mfcc_parent != MAXVIFS indicate this entry is not
* installed in kernel. * valid to get installed in kernel.
*/ */
if (channel_oil->is_valid) { if (channel_oil->oil.mfcc_parent != MAXVIFS) {
if (pim_mroute_add(channel_oil, __PRETTY_FUNCTION__)) { if (pim_mroute_add(channel_oil, __PRETTY_FUNCTION__)) {
if (PIM_DEBUG_MROUTE) { if (PIM_DEBUG_MROUTE) {
char group_str[INET_ADDRSTRLEN]; char group_str[INET_ADDRSTRLEN];

View File

@ -89,7 +89,6 @@ struct channel_oil {
struct pim_instance *pim; struct pim_instance *pim;
struct mfcctl oil; struct mfcctl oil;
bool is_valid;
int installed; int installed;
int oil_inherited_rescan; int oil_inherited_rescan;
int oil_size; int oil_size;

View File

@ -325,7 +325,6 @@ void pim_upstream_rpf_clear(struct pim_instance *pim,
if (up->rpf.source_nexthop.interface) { if (up->rpf.source_nexthop.interface) {
if (up->channel_oil) { if (up->channel_oil) {
up->channel_oil->oil.mfcc_parent = MAXVIFS; up->channel_oil->oil.mfcc_parent = MAXVIFS;
up->channel_oil->is_valid = 0;
pim_mroute_del(up->channel_oil, __PRETTY_FUNCTION__); pim_mroute_del(up->channel_oil, __PRETTY_FUNCTION__);
} }

View File

@ -306,19 +306,13 @@ static int on_join_timer(struct thread *t)
static void join_timer_stop(struct pim_upstream *up) static void join_timer_stop(struct pim_upstream *up)
{ {
struct pim_neighbor *nbr; struct pim_neighbor *nbr = NULL;
if (!up->rpf.source_nexthop.interface) {
if (PIM_DEBUG_TRACE)
zlog_debug("%s: up %s RPF is not present",
__PRETTY_FUNCTION__, up->sg_str);
return;
}
THREAD_OFF(up->t_join_timer); THREAD_OFF(up->t_join_timer);
nbr = pim_neighbor_find(up->rpf.source_nexthop.interface, if (up->rpf.source_nexthop.interface)
up->rpf.rpf_addr.u.prefix4); nbr = pim_neighbor_find(up->rpf.source_nexthop.interface,
up->rpf.rpf_addr.u.prefix4);
if (nbr) if (nbr)
pim_jp_agg_remove_group(nbr->upstream_jp_agg, up); pim_jp_agg_remove_group(nbr->upstream_jp_agg, up);
@ -330,13 +324,6 @@ void join_timer_start(struct pim_upstream *up)
{ {
struct pim_neighbor *nbr = NULL; struct pim_neighbor *nbr = NULL;
if (!up->rpf.source_nexthop.interface) {
if (PIM_DEBUG_TRACE)
zlog_debug("%s: up %s RPF is not present",
__PRETTY_FUNCTION__, up->sg_str);
return;
}
if (up->rpf.source_nexthop.interface) { if (up->rpf.source_nexthop.interface) {
nbr = pim_neighbor_find(up->rpf.source_nexthop.interface, nbr = pim_neighbor_find(up->rpf.source_nexthop.interface,
up->rpf.rpf_addr.u.prefix4); up->rpf.rpf_addr.u.prefix4);
@ -562,14 +549,16 @@ void pim_upstream_switch(struct pim_instance *pim, struct pim_upstream *up,
enum pim_upstream_state old_state = up->join_state; enum pim_upstream_state old_state = up->join_state;
if (up->upstream_addr.s_addr == INADDR_ANY) { if (up->upstream_addr.s_addr == INADDR_ANY) {
zlog_debug("%s: RPF not configured for %s", if (PIM_DEBUG_PIM_EVENTS)
__PRETTY_FUNCTION__, up->sg_str); zlog_debug("%s: RPF not configured for %s",
__PRETTY_FUNCTION__, up->sg_str);
return; return;
} }
if (!up->rpf.source_nexthop.interface) { if (!up->rpf.source_nexthop.interface) {
zlog_debug("%s: RP not reachable for %s", if (PIM_DEBUG_PIM_EVENTS)
__PRETTY_FUNCTION__, up->sg_str); zlog_debug("%s: RP not reachable for %s",
__PRETTY_FUNCTION__, up->sg_str);
return; return;
} }
@ -949,7 +938,7 @@ void pim_upstream_update_join_desired(struct pim_instance *pim,
PIM_UPSTREAM_FLAG_UNSET_DR_JOIN_DESIRED(up->flags); PIM_UPSTREAM_FLAG_UNSET_DR_JOIN_DESIRED(up->flags);
/* switched from false to true */ /* switched from false to true */
if (is_join_desired) { if (is_join_desired && (up->join_state == PIM_UPSTREAM_NOTJOINED)) {
pim_upstream_switch(pim, up, PIM_UPSTREAM_JOINED); pim_upstream_switch(pim, up, PIM_UPSTREAM_JOINED);
return; return;
} }