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. 9 * 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 16 17 #include "vxge-main.h" 18 19 /* Ethtool related variables and Macros. */ 20 static int vxge_ethtool_get_sset_count(struct net_device *dev, int sset); 21 22 static char ethtool_driver_stats_keys[][ETH_GSTRING_LEN] = { 23 {"\n DRIVER STATISTICS"}, 24 {"vpaths_opened"}, 25 {"vpath_open_fail_cnt"}, 26 {"link_up_cnt"}, 27 {"link_down_cnt"}, 28 {"tx_frms"}, 29 {"tx_errors"}, 30 {"tx_bytes"}, 31 {"txd_not_free"}, 32 {"txd_out_of_desc"}, 33 {"rx_frms"}, 34 {"rx_errors"}, 35 {"rx_bytes"}, 36 {"rx_mcast"}, 37 {"pci_map_fail_cnt"}, 38 {"skb_alloc_fail_cnt"} 39 }; 40 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) 53 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) 56 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 61 62 #define vxge_add_string(fmt, size, buf, ...) {\ 63 snprintf(buf + *size, ETH_GSTRING_LEN, fmt, __VA_ARGS__); \ 64 *size += ETH_GSTRING_LEN; \ 65 } 66 67 #endif /*_VXGE_ETHTOOL_H*/ 68