Skip to content

Commit 2f00452

Browse files
authored
[hash] add SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL to hash-field map for ECMP/LAG switch hash configuration (#3481)
* added SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL to the hash-field table Why I did it Need to support SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL parameters for hash calculation How I verified it Configure SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL via CLI, check /var/log/syslog
1 parent 4bc8c90 commit 2f00452

4 files changed

Lines changed: 9 additions & 4 deletions

File tree

orchagent/switch/switch_capabilities.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ static const std::unordered_map<sai_native_hash_field_t, std::string> swHashHash
6363
{ SAI_NATIVE_HASH_FIELD_INNER_DST_IP, SWITCH_HASH_FIELD_INNER_DST_IP },
6464
{ SAI_NATIVE_HASH_FIELD_INNER_SRC_IP, SWITCH_HASH_FIELD_INNER_SRC_IP },
6565
{ SAI_NATIVE_HASH_FIELD_INNER_L4_DST_PORT, SWITCH_HASH_FIELD_INNER_L4_DST_PORT },
66-
{ SAI_NATIVE_HASH_FIELD_INNER_L4_SRC_PORT, SWITCH_HASH_FIELD_INNER_L4_SRC_PORT }
66+
{ SAI_NATIVE_HASH_FIELD_INNER_L4_SRC_PORT, SWITCH_HASH_FIELD_INNER_L4_SRC_PORT },
67+
{ SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL, SWITCH_HASH_FIELD_IPV6_FLOW_LABEL }
6768
};
6869

6970
static const std::unordered_map<sai_hash_algorithm_t, std::string> swHashAlgorithmMap =

orchagent/switch/switch_helper.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ static const std::unordered_map<std::string, sai_native_hash_field_t> swHashHash
3838
{ SWITCH_HASH_FIELD_INNER_DST_IP, SAI_NATIVE_HASH_FIELD_INNER_DST_IP },
3939
{ SWITCH_HASH_FIELD_INNER_SRC_IP, SAI_NATIVE_HASH_FIELD_INNER_SRC_IP },
4040
{ SWITCH_HASH_FIELD_INNER_L4_DST_PORT, SAI_NATIVE_HASH_FIELD_INNER_L4_DST_PORT },
41-
{ SWITCH_HASH_FIELD_INNER_L4_SRC_PORT, SAI_NATIVE_HASH_FIELD_INNER_L4_SRC_PORT }
41+
{ SWITCH_HASH_FIELD_INNER_L4_SRC_PORT, SAI_NATIVE_HASH_FIELD_INNER_L4_SRC_PORT },
42+
{ SWITCH_HASH_FIELD_IPV6_FLOW_LABEL, SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL }
4243
};
4344

4445
static const std::unordered_map<std::string, sai_hash_algorithm_t> swHashAlgorithmMap =

orchagent/switch/switch_schema.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#define SWITCH_HASH_FIELD_INNER_SRC_IP "INNER_SRC_IP"
2121
#define SWITCH_HASH_FIELD_INNER_L4_DST_PORT "INNER_L4_DST_PORT"
2222
#define SWITCH_HASH_FIELD_INNER_L4_SRC_PORT "INNER_L4_SRC_PORT"
23+
#define SWITCH_HASH_FIELD_IPV6_FLOW_LABEL "IPV6_FLOW_LABEL"
2324

2425
#define SWITCH_HASH_ECMP_HASH "ecmp_hash"
2526
#define SWITCH_HASH_LAG_HASH "lag_hash"

tests/test_hash.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"DST_IP",
1515
"SRC_IP",
1616
"L4_DST_PORT",
17-
"L4_SRC_PORT"
17+
"L4_SRC_PORT",
18+
"IPV6_FLOW_LABEL"
1819
]
1920
INNER_HASH_FIELD_LIST = [
2021
"INNER_DST_MAC",
@@ -50,7 +51,8 @@
5051
"SAI_NATIVE_HASH_FIELD_DST_IP",
5152
"SAI_NATIVE_HASH_FIELD_SRC_IP",
5253
"SAI_NATIVE_HASH_FIELD_L4_DST_PORT",
53-
"SAI_NATIVE_HASH_FIELD_L4_SRC_PORT"
54+
"SAI_NATIVE_HASH_FIELD_L4_SRC_PORT",
55+
"SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL"
5456
]
5557
SAI_INNER_HASH_FIELD_LIST = [
5658
"SAI_NATIVE_HASH_FIELD_INNER_DST_MAC",

0 commit comments

Comments
 (0)