1 /******************************************************************************
2 * This software may be used and distributed according to the terms of
3 * the GNU General Public License (GPL), incorporated herein by reference.
4 * Drivers based on or derived from this code fall under the GPL and must
5 * retain the authorship, copyright and license notice. This file is not
6 * a complete program and may only be used when the entire operating
7 * system is licensed under the GPL.
8 * See the file COPYING in this distribution for more information.
10 * vxge-ethtool.h: Driver for Exar Corp's X3100 Series 10GbE PCIe I/O
11 * Virtualized Server Adapter.
12 * Copyright(c) 2002-2010 Exar Corp.
13 ******************************************************************************/
14 #ifndef _VXGE_ETHTOOL_H
15 #define _VXGE_ETHTOOL_H
17 #include "vxge-main.h"
19 /* Ethtool related variables and Macros. */
20 static int vxge_ethtool_get_sset_count(struct net_device
*dev
, int sset
);
22 static char ethtool_driver_stats_keys
[][ETH_GSTRING_LEN
] = {
23 {"\n DRIVER STATISTICS"},
25 {"vpath_open_fail_cnt"},
38 {"skb_alloc_fail_cnt"}
41 #define VXGE_TITLE_LEN 5
42 #define VXGE_HW_VPATH_STATS_LEN 27
43 #define VXGE_HW_AGGR_STATS_LEN 13
44 #define VXGE_HW_PORT_STATS_LEN 94
45 #define VXGE_HW_VPATH_TX_STATS_LEN 19
46 #define VXGE_HW_VPATH_RX_STATS_LEN 42
47 #define VXGE_SW_STATS_LEN 60
48 #define VXGE_HW_STATS_LEN (VXGE_HW_VPATH_STATS_LEN +\
49 VXGE_HW_AGGR_STATS_LEN +\
50 VXGE_HW_PORT_STATS_LEN +\
51 VXGE_HW_VPATH_TX_STATS_LEN +\
52 VXGE_HW_VPATH_RX_STATS_LEN)
54 #define DRIVER_STAT_LEN (sizeof(ethtool_driver_stats_keys)/ETH_GSTRING_LEN)
55 #define STAT_LEN (VXGE_HW_STATS_LEN + DRIVER_STAT_LEN + VXGE_SW_STATS_LEN)
57 /* Maximum flicker time of adapter LED */
58 #define VXGE_MAX_FLICKER_TIME (60 * HZ) /* 60 seconds */
59 #define VXGE_FLICKER_ON 1
60 #define VXGE_FLICKER_OFF 0
62 #define vxge_add_string(fmt, size, buf, ...) {\
63 snprintf(buf + *size, ETH_GSTRING_LEN, fmt, __VA_ARGS__); \
64 *size += ETH_GSTRING_LEN; \
67 #endif /*_VXGE_ETHTOOL_H*/