Skip to content

HW FRR switchover notification support for protection groups #2269

Merged
tjchadaga merged 1 commit into
opencomputeproject:masterfrom
chikkaiah-work:protection_grp_notification
May 19, 2026
Merged

HW FRR switchover notification support for protection groups #2269
tjchadaga merged 1 commit into
opencomputeproject:masterfrom
chikkaiah-work:protection_grp_notification

Conversation

@chikkaiah-work
Copy link
Copy Markdown
Contributor

Added HW FRR switchover notification support for protection groups with a switch-level callback. The new callback reports switchover results per monitored object, including: monitored_oid,
switchover_success_count, and list protection groups that failed switchover. The callback is registered
through SAI_SWITCH_ATTR_NEXT_HOP_GROUP_HW_PROTECTION_SWITCHOVER_NOTIFY.

Comment thread inc/sainexthopgroup.h Outdated
Comment thread doc/SAI-Proposal-HW-FRR.md
@prsunny
Copy link
Copy Markdown
Collaborator

prsunny commented Apr 3, 2026

To be discussed in SAI community. @tjchadaga

@tjchadaga tjchadaga added the reviewed PR is discussed in SAI Meeting label Apr 9, 2026
Comment thread doc/SAI-Proposal-HW-FRR.md
Comment thread doc/SAI-Proposal-HW-FRR.md
Comment thread doc/SAI-Proposal-HW-FRR.md
Comment thread doc/SAI-Proposal-HW-FRR.md
Comment thread doc/SAI-Proposal-HW-FRR.md
@chikkaiah-work chikkaiah-work force-pushed the protection_grp_notification branch from 4202c6b to 21d0dce Compare April 27, 2026 23:39
@chikkaiah-work
Copy link
Copy Markdown
Contributor Author

@tjchadaga can you please help merge this ?

@tjchadaga
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Comment thread inc/saiswitch.h Outdated
@chikkaiah-work chikkaiah-work force-pushed the protection_grp_notification branch 2 times, most recently from ecf6555 to c4fb6c0 Compare May 8, 2026 15:45
@kcudnik
Copy link
Copy Markdown
Collaborator

kcudnik commented May 8, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@manamand2020
Copy link
Copy Markdown

@tjchadaga can you approve this or you have more comments?

Signed-off-by: Chikkegowda Chikkaiah <cchikkai@cisco.com>
@chikkaiah-work chikkaiah-work force-pushed the protection_grp_notification branch from 09c78c2 to 47b2aa0 Compare May 18, 2026 20:21
@chikkaiah-work
Copy link
Copy Markdown
Contributor Author

@tjchadaga, @kcudnik - Can we get this merged please ?

@kcudnik
Copy link
Copy Markdown
Collaborator

kcudnik commented May 18, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tjchadaga tjchadaga merged commit 66d6da4 into opencomputeproject:master May 19, 2026
3 checks passed
JaiOCP added a commit to JaiOCP/SAI that referenced this pull request May 27, 2026
Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

SAI API performance monitoring

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

Fix gensairpc.pl crash on Doxygen 1.9.8+ by reusing NeedsTwoPassProcessing (opencomputeproject#2282)

Why:
To fix below build error

Uncaught exception from user code:
	 at gensairpc.pl line 480.
		main::assign_attr_types(HASH(0x55e190dc20c8), ARRAY(0x55e190d2d080)) called at gensairpc.pl line 434
		main::get_definitions() called at gensairpc.pl line 156
	main::assign_attr_types(HASH(0x55e190dc20c8), ARRAY(0x55e190d2d080)) called at gensairpc.pl line 434
	main::get_definitions() called at gensairpc.pl line 156

How:
gensairpc.pl crashed during SAI thrift build with an uncaught exception
at line 480 (assign_attr_types) because its inline Doxygen layout
detection was too weak - it only checked sai_8h.xml for any enumvalue
presence, missing cases where the new Doxygen 1.9.8+ XML structure
requires group__*.xml files to be processed for complete definitions.
This caused incomplete parsing, leading to missing types and a croak
in assign_attr_types when sai_attribute_value_t could not be found.

Changes:
- xmlutils.pm: Add NeedsTwoPassProcessing and export it.
- parse.pl: Remove local NeedsTwoPassProcessing; use imported version.
- gensairpc.pl: Replace inline detection with NeedsTwoPassProcessing()
  call, fixing the build failure and eliminating code duplication.

Signed-off-by: Pavan Naregundi <pnaregundi@marvell.com>

Count BFD session state changes from UP to DOWN (opencomputeproject#2268)

Signed-off-by: Chikkegowda Chikkaiah <cchikkai@cisco.com>

HW FRR switchover notification support for protection groups (opencomputeproject#2269)

Signed-off-by: Chikkegowda Chikkaiah <cchikkai@cisco.com>

Port storm control enhancemnets (opencomputeproject#2258) (opencomputeproject#2258)

Signed-off-by: rpmarvell <rperumal@marvell.com>
JaiOCP pushed a commit to JaiOCP/SAI that referenced this pull request May 28, 2026
JaiOCP added a commit to JaiOCP/SAI that referenced this pull request May 29, 2026
Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

OFH Support

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

Fix gensairpc.pl crash on Doxygen 1.9.8+ by reusing NeedsTwoPassProcessing (opencomputeproject#2282)

Why:
To fix below build error

Uncaught exception from user code:
	 at gensairpc.pl line 480.
		main::assign_attr_types(HASH(0x55e190dc20c8), ARRAY(0x55e190d2d080)) called at gensairpc.pl line 434
		main::get_definitions() called at gensairpc.pl line 156
	main::assign_attr_types(HASH(0x55e190dc20c8), ARRAY(0x55e190d2d080)) called at gensairpc.pl line 434
	main::get_definitions() called at gensairpc.pl line 156

How:
gensairpc.pl crashed during SAI thrift build with an uncaught exception
at line 480 (assign_attr_types) because its inline Doxygen layout
detection was too weak - it only checked sai_8h.xml for any enumvalue
presence, missing cases where the new Doxygen 1.9.8+ XML structure
requires group__*.xml files to be processed for complete definitions.
This caused incomplete parsing, leading to missing types and a croak
in assign_attr_types when sai_attribute_value_t could not be found.

Changes:
- xmlutils.pm: Add NeedsTwoPassProcessing and export it.
- parse.pl: Remove local NeedsTwoPassProcessing; use imported version.
- gensairpc.pl: Replace inline detection with NeedsTwoPassProcessing()
  call, fixing the build failure and eliminating code duplication.

Signed-off-by: Pavan Naregundi <pnaregundi@marvell.com>

OFH Header

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

Count BFD session state changes from UP to DOWN (opencomputeproject#2268)

Signed-off-by: Chikkegowda Chikkaiah <cchikkai@cisco.com>

HW FRR switchover notification support for protection groups (opencomputeproject#2269)

Signed-off-by: Chikkegowda Chikkaiah <cchikkai@cisco.com>

Port storm control enhancemnets (opencomputeproject#2258) (opencomputeproject#2258)

Signed-off-by: rpmarvell <rperumal@marvell.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

reviewed PR is discussed in SAI Meeting

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants