Skip to content

[hash] update GH frontend with IPV6_FLOW_LABEL for ECMP/LAG switch hash configuration#3730

Merged
liat-grozovik merged 1 commit intosonic-net:masterfrom
ayurkiv-nvda:master_ipv6_flow_label_upstream
Mar 13, 2025
Merged

[hash] update GH frontend with IPV6_FLOW_LABEL for ECMP/LAG switch hash configuration#3730
liat-grozovik merged 1 commit intosonic-net:masterfrom
ayurkiv-nvda:master_ipv6_flow_label_upstream

Conversation

@ayurkiv-nvda
Copy link
Copy Markdown
Contributor

What I did

CLI updated with ability to configure generic hash with IPV6_FLOW_LABEL parameter

How I did it

Updated HASH_FIELD_LIST
Updated sonic-utilities tests
Updated doc file

How to verify it

root@sonic:/home/admin# config switch-hash global ecmp-hash IPV6_FLOW_LABEL
root@sonic:/home/admin# config switch-hash global lag-hash IPV6_FLOW_LABEL
root@sonic:/home/admin# show switch-hash global
+--------+-----------------------------------+
| Hash   | Configuration                     |
+========+===================================+
| ECMP   | +-----------------+-------------+ |
|        | | Hash Field      | Algorithm   | |
|        | |-----------------+-------------| |
|        | | IPV6_FLOW_LABEL | CRC         | |
|        | +-----------------+-------------+ |
+--------+-----------------------------------+
| LAG    | +-----------------+-------------+ |
|        | | Hash Field      | Algorithm   | |
|        | |-----------------+-------------| |
|        | | IPV6_FLOW_LABEL | XOR         | |
|        | +-----------------+-------------+ |
+--------+-----------------------------------+

root@sonic:/home/admin# show switch-hash capabilities
+--------+-------------------------------------+
| Hash   | Capabilities                        |
+========+=====================================+
| ECMP   | +-------------------+-------------+ |
|        | | Hash Field        | Algorithm   | |
|        | |-------------------+-------------| |
|        | | SRC_IP            | CRC         | |
|        | | DST_IP            | XOR         | |
|        | | INNER_SRC_IP      | RANDOM      | |
|        | | INNER_DST_IP      | CRC_CCITT   | |
|        | | VLAN_ID           |             | |
|        | | IP_PROTOCOL       |             | |
|        | | ETHERTYPE         |             | |
|        | | L4_SRC_PORT       |             | |
|        | | L4_DST_PORT       |             | |
|        | | SRC_MAC           |             | |
|        | | DST_MAC           |             | |
|        | | IN_PORT           |             | |
|        | | INNER_IP_PROTOCOL |             | |
|        | | INNER_ETHERTYPE   |             | |
|        | | INNER_L4_SRC_PORT |             | |
|        | | INNER_L4_DST_PORT |             | |
|        | | INNER_SRC_MAC     |             | |
|        | | INNER_DST_MAC     |             | |
|        | | IPV6_FLOW_LABEL   |             | |
|        | +-------------------+-------------+ |
+--------+-------------------------------------+
| LAG    | +-------------------+-------------+ |
|        | | Hash Field        | Algorithm   | |
|        | |-------------------+-------------| |
|        | | SRC_IP            | CRC         | |
|        | | DST_IP            | XOR         | |
|        | | INNER_SRC_IP      | RANDOM      | |
|        | | INNER_DST_IP      | CRC_CCITT   | |
|        | | VLAN_ID           |             | |
|        | | IP_PROTOCOL       |             | |
|        | | ETHERTYPE         |             | |
|        | | L4_SRC_PORT       |             | |
|        | | L4_DST_PORT       |             | |
|        | | SRC_MAC           |             | |
|        | | DST_MAC           |             | |
|        | | IN_PORT           |             | |
|        | | INNER_IP_PROTOCOL |             | |
|        | | INNER_ETHERTYPE   |             | |
|        | | INNER_L4_SRC_PORT |             | |
|        | | INNER_L4_DST_PORT |             | |
|        | | INNER_SRC_MAC     |             | |
|        | | INNER_DST_MAC     |             | |
|        | | IPV6_FLOW_LABEL   |             | |
|        | +-------------------+-------------+ |
+--------+-------------------------------------+

Previous command output (if the output of a command-line utility has changed)

New command output (if the output of a command-line utility has changed)

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

…sh configuration

Signed-off-by: Andriy Yurkiv <ayurkiv@nvidia.com>
@ayurkiv-nvda ayurkiv-nvda force-pushed the master_ipv6_flow_label_upstream branch from f89c7dc to c189b86 Compare February 3, 2025 14:29
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@stephenxs
Copy link
Copy Markdown
Collaborator

Hi @prsunny would you please merge this PR?

@liat-grozovik liat-grozovik merged commit 5e3b132 into sonic-net:master Mar 13, 2025
6 checks passed
@r12f
Copy link
Copy Markdown

r12f commented Mar 15, 2025

do we need this in 202412? @dgsudharsan

qiluo-msft pushed a commit to sonic-net/sonic-buildimage that referenced this pull request Mar 24, 2025
Related PRs:
sonic-net/sonic-utilities#3730
sonic-net/sonic-sairedis#1508
sonic-net/sonic-swss#3481

Why I did it
Need to add SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL for hash calculation. Need to align Yang model.

Work item tracking
Microsoft ADO (number only):
How I did it
Added IPV6_FLOW_LABEL to Generic Hash Yang model (both ecmp_hash and lag_hash). path: SWITCH_HASH/GLOBAL
Updated existing UT.
Updated Configuration.md

How to verify it
1)make configure PLATFORM=mellanox
2)make target/sonic-mellanox.bin
3)check model
nmoray pushed a commit to nmoray/sonic-utilities that referenced this pull request Jun 25, 2025
…sh configuration (sonic-net#3730)

- What I did
CLI updated with ability to configure generic hash with IPV6_FLOW_LABEL parameter

- How I did it
Updated HASH_FIELD_LIST
Updated sonic-utilities tests
Updated doc file

- How to verify it
root@sonic:/home/admin# config switch-hash global ecmp-hash IPV6_FLOW_LABEL
root@sonic:/home/admin# config switch-hash global lag-hash IPV6_FLOW_LABEL
root@sonic:/home/admin# show switch-hash global

Signed-off-by: Andriy Yurkiv <ayurkiv@nvidia.com>
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.

8 participants