* Return the supported RSS hash configuration. * * NICs should query this to determine what to configure in their redirection * matching table. */
| 469 | * matching table. |
| 470 | */ |
| 471 | inline u_int |
| 472 | rss_gethashconfig(void) |
| 473 | { |
| 474 | |
| 475 | /* Return 4-tuple for TCP; 2-tuple for others */ |
| 476 | /* |
| 477 | * UDP may fragment more often than TCP and thus we'll end up with |
| 478 | * NICs returning 2-tuple fragments. |
| 479 | * udp_init() and udplite_init() both currently initialise things |
| 480 | * as 2-tuple. |
| 481 | * So for now disable UDP 4-tuple hashing until all of the other |
| 482 | * pieces are in place. |
| 483 | */ |
| 484 | return ( |
| 485 | RSS_HASHTYPE_RSS_IPV4 |
| 486 | | RSS_HASHTYPE_RSS_TCP_IPV4 |
| 487 | | RSS_HASHTYPE_RSS_IPV6 |
| 488 | | RSS_HASHTYPE_RSS_TCP_IPV6 |
| 489 | | RSS_HASHTYPE_RSS_IPV6_EX |
| 490 | | RSS_HASHTYPE_RSS_TCP_IPV6_EX |
| 491 | #if 0 |
| 492 | | RSS_HASHTYPE_RSS_UDP_IPV4 |
| 493 | | RSS_HASHTYPE_RSS_UDP_IPV6 |
| 494 | | RSS_HASHTYPE_RSS_UDP_IPV6_EX |
| 495 | #endif |
| 496 | ); |
| 497 | } |
| 498 | |
| 499 | /* |
| 500 | * XXXRW: Confirm that sysctl -a won't dump this keying material, don't want |
no outgoing calls
no test coverage detected