You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FG_NHG|{{fg-nhg-group-name}}:
"bucket_size": {{hash_bucket_size}}
FG_NHG_PREFIX|{{IPv4 OR IPv6 prefix}}:
"FG_NHG":{{fg-nhg-group-name}}
FG_NHG_MEMBER|{{next-hop-ip(IPv4 or IPv6 address)}}:
"FG_NHG":{{fg-nhg-group-name}}
"Bank": {{an index which specifies a bank/group in which the redistribution is performed}}
; Defines schema for FG NHG configuration attributes
key = FG_NHG|fg-nhg-group-name ; FG_NHG group name
; field = value
BUCKET_SIZE = hash_bucket_size ; total hash bucket size desired, recommended value of Lowest Common Multiple of 1..{max # of next-hops}
; Defines schema for FG NHG prefix configuration attributes
key = FG_NHG_PREFIX|{{IPv4 OR IPv6 prefix}} ; FG_NHG_PREFIX for which FG behavior is desired
; field = value
FG_NHG = fg-nhg-group-name ; Fine Grained next-hop group name
; Defines schema for FG NHG member configuration attributes
key = FG_NHG_MEMBER|{{next-hop-ip(IPv4 or IPv6 address)}} ; FG_NHG next-hop-ip member associated with prefix
; field = value
FG_NHG = fg-nhg-group-name ; Fine Grained next-hop group name
BANK = DIGITS ; An index which specifies a bank/group in which the redistribution is performed
State DB:
FG_ROUTE_TABLE|{{IPv4 OR IPv6 prefix}}:
"0": {{next-hop-key}}
"1": {{next-hop-key}}
...
"{{hash_bucket_size -1}}": {{next-hop-key}}
; Defines schema for FG ROUTE TABLE state db attributes
key = FG_ROUTE_TABLE|{{IPv4 OR IPv6 prefix}} ; Prefix associated with this route
; field = value
INDEX = next-hop-key ; index in hash bucket associated with the next-hop-key(IP addr,if alias)
In fact we have
Oct 16 16:19:09.111551 sonic INFO swss#orchagent: :- doTaskFgNhg: Added new FG_NHG entry with configured_bucket_size 12
Oct 16 16:19:09.124397 sonic INFO swss#orchagent: :- calculateBankHashBucketStartIndices: Calculate_bank_hash_bucket_start_indices: bank 0, si 0, ei 127
Describe the results you expected:
Banks and ranges should be calculated according to the configured values.
Flows distribution should happen only within the configured banks.
@nazariig can you try with "bank" instead of "Bank" note lack of capitalization of B, I will fix the schema/example in the documentation.
Upon changing to "bank", can you share the following if you still observe issues:
what Ethernet16 was configured as? Vlan, regular L3 interface etc?
Do you observe invalid flow distribution without disabling Ethernet16?
@nazariig 0...127 is expected, since the real hash bucket size in hardware is 128(vs 12 requested by the user in config_db entry), so fg_ecmp orch populates next-hop entries per the 128 size(vs 12 size).
Description
Fine Grained ECMP doesn't distribute flows according to configured banks.
The behavior differs to what is described by HLD.
Steps to reproduce the issue:
Ethernet16
Note: Flow is expected at egress port
Ethernet20
sinceEthernet16
is disabledDescribe the results you received:
According to HLD (https://github.com/Azure/SONiC/blob/master/doc/ecmp/fine_grained_next_hop_hld.md):
Config DB:
State DB:
In fact we have
and
Describe the results you expected:
Banks and ranges should be calculated according to the configured values.
Flows distribution should happen only within the configured banks.
Additional information you deem important (e.g. issue happens only occasionally):
System log: syslog.txt
Redis dump: config.txt
Automation test passes: sonic-net/sonic-mgmt#1788
Output of
show version
:Attach debug file
sudo generate_dump
:The text was updated successfully, but these errors were encountered: