-
Notifications
You must be signed in to change notification settings - Fork 14
Merge develop branch: Add SRv6 Service Segment support, refactor codebase, and update tools #240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
d420884 to
961c1c7
Compare
8c61705 to
008c478
Compare
870a252 to
f8b109e
Compare
4f455d0 to
0fa87f9
Compare
61ad5ba to
2d87ae1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This is a major refactoring PR that merges the develop branch into main, introducing SRv6 Service Segment support and comprehensive code modernization. The changes encompass API refactoring with improved naming conventions, enhanced type safety through custom types, dynamic path computation using TED (Traffic Engineering Database), and comprehensive test coverage improvements.
Key changes include:
- Introduction of SRv6 Service Segments with uSID-based dynamic path computation
- Comprehensive API refactoring with improved type safety and consistent naming patterns
- Enhanced error handling and validation throughout the codebase
Reviewed Changes
Copilot reviewed 79 out of 84 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/grpc/go/* | Updated gRPC tool clients to use new API package structure and improved naming conventions |
| test/scenario_test/* | Added comprehensive scenario tests for both SR-MPLS and SRv6 uSID configurations |
| test/*.py | New Python-based testing infrastructure with pytest and containerlab integration |
| pkg/server/*.go | Major refactoring with improved error handling, TED integration, and enhanced session management |
| pkg/packet/pcep/*.go | Complete PCEP packet library overhaul with type-safe enums and comprehensive test coverage |
| internal/pkg/version/version.go | Updated constant naming to follow Go conventions |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
8424177 to
2fda103
Compare
…egment validation
…indRouterIDFromAddress
…odeFromBytes validation Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
…yclomatic complexity
…cyclomatic complexity
…duce cyclomatic complexity
fix(server): correct validation message for ASN to indicate zero value Co-authored-by: Copilot <[email protected]>
refactor(pcep): extract expected length into variable Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
docs(test): replace fixed timestamp with generic placeholder in example output Co-authored-by: Copilot <[email protected]>
tatfujiwara
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
Yuya9786
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed the changes and tested following the README steps. Everything worked correctly
Description
This PR adds support for uSID-based dynamic path computation using TED and SRv6 Service Segments.
Several packages have been refactored to improve naming consistency, error handling, and test coverage.
Specifically, kebab-case in YAML identifiers has been removed (e.g., grpc-client → grpcClient).
Additionally, the Go and protoc versions have been updated, and CI workflows have been improved.
Type of change
How is This Tested?
Testing can be performed using TED scenario tests and dynamic path computation example environments with Containerlab.
Please refer to test/README and examples/containerlab/srv6_usid_dynamic-path for detailed instructions.