xref: /linux/drivers/net/ethernet/cisco/enic/vnic_stats.h (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
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