Local ARS HLD#1958
Conversation
Signed-off-by: Vladimir Kuk <vkuk@marvell.com>
Signed-off-by: Vladimir Kuk <vkuk@marvell.com>
Signed-off-by: Vladimir Kuk <vkuk@marvell.com>
Signed-off-by: Vladimir Kuk <vkuk@marvell.com>
Signed-off-by: Vladimir Kuk <vkuk@marvell.com>
Fixed phases contents Fixed spelling Added user configured port scaling factor Updated init sequence Limit idle time value Signed-off-by: Vladimir Kuk <vkuk@marvell.com>
Fixed phases contents Fixed spelling Added user configured port scaling factor Updated init sequence Limit idle time value Signed-off-by: Vladimir Kuk <vkuk@marvell.com>
|
/azp run |
|
No pipelines are associated with this pull request. |
|
Why this schema used prefix for Key? dose it means that only some prefix can used with AR ECMP? |
Yes, that is to support use-case for L3 traffic sent to NHG. |
If so, how to handle if there have 100 prefixes but point to same ECMP, we want to used AR for this ECMP. It's very hard to set dynamic route point to AR ecmp I think may be we can define some AR ECMP include port list and trip threshold |
There is already ARS-enabled interface table, but it could include all interfaces, so I guess shouldn't be used for this. However, to create another table with ARS-enabled interfaces, feels very wasteful. The problematic scenario is this : suppose you have two NHGs : NHG1 (NH1,NH2,NH3) and NHG2 (NH1,NH2,NH4). Also, the use-case was to enable static configuration, To enable dynamic NHG identification, the ARS/NHG ids should, probably, be derived from/imported by some protocol (i.e. BGP). |
| "max_flows" : "512", | ||
| "primary_path_threshold" : "100", | ||
| "alternative_path_cost": "250", | ||
| "alternative_path_members": {"1.1.1.1", "2.2.2.2"} |
There was a problem hiding this comment.
how do you in advance which NHs can be used when NHG is created from BGP by Route OA or FRR/Zebra ?
There was a problem hiding this comment.
This should known to user
@VladimirKuk : Is there an option/way to enable ARS for all NH Groups or enable only for matching the "vrf/ip-prefix"? |
Separated NHG identification and ARS object Added NHG matching by ARS-enabled members Support NH creation from RouteOrch and NhgOrch Signed-off-by: Vladimir Kuk <vkuk@marvell.com>
| description "ARS-enabled interface name"; | ||
| } | ||
|
|
||
| leaf scaling_factor { |
There was a problem hiding this comment.
the definition of "scaling_factor" differs from SAI_PORT_ATTR_ARS_PORT_LOAD_SCALING_FACTOR and brings ambiguity.
scaling_factor: 10000
SAI_PORT_ATTR_ARS_PORT_LOAD_SCALING_FACTOR:40 # for 400G
Why not just set the value of SAI_PORT_ATTR_ARS_PORT_LOAD_SCALING_FACTOR to be value of scaling_factor?
scaling_factor: 40
SAI_PORT_ATTR_ARS_PORT_LOAD_SCALING_FACTOR:40 # for 400G
There was a problem hiding this comment.
Previous changes handled cases where the speed was in MB. The current updates address review comments by using the SAI attribute instead.
Signed-off-by: Ashok Kumar P <apannerselva@marvell.com>
3f68657 to
d80f2f3
Compare
|
/azp run |
|
No pipelines are associated with this pull request. |
New test plan for ARS HLD sonic-net/SONiC#1958 Signed-off-by: apannerselva <apannerselva@marvell.com>
New test plan for ARS HLD sonic-net/SONiC#1958 Signed-off-by: apannerselva <apannerselva@marvell.com> Signed-off-by: Venkata Gouri Rajesh Etla <vrajeshe@cisco.com>
* initial HLD version * review changes Signed-off-by: Vladimir Kuk <vkuk@marvell.com> * Identation fix Signed-off-by: Vladimir Kuk <vkuk@marvell.com> * Identation fix Signed-off-by: Vladimir Kuk <vkuk@marvell.com> * changes after initial review * update fonts * intergrated ARS_OBJECT in NHG and LAG, use notification mechanism * removed ARS_OBJECT * Update to latest changes Signed-off-by: Vladimir Kuk <vkuk@marvell.com> * Review changes Signed-off-by: Vladimir Kuk <vkuk@marvell.com> * Addressing comments Fixed phases contents Fixed spelling Added user configured port scaling factor Updated init sequence Limit idle time value Signed-off-by: Vladimir Kuk <vkuk@marvell.com> * Addressing comments Fixed phases contents Fixed spelling Added user configured port scaling factor Updated init sequence Limit idle time value Signed-off-by: Vladimir Kuk <vkuk@marvell.com> * Addressing community comments Separated NHG identification and ARS object Added NHG matching by ARS-enabled members Support NH creation from RouteOrch and NhgOrch Signed-off-by: Vladimir Kuk <vkuk@marvell.com> * Fixing Review comments Signed-off-by: Ashok Kumar P <apannerselva@marvell.com> --------- Signed-off-by: Vladimir Kuk <vkuk@marvell.com> Signed-off-by: Ashok Kumar P <apannerselva@marvell.com> Signed-off-by: Eddie Ruan <eddie.ruan@alibaba-inc.com>
New test plan for ARS HLD sonic-net/SONiC#1958 Signed-off-by: apannerselva <apannerselva@marvell.com> Signed-off-by: selldinesh <dinesh.sellappan@keysight.com>
New test plan for ARS HLD sonic-net/SONiC#1958 Signed-off-by: apannerselva <apannerselva@marvell.com>
New test plan for ARS HLD sonic-net/SONiC#1958 Signed-off-by: apannerselva <apannerselva@marvell.com> Signed-off-by: Raghavendran Ramanathan <rraghav@cisco.com>
Added support for local ARS (Adaptive Routing and Switching). HLD: sonic-net/SONiC#1958 Signed-off-by: VladimirKuk <31180446+VladimirKuk@users.noreply.github.com>
Added support for local ARS (Adaptive Routing and Switching). HLD: sonic-net/SONiC#1958 Signed-off-by: VladimirKuk <31180446+VladimirKuk@users.noreply.github.com>
Description of PR New test plan for Adaptive Routing and Switching HLD [sonic-net/SONiC#1958] Summary: Fixes # (issue) Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202311 202405 202411 202505 202511 202512 202605 Approach What is the motivation for this PR? New test plan for ARS HLD [sonic-net/SONiC#1958] How did you do it? Added ARS test plan covering adaptive routing and switching functionality. How did you verify/test it? Ran it on the device Results - ecmp/ars/test_ars.py::test_ars_modes[per-packet-global] PASSED [ 10%] ecmp/ars/test_ars.py::test_ars_modes[per-packet-interface] PASSED [ 20%] ecmp/ars/test_ars.py::test_ars_modes[per-packet-nexthop] PASSED [ 30%] ecmp/ars/test_ars.py::test_ars_modes[per-flowlet-global] PASSED [ 40%] ecmp/ars/test_ars.py::test_ars_modes[per-flowlet-interface] PASSED [ 50%] ecmp/ars/test_ars.py::test_ars_modes[per-flowlet-nexthop] PASSED [ 60%] ecmp/ars/test_ars.py::test_ars_acl_action PASSED [ 70%] ecmp/ars/test_ars.py::test_ars_nonars_interface[interface] PASSED [ 80%] ecmp/ars/test_ars.py::test_ars_nonars_interface[nexthop] PASSED [ 90%] ecmp/ars/test_ars.py::test_ars_stress PASSED [100%] Any platform specific information? To be supported for ARS supported platforms and now the script is supported only for marvell-teralynx Supported testbed topology if it's a new test case? T0 Topology Signed-off-by: Ashok Kumar P <apannerselva@marvell.com>
Description of PR New test plan for Adaptive Routing and Switching HLD [sonic-net/SONiC#1958] Summary: Fixes # (issue) Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202311 202405 202411 202505 202511 202512 202605 Approach What is the motivation for this PR? New test plan for ARS HLD [sonic-net/SONiC#1958] How did you do it? Added ARS test plan covering adaptive routing and switching functionality. How did you verify/test it? Ran it on the device Results - ecmp/ars/test_ars.py::test_ars_modes[per-packet-global] PASSED [ 10%] ecmp/ars/test_ars.py::test_ars_modes[per-packet-interface] PASSED [ 20%] ecmp/ars/test_ars.py::test_ars_modes[per-packet-nexthop] PASSED [ 30%] ecmp/ars/test_ars.py::test_ars_modes[per-flowlet-global] PASSED [ 40%] ecmp/ars/test_ars.py::test_ars_modes[per-flowlet-interface] PASSED [ 50%] ecmp/ars/test_ars.py::test_ars_modes[per-flowlet-nexthop] PASSED [ 60%] ecmp/ars/test_ars.py::test_ars_acl_action PASSED [ 70%] ecmp/ars/test_ars.py::test_ars_nonars_interface[interface] PASSED [ 80%] ecmp/ars/test_ars.py::test_ars_nonars_interface[nexthop] PASSED [ 90%] ecmp/ars/test_ars.py::test_ars_stress PASSED [100%] Any platform specific information? To be supported for ARS supported platforms and now the script is supported only for marvell-teralynx Supported testbed topology if it's a new test case? T0 Topology Signed-off-by: Ashok Kumar P <apannerselva@marvell.com>
Added support for local ARS (Adaptive Routing and Switching). HLD: sonic-net/SONiC#1958 Signed-off-by: VladimirKuk <31180446+VladimirKuk@users.noreply.github.com>
This document provides high level design for the feature local Adaptive Routing and Switching (ARS).
PRs:
Local ARS (Adaptive Routing and Switching)Local ARS (Adaptive Routing and Switching)Local ARS (Adaptive Routing and Switching)Local ARS (Adaptive Routing and Switching test plan)Local ARS (Adaptive Routing and Switching test plan)