/* SPDX-License-Identifier: BSD-3-Clause * Copyright 2017 Mellanox Technologies, Ltd. */ #ifndef _TAP_RSS_H_ #define _TAP_RSS_H_ #ifndef TAP_MAX_QUEUES #define TAP_MAX_QUEUES 16 #endif /* hashed fields for RSS */ enum hash_field { HASH_FIELD_IPV4_L3, /* IPv4 src/dst addr */ HASH_FIELD_IPV4_L3_L4, /* IPv4 src/dst addr + L4 src/dst ports */ HASH_FIELD_IPV6_L3, /* IPv6 src/dst addr */ HASH_FIELD_IPV6_L3_L4, /* IPv6 src/dst addr + L4 src/dst ports */ HASH_FIELD_L2_SRC, /* Ethernet src addr */ HASH_FIELD_L2_DST, /* Ethernet dst addr */ HASH_FIELD_L3_SRC, /* L3 src addr */ HASH_FIELD_L3_DST, /* L3 dst addr */ HASH_FIELD_L4_SRC, /* TCP/UDP src ports */ HASH_FIELD_L4_DST, /* TCP/UDP dst ports */ }; struct rss_key { __u8 key[128]; __u32 hash_fields; __u32 key_size; __u32 queues[TAP_MAX_QUEUES]; __u32 nb_queues; } __attribute__((packed)); #endif /* _TAP_RSS_H_ */