-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[Sonic-DASH] Dash Tunnel and FNIC changes #1911
base: master
Are you sure you want to change the base?
Conversation
/azp run |
No pipelines are associated with this pull request. |
@theasianpianist , @mukeshmv , @prabhataravind , @kperumalbfn , @r12f, @oleksandrivantsiv, @marian-pritsak for viz |
/azp run |
No pipelines are associated with this pull request. |
@@ -696,10 +711,17 @@ key = DASH_TUNNEL_TABLE:tunnel_name; tunnel name used for r | |||
; field = value | |||
endpoints = list of addresses for ecmp tunnel | |||
encap_type = vxlan or nvgre | |||
vni = vni value for encap | |||
vni = vni value for encap, create only attribute |
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.
should we mention create only attribute for encap_type as well ?
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.
addressed
doc/dash/dash-sonic-hld.md
Outdated
|
||
For single endpoint, implmentation shall simply create a sai_dash_tunnel object with ```SAI_DASH_TUNNEL_ATTR_DIP=endpoint IP``` and ```SAI_DASH_TUNNEL_ATTR_MAX_MEMBER_SIZE=1``` | ||
|
||
For ECMP, implementation shall create ```sai_dash_tunnel_member``` and ```sai_dash_tunnel_next_hop``` with appropriate ```SAI_DASH_TUNNEL_ATTR_MAX_MEMBER_SIZE``` |
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 mention that though members can be updated, at any point the number of members cannot exceed the count provided at Dash tunnel create
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.
addressed
@@ -89,6 +92,7 @@ At a high level the following should be supported: | |||
- Telemetry and Monitoring | |||
- Private Link | |||
- Private Link NSG | |||
- Express Route GW Bypass |
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.
can we have a config example for express route gw bypass ?
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.
Will add as a next iteration (another PR)
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.
added an example
/azp run |
No pipelines are associated with this pull request. |
doc/dash/dash-sonic-hld.md
Outdated
@@ -482,6 +491,7 @@ DASH_ROUTING_APPLIANCE_TABLE:{{appliance_id}}: | |||
"addresses": {{list of addresses}} | |||
"encap_type": {{encap type}} | |||
"vni": {{vni}} | |||
"region_id": {{local region id}} |
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.
Region ID is already added to the APPLIANCE table. This is the wrong deprecated Routing Appliance table
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.
Yes. Prince, the routing appliance table is not the appliance table.
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.
Thanks for catching. addressed
@@ -499,6 +510,8 @@ DASH_APPLIANCE_TABLE:{{appliance_id}} | |||
"sip": {{ip_address}} | |||
"vm_vni": {{vni}} | |||
"local_region_id": {{region_id}} | |||
"outbound_direction_lookup": {{dst_mac/src_mac}} |
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.
do we still need this attribute if we have Floating NIC mode ?
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.
Yes, if there is fnic mode disabled and need to change the lookup attribute. Basically, aligning with SAI model
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.
couple more comments
"subtype": "Appliance", | ||
"type": "SonicHost", | ||
"subtype": "SmartSwitch", | ||
"type": "SonicDpu", |
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.
Should we swap the type and subtype?
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.
This is just aligning with sonic-buildimage and copied from existing definitions.
doc/dash/dash-sonic-hld.md
Outdated
@@ -482,6 +491,7 @@ DASH_ROUTING_APPLIANCE_TABLE:{{appliance_id}}: | |||
"addresses": {{list of addresses}} | |||
"encap_type": {{encap type}} | |||
"vni": {{vni}} | |||
"region_id": {{local region id}} |
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.
Yes. Prince, the routing appliance table is not the appliance table.
@@ -499,6 +510,8 @@ DASH_APPLIANCE_TABLE:{{appliance_id}} | |||
"sip": {{ip_address}} | |||
"vm_vni": {{vni}} | |||
"local_region_id": {{region_id}} | |||
"outbound_direction_lookup": {{dst_mac/src_mac}} |
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.
Do we have a vni table? The will be multiple VNIs needing this.
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.
We don't have a VNI table currently.
doc/dash/dash-sonic-hld.md
Outdated
|
||
For more scale numbers, please refer to the [doc](https://github.com/sonic-net/DASH/blob/main/documentation/express-route-service/express-route-gateway-bypass.md) | ||
Expected max number of 4K PA_VALIDATION entries. For more scale numbers, please refer to the [doc](https://github.com/sonic-net/DASH/blob/main/documentation/express-route-service/express-route-gateway-bypass.md) |
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.
Maybe better to mention this in scaling requirements too, if missed.
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.
Or simply move to there, in case inconsistent in future.
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.
added to scale section and removed from here
/azp run |
No pipelines are associated with this pull request. |
@@ -695,11 +707,18 @@ DASH_TUNNEL_TABLE:{{tunnel_name}} | |||
key = DASH_TUNNEL_TABLE:tunnel_name; tunnel name used for referencing in mapping table | |||
; field = value | |||
endpoints = list of addresses for ecmp tunnel | |||
encap_type = vxlan or nvgre | |||
vni = vni value for encap | |||
encap_type = vxlan or nvgre, create only attribute |
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.
For the encap_type
can we add an explicit definishion of what is expected return packet?
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.
added a statement
/azp run |
No pipelines are associated with this pull request. |
@mzms, please review the expected dash config section for er gw |
/azp run |
No pipelines are associated with this pull request. |
@@ -507,6 +519,8 @@ key = DASH_APPLIANCE_TABLE:id ; attributes specific for the | |||
sip = source ip address, to be used in encap | |||
vm_vni = VM VNI that is used for setting direction. Also used for inbound encap to VM | |||
local_region_id = Region where this appliance is located | |||
outbound_direction_lookup= dst_mac or src_mac; Default is src_mac. This attribute overrides to dst_mac |
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.
Is this optional or mandatory?
1. This packet shall be transformed IPv6 packet from PL endpoint | ||
2. Outer SRC_PA:50.1.2.3, Outer DST_PA:10.250.20.19 | ||
3. Reverse transpositions applied (v6->v4) | ||
4. Transformed packet tunneled to one of ER GW endpoint IP as configured in DASH_TUNNEL_TABLE |
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.
what is the behavior when there are multiple endpoints configured in DASH_TUNNEL_TABLE? Which endpoint is taken?
@@ -127,6 +131,7 @@ Following are the minimal scaling requirements | |||
| Total active connections | 32M (Bidirectional) | | |||
| Metering Buckets per ENI | 4000 | | |||
| CPS | 3M | | |||
| Max PA validation entries | 4k | |
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.
Can we add DASH_TUNNEL / NEXTHOP / max MEMBERs per TUNNEL scale ?
Updated to rev 2.4 for: