Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
[sfrench/cifs-2.6.git] / drivers / scsi / bfa / include / defs / bfa_defs_fcport.h
1 /*
2  * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
3  * All rights reserved
4  * www.brocade.com
5  *
6  *  bfa_defs_fcport.h
7  *
8  * Linux driver for Brocade Fibre Channel Host Bus Adapter.
9  *
10  * This program is free software; you can redistribute it and/or modify it
11  * under the terms of the GNU General Public License (GPL) Version 2 as
12  * published by the Free Software Foundation
13  *
14  * This program is distributed in the hope that it will be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * General Public License for more details.
18  */
19 #ifndef __BFA_DEFS_FCPORT_H__
20 #define __BFA_DEFS_FCPORT_H__
21
22 #include <defs/bfa_defs_types.h>
23 #include <protocol/types.h>
24
25 #pragma pack(1)
26
27 /**
28  * FCoE statistics
29  */
30 struct bfa_fcoe_stats_s {
31         u64     secs_reset;     /*  Seconds since stats reset        */
32         u64     cee_linkups;    /*  CEE link up              */
33         u64     cee_linkdns;    /*  CEE link down                    */
34         u64     fip_linkups;    /*  FIP link up              */
35         u64     fip_linkdns;    /*  FIP link down                    */
36         u64     fip_fails;      /*  FIP failures                     */
37         u64     mac_invalids;   /*  Invalid mac assignments          */
38         u64     vlan_req;       /*  Vlan requests                    */
39         u64     vlan_notify;    /*  Vlan notifications               */
40         u64     vlan_err;       /*  Vlan notification errors         */
41         u64     vlan_timeouts;  /*  Vlan request timeouts            */
42         u64     vlan_invalids;  /*  Vlan invalids                    */
43         u64     disc_req;       /*  Discovery requests               */
44         u64     disc_rsp;       /*  Discovery responses      */
45         u64     disc_err;       /*  Discovery error frames           */
46         u64     disc_unsol;     /*  Discovery unsolicited            */
47         u64     disc_timeouts;  /*  Discovery timeouts               */
48         u64     disc_fcf_unavail; /*  Discovery FCF not avail        */
49         u64     linksvc_unsupp; /*  FIP link service req unsupp.    */
50         u64     linksvc_err;    /*  FIP link service req errors     */
51         u64     logo_req;       /*  FIP logos received                       */
52         u64     clrvlink_req;   /*  Clear virtual link requests     */
53         u64     op_unsupp;      /*  FIP operation unsupp.            */
54         u64     untagged;       /*  FIP untagged frames      */
55         u64     txf_ucast;      /*  Tx FCoE unicast frames           */
56         u64     txf_ucast_vlan; /*  Tx FCoE unicast vlan frames     */
57         u64     txf_ucast_octets; /*  Tx FCoE unicast octets         */
58         u64     txf_mcast;      /*  Tx FCoE mutlicast frames         */
59         u64     txf_mcast_vlan; /*  Tx FCoE mutlicast vlan frames   */
60         u64     txf_mcast_octets; /*  Tx FCoE multicast octets       */
61         u64     txf_bcast;      /*  Tx FCoE broadcast frames         */
62         u64     txf_bcast_vlan; /*  Tx FCoE broadcast vlan frames   */
63         u64     txf_bcast_octets; /*  Tx FCoE broadcast octets       */
64         u64     txf_timeout;    /*  Tx timeouts              */
65         u64     txf_parity_errors; /*  Transmit parity err           */
66         u64     txf_fid_parity_errors; /*  Transmit FID parity err  */
67         u64     rxf_ucast_octets; /* Rx FCoE unicast octets        */
68         u64     rxf_ucast;      /* Rx FCoE unicast frames          */
69         u64     rxf_ucast_vlan; /* Rx FCoE unicast vlan frames     */
70         u64     rxf_mcast_octets; /* Rx FCoE multicast octets      */
71         u64     rxf_mcast;      /* Rx FCoE multicast frames        */
72         u64     rxf_mcast_vlan; /* Rx FCoE multicast vlan frames   */
73         u64     rxf_bcast_octets; /* Rx FCoE broadcast octets      */
74         u64     rxf_bcast;      /* Rx FCoE broadcast frames        */
75         u64     rxf_bcast_vlan; /* Rx FCoE broadcast vlan frames   */
76 };
77
78 /**
79  * QoS or FCoE stats (fcport stats excluding physical FC port stats)
80  */
81 union bfa_fcport_stats_u {
82         struct bfa_qos_stats_s  fcqos;
83         struct bfa_fcoe_stats_s fcoe;
84 };
85
86 #pragma pack()
87
88 #endif  /* __BFA_DEFS_FCPORT_H__ */