Skip to content

[code sync] Merge sonic-net/sonic-swss:202605 into 202606 - #305

Merged
yijingyan2 merged 2 commits into
Azure:202606from
mssonicbld:copilot/code-sync-202606-7d9239a0
Sep 23, 2026
Merged

yijingyan2 merged 2 commits into
Azure:202606from
mssonicbld:copilot/code-sync-202606-7d9239a0

Conversation

@mssonicbld

Copy link
Copy Markdown
Collaborator

Summary

Repairs the code-sync conflict reported by work item 39741365 from pipeline build 1224563.

This merge preserves the exact public source commit 7d9239a091f8ceeb930937e45d48bd5c331701f9 from the live 202605 mapping and merges it into Azure/sonic-swss.msft:202606, starting at adf418dff17f95c8e8b6fba1f2bd5a2ce4797190.

Conflict resolution

  • neighsyncd/neighsync.cpp: integrated the failed IPv6-neighbor publication/cleanup flow before EVPN probe filtering, while retaining Azure's four-argument constructor, EVPN NVO subscription, NOARP handling, and host-route cleanup.
  • neighsyncd/neighsync.h: retained the Azure EVPN route/cache state and added the failed-neighbor producer/check tables.
  • tests/mock_tests/Makefile.am: retained the Azure fdbsyncd unit-test target and added the source neighsyncd unit-test target.
  • Updated the new neighsyncd fixture to call the retained four-argument constructor.

The resulting merge commit has parent 1 adf418dff17f95c8e8b6fba1f2bd5a2ce4797190 and parent 2 7d9239a091f8ceeb930937e45d48bd5c331701f9; the exact source commit is confirmed in its ancestry. The final change scope is the same seven paths changed by the source commit.

Validation

  • All three reported conflict paths are resolved with no unmerged entries or conflict markers.
  • git diff --cached --check completed cleanly before publication.
  • Final-tree symbol/caller checks confirmed both the failed-neighbor producer-to-consumer flow and Azure EVPN NVO/route behavior remain connected.
  • Both tests_fdbsyncd and tests_neighsyncd remain registered. No executable build/test runner is exposed in this worker, so PR CI must run the compiled mock tests.

Merge this PR with a merge commit (no fast-forward). Do not squash or rebase; either would discard the exact public-source ancestry.

* [nbrmgr]: Preserve failed IPv6 neighbors as incomplete
What I did

Backported event-driven, best-effort handling for failed IPv6 kernel neighbors on dual-ToR systems. neighsyncd records failed neighbors in NEIGH_FAILED_TABLE, and nbrmgrd subscribes to that table only on dual-ToR devices, attempts to move each entry to INCOMPLETE through the existing fire-and-forget netlink send path, and sends one Neighbor Solicitation. Each notification is processed once. The table entry remains while the neighbor is unresolved and is removed when the kernel neighbor reaches a valid state or is deleted.

Why I did it

Failed IPv6 neighbors must remain in INCOMPLETE state so they can be resolved by a later Neighbor Advertisement, rather than returning to FAILED through the kernel retry timer. Sending one Neighbor Solicitation provides an immediate resolution attempt without enabling recurring kernel probes.
Resolve the failed-neighbor conflicts while preserving the Azure EVPN-MH neighbor handling and both mock-test targets.

Signed-off-by: Elastictest AI Worker <sonicbld@microsoft.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@mssonicbld

Copy link
Copy Markdown
Collaborator Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
1 pipeline(s) were filtered out due to trigger conditions.

@yijingyan2
yijingyan2 merged commit a780fee into Azure:202606 Sep 23, 2026
6 checks passed
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