diff options
| author | saravanank <saravanank@vmware.com> | 2020-03-31 19:34:13 -0700 | 
|---|---|---|
| committer | saravanank <saravanank@vmware.com> | 2020-04-08 21:39:13 -0700 | 
| commit | 339f76953034064934df5ff02702138f2d039803 (patch) | |
| tree | 46305b40a6715b151033fb418e2125e82d21d149 /pimd/pim_instance.h | |
| parent | a326a812b30e5c11b9d67f9a9434342a9cf6008e (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.h | 2 | 
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;  | 
