summaryrefslogtreecommitdiff
path: root/pimd/pim_instance.h
diff options
context:
space:
mode:
authorsaravanank <saravanank@vmware.com>2020-03-31 19:34:13 -0700
committersaravanank <saravanank@vmware.com>2020-04-08 21:39:13 -0700
commit339f76953034064934df5ff02702138f2d039803 (patch)
tree46305b40a6715b151033fb418e2125e82d21d149 /pimd/pim_instance.h
parenta326a812b30e5c11b9d67f9a9434342a9cf6008e (diff)
pimd: Implement watermark warning for igmp group count and add igmp group count
This CLI will allow user to configure a igmp group limit which will generate a watermark warning when reached. Though watermark may not make sense without setting a limit, this implementation shall serve as a base to implementing limit in future and helps tracking a particular scale currently. Testing: ======= ip igmp watermark-warn <10-60000> on reaching the configured number of group, pim will issue warning 2019/09/18 18:30:55 PIM: SCALE ALERT: igmp group count reached watermak limit: 210(vrf: default) Also added group count and watermark limit configured on cli - show ip igmp groups [json] <snip> Sw3# sh ip igmp groups json { "Total Groups":221, <===== "Watermark limit":210, <========= "ens224":{ "name":"ens224", "state":"up", "address":"40.0.0.1", "index":6, "flagMulticast":true, "flagBroadcast":true, "lanDelayEnabled":true, "groups":[ { "source":"40.0.0.1", "group":"225.1.1.122", "timer":"00:03:56", "sourcesCount":1, "version":2, "uptime":"00:00:24" <\snip> <snip> Sw3(config)# do sh ip igmp group Total IGMP groups: 221 Watermark warn limit(Set) : 210 Interface Address Group Mode Timer Srcs V Uptime ens224 40.0.0.1 225.1.1.122 ---- 00:04:06 1 2 00:13:22 ens224 40.0.0.1 225.1.1.144 ---- 00:04:02 1 2 00:13:22 ens224 40.0.0.1 225.1.1.57 ---- 00:04:01 1 2 00:13:22 ens224 40.0.0.1 225.1.1.210 ---- 00:04:06 1 2 00:13:22 <\snip> Signed-off-by: Saravanan K <saravanank@vmware.com>
Diffstat (limited to 'pimd/pim_instance.h')
-rw-r--r--pimd/pim_instance.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/pimd/pim_instance.h b/pimd/pim_instance.h
index 71bd7c1089..2b76da21b2 100644
--- a/pimd/pim_instance.h
+++ b/pimd/pim_instance.h
@@ -178,6 +178,8 @@ struct pim_instance {
struct list *ssmpingd_list;
struct in_addr ssmpingd_group_addr;
+ unsigned int igmp_group_count;
+ unsigned int igmp_watermark_limit;
unsigned int keep_alive_time;
unsigned int rp_keep_alive_time;