Skip to content

[202506] Backport FRR IPv6 RA crash fix and align submodule - #2927

Open
kktheballer wants to merge 2 commits into
Azure:202506from
kktheballer:202506-further-frr-fix
Open

kktheballer wants to merge 2 commits into
Azure:202506from
kktheballer:202506-further-frr-fix

Conversation

@kktheballer

@kktheballer kktheballer commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Why I did it

Zebra can crash in process_rtadv() after an IPv6 router-advertisement interface is added to the RA wheel more than once and subsequently deleted. The remaining wheel entry points to freed interface memory.

This backports FRR commit FRRouting/frr@d019ad4 from FRRouting/frr#19000 to the FRR 10.3 patch stack used by the 202506 branch.

The PR also restores the sonic-frr submodule metadata and gitlink to FRR 10.3. The previous pointer to FRR 10.4.1 was inconsistent with rules/frr.mk, which explicitly builds FRR 10.3 and applies the local patch series.

How I did it

  • Stop adding a duplicate RA wheel entry when the advertised-interface record already exists.
  • Delete and free the advertised-interface record in rtadv_stop_ra().
  • Add the backport to src/sonic-frr/patch/series.
  • Change the .gitmodules sonic-frr branch from frr-10.4.1 back to frr-10.3.
  • Restore the sonic-frr gitlink to FRR 10.3 commit 85cf1ed576deed121751e16a64970f8a652a9e1e.

How to verify it

  • Build a 202506 SONiC image containing this change.
  • Repeatedly create and enable IPv6 link-local/RA on the affected subinterfaces, bring the VNET up, and delete the interfaces.
  • Confirm zebra does not restart or generate a core and that RA resumes after an interface down/up cycle.
  • Confirm the FRR package reports version 10.3 and the complete patch series applies during the build.

Which release branch to backport

  • 202506

Description for the changelog

Backport the FRR IPv6 RA crash fix and align the FRR submodule with the 202506 build version.

Backport FRR commit d019ad49382553f1f01711d435f3473b3848be90 to prevent duplicate router-advertisement wheel entries and free the advertised-interface record when RA is stopped.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f8890733-5a02-40f4-9d96-515670381f33
Signed-off-by: Kavin Kamaraj <kakamara@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.

Restore the sonic-frr submodule branch and gitlink to FRR 10.3 so they match rules/frr.mk and the FRR package actually built by the 202506 branch.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f8890733-5a02-40f4-9d96-515670381f33
Signed-off-by: Kavin Kamaraj <kakamara@microsoft.com>
@kktheballer kktheballer changed the title [202506] Backport FRR IPv6 RA crash fix [202506] Backport FRR IPv6 RA crash fix and align submodule Aug 14, 2026
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.

1 participant