-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BGP State Change Does not Trigger BGP State Event #19591
Comments
@zbud-msft Please help take a look. |
@wumiaont Can you please verify if other paths work that are not EVENTS db? Is it maybe an accessibility issue? Are you seeing heartbeats on the subscriber (ptf gnmi client) side? In syslog are you able to see the bgp state change log? |
I have verified the bgp notification events are received when we create rule to drop packets to/from port 179. BGP state change events are not received. Also if I do not use filter I can see heartbeat events are received. |
There are other issues such as #19603. Please look at comments there. I can see events were published from log for swss. But gnmi client does not get it. If I remove filter_event_regex from cli I can get heartbeats events. But no swss events if we trigger such as port shutdown/startup actions. python /root/gnxi/gnmi_cli_py/py_gnmicli.py -g -t 10.250.6.231 -p 8080 -m subscribe -x all[heartbeat=2] -xt EVENTS -o ndastreamingservertest --subscribe_mode 0 --submode 1 --interval 0 --update_count 100 2024-08-01 01:14:59.826520 response received: |
@zbud-msft many events tests work such as host events, bgp notification events. Only bgp state event and swss events are not received. I can see from log the corresponding events are published. Please help to check what could be wrong here. |
This is for bgp notification test. That works. I am using client without the regex filtering from ptf server. 2024-08-01 15:57:32.814535 response received: 2024-08-01 15:57:33.750013 response received: |
For BGP state test. I can see from syslog the event is published. But gnmi client only received heartbeat events during test. 2024 Aug 1 16:28:15.406947 ixre-egl-board29 NOTICE bgp0#rsyslog_plugin: :- publish: EVENT_PUBLISHED: {"sonic-events-bgp:bgp-state":{"ip":"fc00::2","status":"down","timestamp":"2024-08-01T16:28:15.406799Z"}} |
@zbud-msft It looks to me that if the event is published by a global service that will work. It it's published by service under certain namespace then client will not receive it. Below log you can see bgp-state events are published from bgp0 or bgp1. Which failed to be received by client. notification is published by rsyslog_plugin, which works. swss has similar issue of failure as swss is with each namespace. Looks the publish code has an issue to handle services under namespace. 2024 Aug 1 16:53:04.209148 ixre-egl-board29 NOTICE bgp0#rsyslog_plugin: :- publish: EVENT_PUBLISHED: {"sonic-events-bgp:bgp-state":{"ip":"fc00::2","status":"down","timestamp":"2024-08-01T16:53:04.208989Z"}} |
Hi @wumiaont seems like there is a common issue with multi-asic devices for swss events and bgp state event. I will look into this issue. As of right now, eventd/structured events does not claim to provide full support for multi-asic. In the meantime, I will disable test_events for multi-asic devices. Maybe we can keep one thread open since we have one for swss and one for bgp and they point to same issue. |
Thanks for looking into the issue. Let me know if you need anything from me. |
Description
During Telemetry test, found one test case to catch BGP state event failed. The testing is issuing "config bgp startup all" "config bgp shutdown all", config bgp startup all" to the duthost. Then subscribe to gnmi server for the bgp state change event.
It's expecting to receive BGP state change event by the subscriber. This does not happen.
Steps to reproduce the issue:
Here 10.250.6.231 is the mgmt ip of duthost.
Describe the results you received:
The test failed.
Describe the results you expected:
startup/shutdown bgp repeatedly shoud trigger BGP state change event.
Output of
show version
:202405/master
More detail for the test you can check sonic-mgmt/tests/telemetry/events/bgp-events.py::test_event
One observation here: the BGP notification event works with similar action described above by creating IP rules to drop TC packets to/from port 179.
The text was updated successfully, but these errors were encountered: