Skip to content

[action] [PR:3394] Added change not to create ECMP Group in SAI and program the route if none of ECMP members are active/link-up#3522

Merged
mssonicbld merged 1 commit intosonic-net:202411from
mssonicbld:cherry/202411/3394
Feb 19, 2025
Merged

[action] [PR:3394] Added change not to create ECMP Group in SAI and program the route if none of ECMP members are active/link-up#3522
mssonicbld merged 1 commit intosonic-net:202411from
mssonicbld:cherry/202411/3394

Conversation

@mssonicbld
Copy link
Collaborator

What I did:
Added change not to create ECMP Group in SAI and program the route if none of the ECMP members are active/link-up.
Also do not program the Temp Route if Neigh is not active (Link Down)

Also as part of this change if Route is not programmed and if we remove that route than decrement VRF Reference count in removeRoute as removeRoutePost will not be called in this case.

Why I did:
In scale setup of T2 it's possible all links can go down simultaneously which case we can get Route messages with all nexthops being in down state. In such case we might create empty Nexthop Group in SAI for the given route which causes not needed SAI call for Nexthop Group creation and also create traffic blackhole for the route where that route can still forward traffic via default route if eligible/applicable.

Also in this case no point to add Temp Route if neighbor is link down.

How I verify:

  1. Compile time test was failing because of this chnage so added oper_status as UP in the mock tests
  2. Modified subport router interface UT for this scenario.
  3. Ixia Convergence tests

Reference to full context of this changes:
Swss_route_enhancemnts.docx

… none of ECMP members are active/link-up

What I did:
Added change not to create ECMP Group in SAI and program the route if none of the ECMP members are active/link-up.
Also do not program the Temp Route if Neigh is not active (Link Down)

Also as part of this change if Route is not programmed and if we remove that route than decrement VRF Reference count in `removeRoute` as `removeRoutePost` will not be called in this case.

Why I did:
In scale setup of T2 it's possible all links can go down simultaneously which case we can get Route messages with all nexthops being in down state. In such case we might create empty Nexthop Group in SAI for the given route which causes not needed SAI call for Nexthop Group creation and also create traffic blackhole for the route where that route can still forward traffic via default route if eligible/applicable.

Also in this case no point to add Temp Route if neighbor is link down.

How I verify:
1. Compile time test was failing because of this chnage so added oper_status as UP in the mock tests
2. Modified subport router interface UT for this scenario.
3. Ixia Convergence tests

Reference to full context of this changes:
[Swss_route_enhancemnts.docx](https://github.com/user-attachments/files/18149172/Swss_route_enhancemnts.docx)
@mssonicbld
Copy link
Collaborator Author

Original PR: #3394

@mssonicbld
Copy link
Collaborator Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld mssonicbld merged commit 9875694 into sonic-net:202411 Feb 19, 2025
15 checks passed
bradh352 pushed a commit to bradh352/sonic-swss that referenced this pull request May 3, 2025
… none of ECMP members are active/link-up (sonic-net#3522)

What I did:
Added change not to create ECMP Group in SAI and program the route if none of the ECMP members are active/link-up.
Also do not program the Temp Route if Neigh is not active (Link Down)

Also as part of this change if Route is not programmed and if we remove that route than decrement VRF Reference count in `removeRoute` as `removeRoutePost` will not be called in this case.

Why I did:
In scale setup of T2 it's possible all links can go down simultaneously which case we can get Route messages with all nexthops being in down state. In such case we might create empty Nexthop Group in SAI for the given route which causes not needed SAI call for Nexthop Group creation and also create traffic blackhole for the route where that route can still forward traffic via default route if eligible/applicable.

Also in this case no point to add Temp Route if neighbor is link down.

How I verify:
1. Compile time test was failing because of this chnage so added oper_status as UP in the mock tests
2. Modified subport router interface UT for this scenario.
3. Ixia Convergence tests

Reference to full context of this changes:
[Swss_route_enhancemnts.docx](https://github.com/user-attachments/files/18149172/Swss_route_enhancemnts.docx)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant