T7766: FRR: Support multiple labels in BGP-LU - #1066
Conversation
|
👍 |
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for multiple labels in BGP-LU (BGP Labeled Unicast) as a patch file for FRRouting (FRR) package builds. The patch extends BGP-LU to handle label stacks of up to 10 labels instead of the previous single label limitation.
Key changes include:
- Increased
BGP_MAX_LABELSfrom 2 to 10 to accommodate full label stacks in BGP-LU - Refactored label handling functions to support multiple labels throughout the codebase
- Updated display and debugging output to show complete label stacks
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ritika0313
left a comment
There was a problem hiding this comment.
Review comments have been added to FRR repo PR at:
FRRouting/frr#19961
dmbaturin
left a comment
There was a problem hiding this comment.
I trust the judgement of @ritika0313 and FRR maintainers, so I think we should merge it.
|
A few things that could not be made part of this PR (being re-factoring/optimizing suggestions/future support) and can be considered as a sub-task if needed to:
|
ritika0313
left a comment
There was a problem hiding this comment.
The code changes look good overall:
- Both sending and receiving of UPDATE messages with multiple labels is supported
- Take care of BOS value being appropriately set in a case of single or multiple labels.( Some implicit setting BoS also exists which should have been verified in testing)
- Correctly calculates the maximum possible number of labels and required size for labels to write in the stream
- Also, provide backward compatibility for encode_label() used by Mpls VPN.
Few improvements have been suggested that can be taken up as a sub-task if they need to be incorporated as code optimization.
|
Converted to draft till it is under review in FRR. I hope it soon will be merged as there is one approve from maintainer. Then I'll update patch and reopen PR. |
Added patch patches/frr/0010-bgp-Support-multiple-labels-in-BGP-LU.patch It is in FRR upstream master (17a082ee3a5d1295c27323773c523c945af12c3d), rebased on 10.2
f7e3ce7 to
287bade
Compare
|
FRR PR is merged, patch is updated with merged version (rebased on 10.2). |
sever-sever
left a comment
There was a problem hiding this comment.
Merged by upstream, do not see any reason do not merge it.
Nice to ask upstream for backporting it to all stable branches, at least to 10.2
FRR: Support multiple labels in BGP-LU
This is my implementation of FRR support of multiple labels in BGP-LU. It is much easier to review as PR to FRR (see "Related PR(s)" below, I've rebased that branch to
stable/10.2with minimal conflict resolution.Tested by:
masterof FRRmasterFor testing ExaBGP was used, see topotest FRRouting/frr@40a900b for configuration.
Types of changes
Related Task(s)
Related PR(s)
FRR PR: FRRouting/frr#19961
Checklist: