aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/ip/ip6_forward.c
diff options
context:
space:
mode:
authorAhmed Abdelsalam <ahabdels@cisco.com>2020-11-20 18:56:09 +0000
committerOle Tr�an <otroan@employees.org>2021-01-21 10:59:46 +0000
commitf2984bbb013acb0d6872e8fbb2f9d57d3e4f49b9 (patch)
tree2b53a21de615e7f6fabcf96e2b15e7070adc1736 /src/vnet/ip/ip6_forward.c
parent03fabbd22215d306fb66c51f952480631d67c9dc (diff)
ip: use IPv6 flowlabel in flow hash computation
extends ip6_compute_flow_hash() to include IPv6 flowlabel in flowhash computation Type: improvement Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Change-Id: Id1aaa20c9dac729c22b714eea1cdd6e9e4d1f75e
Diffstat (limited to 'src/vnet/ip/ip6_forward.c')
-rw-r--r--src/vnet/ip/ip6_forward.c35
1 files changed, 10 insertions, 25 deletions
diff --git a/src/vnet/ip/ip6_forward.c b/src/vnet/ip/ip6_forward.c
index aba4067174a..0ed20eea4ee 100644
--- a/src/vnet/ip/ip6_forward.c
+++ b/src/vnet/ip/ip6_forward.c
@@ -2832,24 +2832,6 @@ ip6_lookup_init (vlib_main_t * vm)
VLIB_INIT_FUNCTION (ip6_lookup_init);
-#ifndef CLIB_MARCH_VARIANT
-int
-vnet_set_ip6_flow_hash (u32 table_id, u32 flow_hash_config)
-{
- u32 fib_index;
-
- fib_index = fib_table_find (FIB_PROTOCOL_IP6, table_id);
-
- if (~0 == fib_index)
- return VNET_API_ERROR_NO_SUCH_FIB;
-
- fib_table_set_flow_hash_config (fib_index, FIB_PROTOCOL_IP6,
- flow_hash_config);
-
- return 0;
-}
-#endif
-
static clib_error_t *
set_ip6_flow_hash_command_fn (vlib_main_t * vm,
unformat_input_t * input,
@@ -2864,8 +2846,12 @@ set_ip6_flow_hash_command_fn (vlib_main_t * vm,
{
if (unformat (input, "table %d", &table_id))
matched = 1;
-#define _(a,v) \
- else if (unformat (input, #a)) { flow_hash_config |= v; matched=1;}
+#define _(a, b, v) \
+ else if (unformat (input, #a)) \
+ { \
+ flow_hash_config |= v; \
+ matched = 1; \
+ }
foreach_flow_hash_bit
#undef _
else
@@ -2876,7 +2862,7 @@ set_ip6_flow_hash_command_fn (vlib_main_t * vm,
return clib_error_return (0, "unknown input `%U'",
format_unformat_error, input);
- rv = vnet_set_ip6_flow_hash (table_id, flow_hash_config);
+ rv = ip_flow_hash_set (AF_IP6, table_id, flow_hash_config);
switch (rv)
{
case 0:
@@ -2969,11 +2955,10 @@ set_ip6_flow_hash_command_fn (vlib_main_t * vm,
* @endparblock
?*/
/* *INDENT-OFF* */
-VLIB_CLI_COMMAND (set_ip6_flow_hash_command, static) =
-{
+VLIB_CLI_COMMAND (set_ip6_flow_hash_command, static) = {
.path = "set ip6 flow-hash",
- .short_help =
- "set ip6 flow-hash table <table-id> [src] [dst] [sport] [dport] [proto] [reverse]",
+ .short_help = "set ip6 flow-hash table <table-id> [src] [dst] [sport] "
+ "[dport] [proto] [reverse] [flowlabel]",
.function = set_ip6_flow_hash_command_fn,
};
/* *INDENT-ON* */