Skip to content

dhcp per-interface counter support#13

Merged
StormLiangMS merged 3 commits intosonic-net:masterfrom
jcaiMR:dev/jcai_master_interface_counter
Sep 14, 2023
Merged

dhcp per-interface counter support#13
StormLiangMS merged 3 commits intosonic-net:masterfrom
jcaiMR:dev/jcai_master_interface_counter

Conversation

@jcaiMR
Copy link
Copy Markdown
Contributor

@jcaiMR jcaiMR commented Sep 1, 2023

Why I did it

Per-interface counter support for dhcp packets in dhcpmon.

Work item tracking
  • Microsoft ADO (17271822):

How I did it

Add "DHCP_COUNTER_TABLE|" in Redis STATE_DB.

How to verify it

Maunally test and run test_dhcp_relay.py

Test log

1)	Discover from Ethernet4, with 48 servers
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet4'
{'RX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}', 'TX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}"}

admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Vlan1000'
{'RX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}', 'TX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}"}

admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|PortChannel101'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"14","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}

admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|PortChannel102'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"11","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}

admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|PortChannel103'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"10","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}

admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|PortChannel104'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"13","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}

admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet112'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"14","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet116'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"11","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet120'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"10","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet124'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"13","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}

2)	Offer from Ethernet112 PortChannel101, and broadcast to Vlan1000 member interfaces
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet112'
{'RX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}', 'TX': '{"Ack":"0","Decline":"0","Discover":"14","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|PortChannel101'
{'RX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}', 'TX': '{"Ack":"0","Decline":"0","Discover":"14","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Vlan1000'
{'RX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}', 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}

admin@str2-7050cx3-acs-02:~$ show vlan bri
+-----------+-----------------+------------+----------------+-------------+-----------------------+
|   VLAN ID | IP Address      | Ports      | Port Tagging   | Proxy ARP   | DHCP Helper Address   |
+===========+=================+============+================+=============+=======================+
|      1000 | 192.168.0.1/21  | Ethernet4  | untagged       | disabled    | 192.0.0.1             |
|           | fc02:1000::1/64 | Ethernet8  | untagged       |             | 192.0.0.2             |
|           |                 | Ethernet12 | untagged       |             | 192.0.0.3             |
|           |                 | Ethernet16 | untagged       |             | 192.0.0.4             |
|           |                 | Ethernet20 | untagged       |             | 192.0.0.5             |
|           |                 | Ethernet24 | untagged       |             | 192.0.0.6             |
|           |                 | Ethernet28 | untagged       |             | 192.0.0.7             |
|           |                 | Ethernet32 | untagged       |             | 192.0.0.8             |
|           |                 | Ethernet36 | untagged       |             | 192.0.0.9             |
|           |                 | Ethernet40 | untagged       |             | 192.0.0.10            |
|           |                 | Ethernet44 | untagged       |             | 192.0.0.11            |
|           |                 | Ethernet48 | untagged       |             | 192.0.0.12            |
|           |                 | Ethernet52 | untagged       |             | 192.0.0.13            |
|           |                 | Ethernet56 | untagged       |             | 192.0.0.14            |
|           |                 | Ethernet60 | untagged       |             | 192.0.0.15            |
|           |                 | Ethernet64 | untagged       |             | 192.0.0.16            |
|           |                 | Ethernet68 | untagged       |             | 192.0.0.17            |
|           |                 | Ethernet72 | untagged       |             | 192.0.0.18            |
|           |                 | Ethernet76 | untagged       |             | 192.0.0.19            |
|           |                 | Ethernet80 | untagged       |             | 192.0.0.20            |
|           |                 | Ethernet84 | untagged       |             | 192.0.0.21            |
|           |                 | Ethernet88 | untagged       |             | 192.0.0.22            |
|           |                 | Ethernet92 | untagged       |             | 192.0.0.23            |
|           |                 | Ethernet96 | untagged       |             | 192.0.0.24            |
|           |                 |            |                |             | 192.0.0.25            |
|           |                 |            |                |             | 192.0.0.26            |
|           |                 |            |                |             | 192.0.0.27            |
|           |                 |            |                |             | 192.0.0.28            |
|           |                 |            |                |             | 192.0.0.29            |
|           |                 |            |                |             | 192.0.0.30            |
|           |                 |            |                |             | 192.0.0.31            |
|           |                 |            |                |             | 192.0.0.32            |
|           |                 |            |                |             | 192.0.0.33            |
|           |                 |            |                |             | 192.0.0.34            |
|           |                 |            |                |             | 192.0.0.35            |
|           |                 |            |                |             | 192.0.0.36            |
|           |                 |            |                |             | 192.0.0.37            |
|           |                 |            |                |             | 192.0.0.38            |
|           |                 |            |                |             | 192.0.0.39            |
|           |                 |            |                |             | 192.0.0.40            |
|           |                 |            |                |             | 192.0.0.41            |
|           |                 |            |                |             | 192.0.0.42            |
|           |                 |            |                |             | 192.0.0.43            |
|           |                 |            |                |             | 192.0.0.44            |
|           |                 |            |                |             | 192.0.0.45            |
|           |                 |            |                |             | 192.0.0.46            |
|           |                 |            |                |             | 192.0.0.47            |
|           |                 |            |                |             | 192.0.0.48            |
+-----------+-----------------+------------+----------------+-------------+-----------------------+
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet4'
{'RX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"0","Release":"0","Request":"0","Unknown":"0"}', 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet8'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet12'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet16'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet20'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet24'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet28'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet32'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet36'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet40'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet44'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet48'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"0","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet52'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet56'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet60'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet64'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet68'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet72'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet76'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet80'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet84'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet88'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet92'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}
admin@str2-7050cx3-acs-02:~$ sonic-db-cli STATE_DB hgetall 'DHCP_COUNTER_TABLE|Ethernet96'
{'RX': "{'Unknown':'0','Discover':'0','Offer':'0','Request':'0','Decline':'0','Ack':'0','Nak':'0','Release':'0','Inform':'0'}", 'TX': '{"Ack":"0","Decline":"0","Discover":"1","Inform":"0","Nak":"0","Offer":"1","Release":"0","Request":"0","Unknown":"0"}'}

@jcaiMR jcaiMR force-pushed the dev/jcai_master_interface_counter branch from e427246 to adbcec1 Compare September 3, 2023 04:27
@jcaiMR jcaiMR marked this pull request as ready for review September 4, 2023 13:04
@jcaiMR jcaiMR force-pushed the dev/jcai_master_interface_counter branch from 0d956a3 to 5cb4468 Compare September 9, 2023 09:58
@StormLiangMS StormLiangMS merged commit 7c55e50 into sonic-net:master Sep 14, 2023
kellyyeh added a commit to kellyyeh/sonic-dhcpmon that referenced this pull request Mar 6, 2024
…nterface_counter"

This reverts commit 7c55e50, reversing
changes made to a3c5381.
kellyyeh added a commit that referenced this pull request Mar 6, 2024
* Revert "[counter] Clear counter table when dhcpmon init (#14)"

This reverts commit bace2e0.

* Revert "Merge pull request #13 from jcaiMR/dev/jcai_master_interface_counter"

This reverts commit 7c55e50, reversing
changes made to a3c5381.

* Revert "refine counting logic"

This reverts commit 085a087.
yaqiangz pushed a commit to yaqiangz/sonic-dhcpmon that referenced this pull request May 31, 2024
* Revert "[counter] Clear counter table when dhcpmon init (sonic-net#14)"

This reverts commit bace2e0.

* Revert "Merge pull request sonic-net#13 from jcaiMR/dev/jcai_master_interface_counter"

This reverts commit 7c55e50, reversing
changes made to a3c5381.

* Revert "refine counting logic"

This reverts commit 085a087.
@vrajeshe vrajeshe mentioned this pull request Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants