summaryrefslogtreecommitdiff
path: root/pimd/pim_upstream.c
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2019-03-21 09:27:03 -0700
committerAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2019-04-20 08:33:21 -0700
commit820b4a40a19489f76c45f40c240626f1eb274b93 (patch)
tree20e2ed8805d629157e252b084d790179bf950500 /pimd/pim_upstream.c
parentaf7b561b9f5e9769fdda93b4a5ebd7a350c971a7 (diff)
pimd: provide an upstream control to prevent KAT expiry
For vxlan BUM MDTs we prime the pump and register the local-VTEP-ip as source even before the first BUM packet is rxed. This commit provides the infrastructure changes needed for that. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_upstream.c')
-rw-r--r--pimd/pim_upstream.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/pimd/pim_upstream.c b/pimd/pim_upstream.c
index 04137b0b78..eb4f1a5ca7 100644
--- a/pimd/pim_upstream.c
+++ b/pimd/pim_upstream.c
@@ -1125,6 +1125,14 @@ static int pim_upstream_keep_alive_timer(struct thread *t)
up = THREAD_ARG(t);
pim = up->channel_oil->pim;
+ if (PIM_UPSTREAM_FLAG_TEST_DISABLE_KAT_EXPIRY(up->flags)) {
+ /* if the router is a PIM vxlan encapsulator we prevent expiry
+ * of KAT as the mroute is pre-setup without any traffic
+ */
+ pim_upstream_keep_alive_timer_start(up, pim->keep_alive_time);
+ return 0;
+ }
+
if (I_am_RP(pim, up->sg.grp)) {
pim_br_clear_pmbr(&up->sg);
/*