-
Notifications
You must be signed in to change notification settings - Fork 1.3k
VxLAN kernel routes for VNET_ROUTE_TUNNEL #2092
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
base: master
Are you sure you want to change the base?
Conversation
bveerannamsft
commented
Oct 30, 2025
- This PR proposes a design to add kernel routes for the prefixes defined in VNET_ROUTE_TUNNEL
- These kernel routes are required for any CPU originated/destined packets
- This is an enhancement to the VxLAN HLD
|
/azp run |
|
No pipelines are associated with this pull request. |
878dfe9 to
c2c6401
Compare
|
/azp run |
|
No pipelines are associated with this pull request. |
|
/azp run |
|
No pipelines are associated with this pull request. |
| # 1 Revision | ||
| | Rev | Date | Author | Change Description | | ||
| |:---:|:-----------:|:------------------:|-----------------------------------| | ||
| | 0.1 | | Bharath Veeranna | Initial version | |
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.
please provide a date
|
|
||
| However, the VM having IP 20.0.0.3 is behind a VTEP 200.200.200.3 having VNI 2000. SONiC does not have any kernel routes and interfaces configured for VNI 2000. Any traffic destined to 20.0.0.3 will be dropped in the kernel since there are no routes or interfaces configured for VxLAN 2000. | ||
|
|
||
| Moreover, if the CPU port is set to Egress mode in the NPU, the packets sent from the CPU are directed to the egress pipeline. Hence, the kernel has to form the packets with appropriate VxLAN headers before placing the packet in the egress pipeline. To encap the packets with VxLAN headers, the kernel should have the VxLAN interface and routes configured. |
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.
please remove this section about CPU port in 'egress mode'. This can be confusing and deviating the original intent. The line above is sufficient
|
|
||
| The diagram below shows the flow for the route creation: | ||
|
|
||
|  |
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.
I cannot see the diagram. As discussed, could you please provide a highlevel flow diagram
| ## 7.3 Config Manager | ||
| A new config manager called VnetMgr will be added which will handle kernel routes programming for `VNET_ROUTE_TUNNEL`. | ||
|
|
||
| ### VnetMgr |
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.
Please add a section for VnetOrch and capture what changes would be needed or removed by having VnetMgr