Command Line Reference
RoCE Configuration
Load Balance
18 min
features below are only supported on cx864e n packet spray packet spray table 1 packet spray table 1 packet spray command purpose hash algorithm { random | round robin } configure the hash algorithm of lag based on packets hash algorithm ecmp { random | round robin } configure the hash algorithm of ecmp based on packets hash algorithm {random|round robin} hash algorithm {random|round robin} \[command] hash algorithm { random | round robin } \[purpose] configure the hash algorithm of lag based on packets \[parameters] parameter description random random hash allocation of packets round robin sequential round robin allocation of packets \[view] lagif configuration view \[notes] run commit to take effect defaults to hash based on five tuple only cx864 n supports this feature run command no hash algorithm to restore to the default configuration \[use cases] sonic# configure terminal sonic(config)# interface link aggregation 100 sonic(config lagif 100)# hash algorithm random please enter 'commit' to make hash algorithm command take effect sonic(config lagif 100)# commit hash algorithm ecmp {random|round robin} hash algorithm ecmp {random|round robin} \[command] hash algorithm ecmp { random | round robin } \[purpose] configure the hash algorithm of ecmp based on packets \[parameters] parameter description random random hash allocation of packets round robin sequential round robin allocation of packets \[view] global configuration view \[notes] defaults to hash based on five tuple only cx864 n supports this feature the ecmp hash algorithm and the lag hash algorithm are independently controlled please configure the hash algorithm before route distribution if the hash algorithm is modified after routes have been distributed, the routes need to be regenerated run command no hash algorithm ecmp to restore to the default configuration \[use cases] onic# configure terminal sonic(config)# hash algorithm ecmp random ars ars ars view ars view table 2 ars view table 2 ars view command purpose show ars instance display ars instance configuration show ars interface display the ars status of the interface show ars profile display ars profile configuration show ars instance show ars instance \[command] show ars instance \[purpose] display ars instance configuration \[view] privileged user view \[use cases] sonic# show ars instance instance name assign mode idle time max flows binding status \ test per flowlet quality 256 512 n/a show ars interface show ars interface \[command] show ars instance \[purpose] display the ars status of the interface \[view] privileged user view \[use cases] sonic# show ars interface interface status scaling factor \ 0/0 enabled 10000 0/1 enabled 10000 0/2 enabled 10000 0/3 enabled 10000 0/4 enabled 10000 0/5 enabled 10000 0/6 enabled 10000 0/7 enabled 10000 0/8 enabled 10000 …… show ars profile show ars profile \[command] show ars profile \[purpose] display ars profile configuration \[view] privileged user view \[use cases] sonic# show ars profile algorithm ipv4 enable ipv6 enable load past min load past max overall max flows remaining max flows \ ewma true true 0 4096 8128 7616 ars config ars config table 3 ars config table 3 ars config command purpose ars profile create ars profile ars instance instance name create ars instance ars nexthop group { a b c d/m | a b/m } instance instance name bind the ars instance to an ecmp group idle time time value set the flow splitting interval max flows flow value set the maximum number of flowlets that ecmp can track simultaneously in macro flow ars disable disable ars at interface level ars profile ars profile \[command] ars profile \[purpose] create ars profile \[view] global configuration view \[notes] enable ars globally and create a profile to automatically bind to the switch this will take effect globally currently, the device supports only one profile run command no ars profile to delete the ars profile \[use cases] sonic# configure terminal sonic(config)# ars profile sonic(config arsprofile)# show this ! ars profile ars instance ars instance instance name \[command] ars instance instance name \[purpose] create ars instance \[parameters] parameter description instance name name of ars instance, in string form \[view] global configuration view \[notes] run command no ars instance instance name to delete the ars instance \[use cases] sonic# configure terminal sonic(config)# ars instance test sonic(config ars instance test)# show this ! ars instance test ars nexthop group { ars nexthop group { a b c d/m | a b/m } instance instance name \[command] ars nexthop group { a b c d/m | a b/m } instance instance name \[purpose] bind the ars instance to an ecmp group \[parameters] parameter description a b c d/m ipv4 destination address, bound to the ecmp group where the next hop of the destination address belongs a b/m ipv6 destination address, bound to the ecmp group where the next hop of the destination address belongs instance name name of ars instance, in string form \[view] global configuration view \[notes] ecmp groups and ars instances can only be bound one to one run command no ars nexthop group { a b c d/m | a b/m } instance instance name to delete the bond with ecmp group \[use cases] sonic# configure terminal sonic(config)# ars instance test sonic(config ars instance test)# exit sonic(config)# ars nexthop group 10 0 0 0/24 instance test idle time time value idle time time value \[command] idle time time value \[purpose] set the flow splitting interval \[parameters] parameter description time value idle duration in microseconds the range is 1 1048, and the default value is 256 \[view] flow splitting is triggered if the frame interval exceeds this time; ars instance configuration view \[notes] run command no idle time to restore the idle duration value to the default value \[use cases] sonic# configure terminal sonic(config)# ars instance test sonic(config ars instance test)# idle time 200 sonic(config ars instance test)# show this ! ars instance test idle time 200 max flows max flows flow value \[command] max flows flow value \[purpose] set the maximum number of flowlet that ecmp group can track simultaneously in macro flow table \[parameters] parameter description flow value the number of flowlet, optional parameters 32/64/ 128/256/512/1k/2k, and the default value is 512 \[view] ars instance configuration view \[notes] it is recommended to use the default value run command no max flows to restore the number of flowlet to the default value \[use cases] sonic# configure terminal sonic(config)# ars instance test sonic(config ars instance test)# max flows 1k ! ars instance test max flows 1k ars disable ars disable \[command] ars disable \[purpose] disable ars at interface level \[view] physical interface configuration view \[notes] run command no ars disable to enable ars \[use cases] sonic# configure terminal sonic(config)# interface ethernet 0/400 sonic(config if 0/400)# ars disable sonic(config if 0/400)# show this ! interface ethernet 0/400 ars disable fec rs mtu 9216 speed 800000
