47
47
48
48
## Revision
49
49
50
- | Rev | Date | Author | Description |
51
- | :---:| :----------:| :--------------:| :--------------------------------|
52
- | 0.1 | 12/09/2022 | Nazarii Hnydyn | Initial version |
53
- | 0.2 | 05/12/2022 | Nazarii Hnydyn | Capabilities validation |
54
- | 0.3 | 25/09/2023 | Nazarii Hnydyn | Hashing algorithm configuration |
50
+ | Rev | Date | Author | Description |
51
+ | :---:| :----------:| :--------------:| :------------------------------------------------|
52
+ | 0.1 | 12/09/2022 | Nazarii Hnydyn | Initial version |
53
+ | 0.2 | 05/12/2022 | Nazarii Hnydyn | Capabilities validation |
54
+ | 0.3 | 25/09/2023 | Nazarii Hnydyn | Hashing algorithm configuration |
55
+ | 0.4 | 23/01/2025 | Andriy Yurkiv | Add 'IPv6 flow label' field for hashing packets |
55
56
56
57
## About this manual
57
58
@@ -223,6 +224,7 @@ i.e. configuration is tunnel-agnostic
223
224
| SAI_NATIVE_HASH_FIELD_INNER_SRC_IP | |
224
225
| SAI_NATIVE_HASH_FIELD_INNER_L4_DST_PORT | |
225
226
| SAI_NATIVE_HASH_FIELD_INNER_L4_SRC_PORT | |
227
+ | SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL | |
226
228
227
229
** SAI hash algorithms which shall be used for GH:**
228
230
@@ -360,6 +362,7 @@ hash-field = "IN_PORT"
360
362
/ "INNER_SRC_IP"
361
363
/ "INNER_L4_DST_PORT"
362
364
/ "INNER_L4_SRC_PORT"
365
+ / "IPV6_FLOW_LABEL"
363
366
hash-field-list = hash-field [ 1*( "," hash-field ) ]
364
367
hash-algorithm = "CRC"
365
368
/ "XOR"
@@ -408,6 +411,7 @@ hash-field = ""
408
411
/ "INNER_SRC_IP"
409
412
/ "INNER_L4_DST_PORT"
410
413
/ "INNER_L4_SRC_PORT"
414
+ / "IPV6_FLOW_LABEL"
411
415
hash-field-list = hash-field [ 1*( "," hash-field ) ]
412
416
hash-algorithm = ""
413
417
/ "N/A"
@@ -427,10 +431,10 @@ hash-algorithm = ""
427
431
redis-cli -n 4 HGETALL ' SWITCH_HASH|GLOBAL'
428
432
1) " ecmp_hash@"
429
433
2) " DST_MAC,SRC_MAC,ETHERTYPE,IP_PROTOCOL,DST_IP,SRC_IP,L4_DST_PORT,L4_SRC_PORT, \
430
- INNER_DST_MAC,INNER_SRC_MAC,INNER_ETHERTYPE,INNER_IP_PROTOCOL,INNER_DST_IP,INNER_SRC_IP,INNER_L4_DST_PORT,INNER_L4_SRC_PORT"
434
+ INNER_DST_MAC,INNER_SRC_MAC,INNER_ETHERTYPE,INNER_IP_PROTOCOL,INNER_DST_IP,INNER_SRC_IP,INNER_L4_DST_PORT,INNER_L4_SRC_PORT,IPV6_FLOW_LABEL "
431
435
3) " lag_hash@"
432
436
4) " DST_MAC,SRC_MAC,ETHERTYPE,IP_PROTOCOL,DST_IP,SRC_IP,L4_DST_PORT,L4_SRC_PORT, \
433
- INNER_DST_MAC,INNER_SRC_MAC,INNER_ETHERTYPE,INNER_IP_PROTOCOL,INNER_DST_IP,INNER_SRC_IP,INNER_L4_DST_PORT,INNER_L4_SRC_PORT"
437
+ INNER_DST_MAC,INNER_SRC_MAC,INNER_ETHERTYPE,INNER_IP_PROTOCOL,INNER_DST_IP,INNER_SRC_IP,INNER_L4_DST_PORT,INNER_L4_SRC_PORT,IPV6_FLOW_LABEL "
434
438
5) " ecmp_hash_algorithm"
435
439
6) " CRC"
436
440
7) " lag_hash_algorithm"
@@ -447,7 +451,7 @@ redis-cli -n 6 HGETALL 'SWITCH_CAPABILITY|switch'
447
451
5) " HASH|NATIVE_HASH_FIELD_LIST"
448
452
6) " IN_PORT,DST_MAC,SRC_MAC,ETHERTYPE,VLAN_ID,IP_PROTOCOL,DST_IP,SRC_IP,L4_DST_PORT,L4_SRC_PORT, \
449
453
INNER_DST_MAC,INNER_SRC_MAC,INNER_ETHERTYPE,INNER_IP_PROTOCOL,INNER_DST_IP,INNER_SRC_IP, \
450
- INNER_L4_DST_PORT,INNER_L4_SRC_PORT"
454
+ INNER_L4_DST_PORT,INNER_L4_SRC_PORT,IPV6_FLOW_LABEL "
451
455
7) " ECMP_HASH_ALGORITHM_CAPABLE"
452
456
8) " true"
453
457
9) " LAG_HASH_ALGORITHM_CAPABLE"
@@ -481,7 +485,8 @@ INNER_L4_DST_PORT,INNER_L4_SRC_PORT"
481
485
" INNER_DST_IP" ,
482
486
" INNER_SRC_IP" ,
483
487
" INNER_L4_DST_PORT" ,
484
- " INNER_L4_SRC_PORT"
488
+ " INNER_L4_SRC_PORT" ,
489
+ " IPV6_FLOW_LABEL"
485
490
],
486
491
"lag_hash" : [
487
492
" DST_MAC" ,
@@ -499,7 +504,8 @@ INNER_L4_DST_PORT,INNER_L4_SRC_PORT"
499
504
" INNER_DST_IP" ,
500
505
" INNER_SRC_IP" ,
501
506
" INNER_L4_DST_PORT" ,
502
- " INNER_L4_SRC_PORT"
507
+ " INNER_L4_SRC_PORT" ,
508
+ " IPV6_FLOW_LABEL"
503
509
],
504
510
"ecmp_hash_algorithm" : " CRC" ,
505
511
"lag_hash_algorithm" : " CRC"
@@ -580,7 +586,8 @@ config switch-hash global ecmp-hash \
580
586
' INNER_DST_IP' \
581
587
' INNER_SRC_IP' \
582
588
' INNER_L4_DST_PORT' \
583
- ' INNER_L4_SRC_PORT'
589
+ ' INNER_L4_SRC_PORT' \
590
+ ' IPV6_FLOW_LABEL'
584
591
config switch-hash global lag-hash \
585
592
' DST_MAC' \
586
593
' SRC_MAC' \
@@ -597,7 +604,8 @@ config switch-hash global lag-hash \
597
604
' INNER_DST_IP' \
598
605
' INNER_SRC_IP' \
599
606
' INNER_L4_DST_PORT' \
600
- ' INNER_L4_SRC_PORT'
607
+ ' INNER_L4_SRC_PORT' \
608
+ ' IPV6_FLOW_LABEL'
601
609
```
602
610
603
611
** The following command updates switch hash algorithm global:**
@@ -633,6 +641,7 @@ root@sonic:/home/admin# show switch-hash global
633
641
| | | INNER_SRC_IP | | |
634
642
| | | INNER_L4_DST_PORT | | |
635
643
| | | INNER_L4_SRC_PORT | | |
644
+ | | | IPV6_FLOW_LABEL | | |
636
645
| | +-------------------+-------------+ |
637
646
+--------+-------------------------------------+
638
647
| LAG | +-------------------+-------------+ |
@@ -654,6 +663,7 @@ root@sonic:/home/admin# show switch-hash global
654
663
| | | INNER_SRC_IP | | |
655
664
| | | INNER_L4_DST_PORT | | |
656
665
| | | INNER_L4_SRC_PORT | | |
666
+ | | | IPV6_FLOW_LABEL | | |
657
667
| | +-------------------+-------------+ |
658
668
+--------+-------------------------------------+
659
669
```
@@ -685,6 +695,7 @@ root@sonic:/home/admin# show switch-hash capabilities
685
695
| | | INNER_SRC_IP | | |
686
696
| | | INNER_L4_DST_PORT | | |
687
697
| | | INNER_L4_SRC_PORT | | |
698
+ | | | IPV6_FLOW_LABEL | | |
688
699
| | +-------------------+-------------+ |
689
700
+--------+-------------------------------------+
690
701
| LAG | +-------------------+-------------+ |
@@ -708,6 +719,7 @@ root@sonic:/home/admin# show switch-hash capabilities
708
719
| | | INNER_SRC_IP | | |
709
720
| | | INNER_L4_DST_PORT | | |
710
721
| | | INNER_L4_SRC_PORT | | |
722
+ | | | IPV6_FLOW_LABEL | | |
711
723
| | +-------------------+-------------+ |
712
724
+--------+-------------------------------------+
713
725
```
@@ -744,6 +756,7 @@ will be extended with a new common type.
744
756
enum INNER_SRC_IPV6;
745
757
enum INNER_L4_DST_PORT;
746
758
enum INNER_L4_SRC_PORT;
759
+ enum IPV6_FLOW_LABEL;
747
760
}
748
761
}
749
762
@@ -804,6 +817,7 @@ module sonic-hash {
804
817
enum INNER_SRC_IP;
805
818
enum INNER_L4_DST_PORT;
806
819
enum INNER_L4_SRC_PORT;
820
+ enum IPV6_FLOW_LABEL;
807
821
}
808
822
}
809
823
0 commit comments