xref: /freebsd/sys/dev/enic/vnic_rss.h (revision e6bfd18d21b225af6a0ed67ceeaf1293b7b9eba5)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright 2008-2017 Cisco Systems, Inc.  All rights reserved.
3  * Copyright 2007 Nuova Systems, Inc.  All rights reserved.
4  */
5 
6 #ifndef _VNIC_RSS_H_
7 #define _VNIC_RSS_H_
8 
9 /* RSS key array */
10 union vnic_rss_key {
11 	struct {
12 		u8 b[10];
13 		u8 b_pad[6];
14 	} key[4];
15 	u64 raw[8];
16 };
17 
18 /* RSS cpu array */
19 union vnic_rss_cpu {
20 	struct {
21 		u8 b[4];
22 		u8 b_pad[4];
23 	} cpu[32];
24 	u64 raw[32];
25 };
26 
27 void vnic_set_rss_key(union vnic_rss_key *rss_key, u8 *key);
28 void vnic_set_rss_cpu(union vnic_rss_cpu *rss_cpu, u8 *cpu);
29 void vnic_get_rss_key(union vnic_rss_key *rss_key, u8 *key);
30 void vnic_get_rss_cpu(union vnic_rss_cpu *rss_cpu, u8 *cpu);
31 
32 #endif /* _VNIC_RSS_H_ */
33