diff options
author | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2019-11-15 21:01:46 +0100 |
---|---|---|
committer | Anuradha Karuppiah <anuradhak@cumulusnetworks.com> | 2019-11-15 23:16:08 +0100 |
commit | c692bd2ad42e941d0d63a149daaed1a331d47cd0 (patch) | |
tree | 883a8a04947d3aa61d5adb2519dd7d197e4e6ab9 /pimd/pim_jp_agg.c | |
parent | pimd: bring back "show ip pim upstream-join-desired" (diff) | |
download | frr-c692bd2ad42e941d0d63a149daaed1a331d47cd0.tar.xz frr-c692bd2ad42e941d0d63a149daaed1a331d47cd0.zip |
pimd: send an immediate XG JP message when switching from SPT to RPT
Today we are only pruning the SPT when (S,G) upstream entry
switches from Joined toNotJoined. This leaves the source still
pruned along the RPT till the next periodic XG join-prune is sent
to the RPF(RP). Traffic from the source will be blackholed for this
duration. To prevent that we need send a new JP message
to RPF(RP) immediately.
Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_jp_agg.c')
-rw-r--r-- | pimd/pim_jp_agg.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pimd/pim_jp_agg.c b/pimd/pim_jp_agg.c index e1473bfe3..5f9e16681 100644 --- a/pimd/pim_jp_agg.c +++ b/pimd/pim_jp_agg.c @@ -338,10 +338,10 @@ void pim_jp_agg_single_upstream_send(struct pim_rpf *rpf, static bool first = true; /* skip JP upstream messages if source is directly connected */ - if (!up || !rpf->source_nexthop.interface || pim_if_connected_to_source( - rpf->source_nexthop - .interface, - up->sg.src)) + if (!up || !rpf->source_nexthop.interface || + pim_if_connected_to_source(rpf->source_nexthop.interface, + up->sg.src) || + if_is_loopback_or_vrf(rpf->source_nexthop.interface)) return; if (first) { |