1 /* 2 * Copyright 2008-2010 Cisco Systems, Inc. All rights reserved. 3 * Copyright 2007 Nuova Systems, Inc. All rights reserved. 4 * 5 * This program is free software; you may redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 10 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 11 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 12 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 13 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 14 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 15 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 16 * SOFTWARE. 17 * 18 */ 19 20 #ifndef _VNIC_STATS_H_ 21 #define _VNIC_STATS_H_ 22 23 /* Tx statistics */ 24 struct vnic_tx_stats { 25 u64 tx_frames_ok; 26 u64 tx_unicast_frames_ok; 27 u64 tx_multicast_frames_ok; 28 u64 tx_broadcast_frames_ok; 29 u64 tx_bytes_ok; 30 u64 tx_unicast_bytes_ok; 31 u64 tx_multicast_bytes_ok; 32 u64 tx_broadcast_bytes_ok; 33 u64 tx_drops; 34 u64 tx_errors; 35 u64 tx_tso; 36 u64 rsvd[16]; 37 }; 38 39 /* Rx statistics */ 40 struct vnic_rx_stats { 41 u64 rx_frames_ok; 42 u64 rx_frames_total; 43 u64 rx_unicast_frames_ok; 44 u64 rx_multicast_frames_ok; 45 u64 rx_broadcast_frames_ok; 46 u64 rx_bytes_ok; 47 u64 rx_unicast_bytes_ok; 48 u64 rx_multicast_bytes_ok; 49 u64 rx_broadcast_bytes_ok; 50 u64 rx_drop; 51 u64 rx_no_bufs; 52 u64 rx_errors; 53 u64 rx_rss; 54 u64 rx_crc_errors; 55 u64 rx_frames_64; 56 u64 rx_frames_127; 57 u64 rx_frames_255; 58 u64 rx_frames_511; 59 u64 rx_frames_1023; 60 u64 rx_frames_1518; 61 u64 rx_frames_to_max; 62 u64 rsvd[16]; 63 }; 64 65 /* Generic statistics */ 66 struct vnic_gen_stats { 67 u64 dma_map_error; 68 }; 69 70 struct vnic_stats { 71 struct vnic_tx_stats tx; 72 struct vnic_rx_stats rx; 73 }; 74 75 #endif /* _VNIC_STATS_H_ */ 76