Merge branch '2019-12-06-master-imports'
[oweals/u-boot.git] / include / linux / netdevice.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * INET         An implementation of the TCP/IP protocol suite for the LINUX
4  *              operating system.  INET is implemented using the  BSD Socket
5  *              interface as the means of communication with the user level.
6  *
7  *              Definitions for the Interfaces handler.
8  *
9  * Version:     @(#)dev.h       1.0.10  08/12/93
10  *
11  * Authors:     Ross Biro
12  *              Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
13  *              Corey Minyard <wf-rch!minyard@relay.EU.net>
14  *              Donald J. Becker, <becker@cesdis.gsfc.nasa.gov>
15  *              Alan Cox, <Alan.Cox@linux.org>
16  *              Bjorn Ekwall. <bj0rn@blox.se>
17  *              Pekka Riikonen <priikone@poseidon.pspt.fi>
18  *
19  *              Moved to /usr/include/linux for NET3
20  */
21 #ifndef _LINUX_NETDEVICE_H
22 #define _LINUX_NETDEVICE_H
23
24 /*
25  *      Network device statistics. Akin to the 2.0 ether stats but
26  *      with byte counters.
27  */
28
29 struct net_device_stats {
30         unsigned long   rx_packets;             /* total packets received       */
31         unsigned long   tx_packets;             /* total packets transmitted    */
32         unsigned long   rx_bytes;               /* total bytes received         */
33         unsigned long   tx_bytes;               /* total bytes transmitted      */
34         unsigned long   rx_errors;              /* bad packets received         */
35         unsigned long   tx_errors;              /* packet transmit problems     */
36         unsigned long   rx_dropped;             /* no space in linux buffers    */
37         unsigned long   tx_dropped;             /* no space available in linux  */
38         unsigned long   multicast;              /* multicast packets received   */
39         unsigned long   collisions;
40
41         /* detailed rx_errors: */
42         unsigned long   rx_length_errors;
43         unsigned long   rx_over_errors;         /* receiver ring buff overflow  */
44         unsigned long   rx_crc_errors;          /* recved pkt with crc error    */
45         unsigned long   rx_frame_errors;        /* recv'd frame alignment error */
46         unsigned long   rx_fifo_errors;         /* recv'r fifo overrun          */
47         unsigned long   rx_missed_errors;       /* receiver missed packet       */
48
49         /* detailed tx_errors */
50         unsigned long   tx_aborted_errors;
51         unsigned long   tx_carrier_errors;
52         unsigned long   tx_fifo_errors;
53         unsigned long   tx_heartbeat_errors;
54         unsigned long   tx_window_errors;
55
56         /* for cslip etc */
57         unsigned long   rx_compressed;
58         unsigned long   tx_compressed;
59 };
60
61 #endif  /* _LINUX_NETDEVICE_H */