1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3 * ethtool.h: Defines for Linux ethtool.
4 *
5 * Copyright (C) 1998 David S. Miller (davem@redhat.com)
6 * Copyright 2001 Jeff Garzik <jgarzik@pobox.com>
7 * Portions Copyright 2001 Sun Microsystems (thockin@sun.com)
8 * Portions Copyright 2002 Intel (eli.kupermann@intel.com,
9 * christopher.leech@intel.com,
10 * scott.feldman@intel.com)
11 * Portions Copyright (C) Sun Microsystems 2008
12 */
13
14 #ifndef _UAPI_LINUX_ETHTOOL_H
15 #define _UAPI_LINUX_ETHTOOL_H
16
17 #include <linux/kernel.h>
18 #include <linux/types.h>
19 #include <linux/if_ether.h>
20
21 #define ETHTOOL_GCHANNELS 0x0000003c /* Get no of channels */
22
23 /**
24 * struct ethtool_channels - configuring number of network channel
25 * @cmd: ETHTOOL_{G,S}CHANNELS
26 * @max_rx: Read only. Maximum number of receive channel the driver support.
27 * @max_tx: Read only. Maximum number of transmit channel the driver support.
28 * @max_other: Read only. Maximum number of other channel the driver support.
29 * @max_combined: Read only. Maximum number of combined channel the driver
30 * support. Set of queues RX, TX or other.
31 * @rx_count: Valid values are in the range 1 to the max_rx.
32 * @tx_count: Valid values are in the range 1 to the max_tx.
33 * @other_count: Valid values are in the range 1 to the max_other.
34 * @combined_count: Valid values are in the range 1 to the max_combined.
35 *
36 * This can be used to configure RX, TX and other channels.
37 */
38
39 struct ethtool_channels {
40 __u32 cmd;
41 __u32 max_rx;
42 __u32 max_tx;
43 __u32 max_other;
44 __u32 max_combined;
45 __u32 rx_count;
46 __u32 tx_count;
47 __u32 other_count;
48 __u32 combined_count;
49 };
50
51 #endif /* _UAPI_LINUX_ETHTOOL_H */