[ssw][ha] introducing custom_bfd and BfdMonitorOrch to support primary/secondary NHG switchover#3922
Merged
prsunny merged 26 commits intosonic-net:masterfrom Dec 9, 2025
Merged
Conversation
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
… custom bfd; add tx rx for custom bfd
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
zjswhhh
commented
Oct 10, 2025
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
/azpw Azure.sonic-swss |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
Hi @prsunny - can we force merge this? BuildAsan amd64 build failure seems to be a generic issue again, it's not related to my change. |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
kalash-nexthop
pushed a commit
to kalash-nexthop/sonic-swss
that referenced
this pull request
Dec 16, 2025
…ary/secondary NHG switchover (sonic-net#3922) What I did Today vnetorch only supports: custom monitoring sessions with primary & secondary NHG. bfd monitoring with primary NHG only. To make HA work we need bfd monitoring to support primary+secondary. This PR is to introduce a new monitoring type custom_bfd for that purpose. It will: create bfd sessions for both primary & secondary endpoints listen on state db for bfd session state update ignore update call from bfdorch switch and update nhg based on bfd session state It's not an elegant design to introduce a new bfd monitoring type. But the intention is to not break current functionality of vnetorch. Refactor of the code will be needed in future. Signed-off-by: Kalash Nainwal <kalash@nexthop.ai>
Pterosaur
pushed a commit
to Janetxxx/sonic-swss
that referenced
this pull request
Jan 6, 2026
…ary/secondary NHG switchover (sonic-net#3922) What I did Today vnetorch only supports: custom monitoring sessions with primary & secondary NHG. bfd monitoring with primary NHG only. To make HA work we need bfd monitoring to support primary+secondary. This PR is to introduce a new monitoring type custom_bfd for that purpose. It will: create bfd sessions for both primary & secondary endpoints listen on state db for bfd session state update ignore update call from bfdorch switch and update nhg based on bfd session state It's not an elegant design to introduce a new bfd monitoring type. But the intention is to not break current functionality of vnetorch. Refactor of the code will be needed in future.
zjswhhh
added a commit
to zjswhhh/sonic-swss
that referenced
this pull request
Jan 9, 2026
…ary/secondary NHG switchover (sonic-net#3922) What I did Today vnetorch only supports: custom monitoring sessions with primary & secondary NHG. bfd monitoring with primary NHG only. To make HA work we need bfd monitoring to support primary+secondary. This PR is to introduce a new monitoring type custom_bfd for that purpose. It will: create bfd sessions for both primary & secondary endpoints listen on state db for bfd session state update ignore update call from bfdorch switch and update nhg based on bfd session state It's not an elegant design to introduce a new bfd monitoring type. But the intention is to not break current functionality of vnetorch. Refactor of the code will be needed in future.
zjswhhh
added a commit
to zjswhhh/sonic-swss
that referenced
this pull request
Jan 9, 2026
…ary/secondary NHG switchover (sonic-net#3922) What I did Today vnetorch only supports: custom monitoring sessions with primary & secondary NHG. bfd monitoring with primary NHG only. To make HA work we need bfd monitoring to support primary+secondary. This PR is to introduce a new monitoring type custom_bfd for that purpose. It will: create bfd sessions for both primary & secondary endpoints listen on state db for bfd session state update ignore update call from bfdorch switch and update nhg based on bfd session state It's not an elegant design to introduce a new bfd monitoring type. But the intention is to not break current functionality of vnetorch. Refactor of the code will be needed in future.
zjswhhh
added a commit
to zjswhhh/sonic-swss
that referenced
this pull request
Jan 9, 2026
…ary/secondary NHG switchover (sonic-net#3922) What I did Today vnetorch only supports: custom monitoring sessions with primary & secondary NHG. bfd monitoring with primary NHG only. To make HA work we need bfd monitoring to support primary+secondary. This PR is to introduce a new monitoring type custom_bfd for that purpose. It will: create bfd sessions for both primary & secondary endpoints listen on state db for bfd session state update ignore update call from bfdorch switch and update nhg based on bfd session state It's not an elegant design to introduce a new bfd monitoring type. But the intention is to not break current functionality of vnetorch. Refactor of the code will be needed in future. Signed-off-by: Jing Zhang <zhangjing@microsoft.com>
vmittal-msft
pushed a commit
that referenced
this pull request
Jan 9, 2026
* [vnetorch] missing handling of rx and tx interval of monitoring session (#3878) What I did Adding rx_monitor_timer and tx_monitor_timer handling per HLD: https://github.com/sonic-net/SONiC/blob/master/doc/vxlan/Overlay%20ECMP%20ehancements.md sign-off: Jing Zhang zhangjing@microsoft.com Why I did it It's needed for SSW HA scenario as DPU side bfd is a software solution, interval must be set to a reasonable value. Signed-off-by: Jing Zhang <zhangjing@microsoft.com> * [ssw][ha] introducing `custom_bfd` and BfdMonitorOrch to support primary/secondary NHG switchover (#3922) What I did Today vnetorch only supports: custom monitoring sessions with primary & secondary NHG. bfd monitoring with primary NHG only. To make HA work we need bfd monitoring to support primary+secondary. This PR is to introduce a new monitoring type custom_bfd for that purpose. It will: create bfd sessions for both primary & secondary endpoints listen on state db for bfd session state update ignore update call from bfdorch switch and update nhg based on bfd session state It's not an elegant design to introduce a new bfd monitoring type. But the intention is to not break current functionality of vnetorch. Refactor of the code will be needed in future. Signed-off-by: Jing Zhang <zhangjing@microsoft.com> --------- Signed-off-by: Jing Zhang <zhangjing@microsoft.com>
kktheballer
pushed a commit
to kktheballer/sonic-swss
that referenced
this pull request
Jan 14, 2026
…ary/secondary NHG switchover (sonic-net#3922) What I did Today vnetorch only supports: custom monitoring sessions with primary & secondary NHG. bfd monitoring with primary NHG only. To make HA work we need bfd monitoring to support primary+secondary. This PR is to introduce a new monitoring type custom_bfd for that purpose. It will: create bfd sessions for both primary & secondary endpoints listen on state db for bfd session state update ignore update call from bfdorch switch and update nhg based on bfd session state It's not an elegant design to introduce a new bfd monitoring type. But the intention is to not break current functionality of vnetorch. Refactor of the code will be needed in future.
kktheballer
pushed a commit
to kktheballer/sonic-swss
that referenced
this pull request
Jan 14, 2026
…c-net#3922) (sonic-net#182) **Cherry-pick conflict. Creating PR manually.** Picking commits below from public master branch: ``` b88a5c2 [ssw][ha] introducing `custom_bfd` and BfdMonitorOrch to support primary/secondary NHG switchover (sonic-net#3922) 8541200 [vnetorch] missing handling of rx and tx interval of monitoring session (sonic-net#3878) ```
baorliu
pushed a commit
to baorliu/sonic-swss
that referenced
this pull request
Feb 23, 2026
…ary/secondary NHG switchover (sonic-net#3922) What I did Today vnetorch only supports: custom monitoring sessions with primary & secondary NHG. bfd monitoring with primary NHG only. To make HA work we need bfd monitoring to support primary+secondary. This PR is to introduce a new monitoring type custom_bfd for that purpose. It will: create bfd sessions for both primary & secondary endpoints listen on state db for bfd session state update ignore update call from bfdorch switch and update nhg based on bfd session state It's not an elegant design to introduce a new bfd monitoring type. But the intention is to not break current functionality of vnetorch. Refactor of the code will be needed in future. Signed-off-by: Baorong Liu <96146196+baorliu@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What I did
Today vnetorch only supports:
To make HA work we need bfd monitoring to support primary+secondary. This PR is to introduce a new monitoring type
custom_bfdfor that purpose. It will:updatecall from bfdorchIt's not an elegant design to introduce a new bfd monitoring type. But the intention is to not break current functionality of vnetorch. Refactor of the code will be needed in future.
sign-off: Jing Zhang zhangjing@microsoft.com
Why I did it
To support HA.
How I verified it
Tested on smartswitch.
monitoringshould becustom_bfd.Details if related