1 /* 2 * Copyright 2008 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 #ifndef _VNIC_STATS_H_ 19 #define _VNIC_STATS_H_ 20 21 /* Tx statistics */ 22 struct vnic_tx_stats { 23 u64 tx_frames_ok; 24 u64 tx_unicast_frames_ok; 25 u64 tx_multicast_frames_ok; 26 u64 tx_broadcast_frames_ok; 27 u64 tx_bytes_ok; 28 u64 tx_unicast_bytes_ok; 29 u64 tx_multicast_bytes_ok; 30 u64 tx_broadcast_bytes_ok; 31 u64 tx_drops; 32 u64 tx_errors; 33 u64 tx_tso; 34 u64 rsvd[16]; 35 }; 36 37 /* Rx statistics */ 38 struct vnic_rx_stats { 39 u64 rx_frames_ok; 40 u64 rx_frames_total; 41 u64 rx_unicast_frames_ok; 42 u64 rx_multicast_frames_ok; 43 u64 rx_broadcast_frames_ok; 44 u64 rx_bytes_ok; 45 u64 rx_unicast_bytes_ok; 46 u64 rx_multicast_bytes_ok; 47 u64 rx_broadcast_bytes_ok; 48 u64 rx_drop; 49 u64 rx_no_bufs; 50 u64 rx_errors; 51 u64 rx_rss; 52 u64 rx_crc_errors; 53 u64 rx_frames_64; 54 u64 rx_frames_127; 55 u64 rx_frames_255; 56 u64 rx_frames_511; 57 u64 rx_frames_1023; 58 u64 rx_frames_1518; 59 u64 rx_frames_to_max; 60 u64 rsvd[16]; 61 }; 62 63 struct vnic_stats { 64 struct vnic_tx_stats tx; 65 struct vnic_rx_stats rx; 66 }; 67 68 #endif /* _VNIC_STATS_H_ */ 69