101f2e4eaSScott Feldman /* 229046f9bSVasanthy Kolluri * Copyright 2008-2010 Cisco Systems, Inc. All rights reserved. 301f2e4eaSScott Feldman * Copyright 2007 Nuova Systems, Inc. All rights reserved. 401f2e4eaSScott Feldman * 501f2e4eaSScott Feldman * This program is free software; you may redistribute it and/or modify 601f2e4eaSScott Feldman * it under the terms of the GNU General Public License as published by 701f2e4eaSScott Feldman * the Free Software Foundation; version 2 of the License. 801f2e4eaSScott Feldman * 901f2e4eaSScott Feldman * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 1001f2e4eaSScott Feldman * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 1101f2e4eaSScott Feldman * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 1201f2e4eaSScott Feldman * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 1301f2e4eaSScott Feldman * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 1401f2e4eaSScott Feldman * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 1501f2e4eaSScott Feldman * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 1601f2e4eaSScott Feldman * SOFTWARE. 1701f2e4eaSScott Feldman * 1801f2e4eaSScott Feldman */ 1901f2e4eaSScott Feldman 2001f2e4eaSScott Feldman #ifndef _VNIC_STATS_H_ 2101f2e4eaSScott Feldman #define _VNIC_STATS_H_ 2201f2e4eaSScott Feldman 2301f2e4eaSScott Feldman /* Tx statistics */ 2401f2e4eaSScott Feldman struct vnic_tx_stats { 2501f2e4eaSScott Feldman u64 tx_frames_ok; 2601f2e4eaSScott Feldman u64 tx_unicast_frames_ok; 2701f2e4eaSScott Feldman u64 tx_multicast_frames_ok; 2801f2e4eaSScott Feldman u64 tx_broadcast_frames_ok; 2901f2e4eaSScott Feldman u64 tx_bytes_ok; 3001f2e4eaSScott Feldman u64 tx_unicast_bytes_ok; 3101f2e4eaSScott Feldman u64 tx_multicast_bytes_ok; 3201f2e4eaSScott Feldman u64 tx_broadcast_bytes_ok; 3301f2e4eaSScott Feldman u64 tx_drops; 3401f2e4eaSScott Feldman u64 tx_errors; 3501f2e4eaSScott Feldman u64 tx_tso; 3601f2e4eaSScott Feldman u64 rsvd[16]; 3701f2e4eaSScott Feldman }; 3801f2e4eaSScott Feldman 3901f2e4eaSScott Feldman /* Rx statistics */ 4001f2e4eaSScott Feldman struct vnic_rx_stats { 4101f2e4eaSScott Feldman u64 rx_frames_ok; 4201f2e4eaSScott Feldman u64 rx_frames_total; 4301f2e4eaSScott Feldman u64 rx_unicast_frames_ok; 4401f2e4eaSScott Feldman u64 rx_multicast_frames_ok; 4501f2e4eaSScott Feldman u64 rx_broadcast_frames_ok; 4601f2e4eaSScott Feldman u64 rx_bytes_ok; 4701f2e4eaSScott Feldman u64 rx_unicast_bytes_ok; 4801f2e4eaSScott Feldman u64 rx_multicast_bytes_ok; 4901f2e4eaSScott Feldman u64 rx_broadcast_bytes_ok; 5001f2e4eaSScott Feldman u64 rx_drop; 5101f2e4eaSScott Feldman u64 rx_no_bufs; 5201f2e4eaSScott Feldman u64 rx_errors; 5301f2e4eaSScott Feldman u64 rx_rss; 5401f2e4eaSScott Feldman u64 rx_crc_errors; 5501f2e4eaSScott Feldman u64 rx_frames_64; 5601f2e4eaSScott Feldman u64 rx_frames_127; 5701f2e4eaSScott Feldman u64 rx_frames_255; 5801f2e4eaSScott Feldman u64 rx_frames_511; 5901f2e4eaSScott Feldman u64 rx_frames_1023; 6001f2e4eaSScott Feldman u64 rx_frames_1518; 6101f2e4eaSScott Feldman u64 rx_frames_to_max; 6201f2e4eaSScott Feldman u64 rsvd[16]; 6301f2e4eaSScott Feldman }; 6401f2e4eaSScott Feldman 65*58feff07SGovindarajulu Varadarajan /* Generic statistics */ 66*58feff07SGovindarajulu Varadarajan struct vnic_gen_stats { 67*58feff07SGovindarajulu Varadarajan u64 dma_map_error; 68*58feff07SGovindarajulu Varadarajan }; 69*58feff07SGovindarajulu Varadarajan 7001f2e4eaSScott Feldman struct vnic_stats { 7101f2e4eaSScott Feldman struct vnic_tx_stats tx; 7201f2e4eaSScott Feldman struct vnic_rx_stats rx; 7301f2e4eaSScott Feldman }; 7401f2e4eaSScott Feldman 7501f2e4eaSScott Feldman #endif /* _VNIC_STATS_H_ */ 76