Skip to content

Conversation

@bveerannamsft
Copy link

  1. This PR proposes a design to add kernel routes for the prefixes defined in VNET_ROUTE_TUNNEL
  2. These kernel routes are required for any CPU originated/destined packets
  3. This is an enhancement to the VxLAN HLD

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Oct 30, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

No pipelines are associated with this pull request.

# 1 Revision
| Rev | Date | Author | Change Description |
|:---:|:-----------:|:------------------:|-----------------------------------|
| 0.1 | | Bharath Veeranna | Initial version |
Copy link
Contributor

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.
Copy link
Contributor

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:

![](https://github.com/sonic-net/SONiC/blob/master/images/vxlan_hld/vxlan_kernel_routes.png)
Copy link
Contributor

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
Copy link
Contributor

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

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