/****************************************************************************** * This software may be used and distributed according to the terms of * the GNU General Public License (GPL), incorporated herein by reference. * Drivers based on or derived from this code fall under the GPL and must * retain the authorship, copyright and license notice. This file is not * a complete program and may only be used when the entire operating * system is licensed under the GPL. * See the file COPYING in this distribution for more information. * * vxge-ethtool.h: Driver for Exar Corp's X3100 Series 10GbE PCIe I/O * Virtualized Server Adapter. * Copyright(c) 2002-2010 Exar Corp. ******************************************************************************/ #ifndef _VXGE_ETHTOOL_H #define _VXGE_ETHTOOL_H #include "vxge-main.h" /* Ethtool related variables and Macros. */ static int vxge_ethtool_get_sset_count(struct net_device *dev, int sset); static char ethtool_driver_stats_keys[][ETH_GSTRING_LEN] = { {"\n DRIVER STATISTICS"}, {"vpaths_opened"}, {"vpath_open_fail_cnt"}, {"link_up_cnt"}, {"link_down_cnt"}, {"tx_frms"}, {"tx_errors"}, {"tx_bytes"}, {"txd_not_free"}, {"txd_out_of_desc"}, {"rx_frms"}, {"rx_errors"}, {"rx_bytes"}, {"rx_mcast"}, {"pci_map_fail_cnt"}, {"skb_alloc_fail_cnt"} }; #define VXGE_TITLE_LEN 5 #define VXGE_HW_VPATH_STATS_LEN 27 #define VXGE_HW_AGGR_STATS_LEN 13 #define VXGE_HW_PORT_STATS_LEN 94 #define VXGE_HW_VPATH_TX_STATS_LEN 19 #define VXGE_HW_VPATH_RX_STATS_LEN 42 #define VXGE_SW_STATS_LEN 60 #define VXGE_HW_STATS_LEN (VXGE_HW_VPATH_STATS_LEN +\ VXGE_HW_AGGR_STATS_LEN +\ VXGE_HW_PORT_STATS_LEN +\ VXGE_HW_VPATH_TX_STATS_LEN +\ VXGE_HW_VPATH_RX_STATS_LEN) #define DRIVER_STAT_LEN (sizeof(ethtool_driver_stats_keys)/ETH_GSTRING_LEN) #define STAT_LEN (VXGE_HW_STATS_LEN + DRIVER_STAT_LEN + VXGE_SW_STATS_LEN) /* Maximum flicker time of adapter LED */ #define VXGE_MAX_FLICKER_TIME (60 * HZ) /* 60 seconds */ #define VXGE_FLICKER_ON 1 #define VXGE_FLICKER_OFF 0 #define vxge_add_string(fmt, size, buf, ...) {\ snprintf(buf + *size, ETH_GSTRING_LEN, fmt, __VA_ARGS__); \ *size += ETH_GSTRING_LEN; \ } #endif /*_VXGE_ETHTOOL_H*/