]> git.karo-electronics.de Git - mv-sheeva.git/blob - drivers/scsi/bfa/include/defs/bfa_defs_vf.h
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[mv-sheeva.git] / drivers / scsi / bfa / include / defs / bfa_defs_vf.h
1 /*
2  * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
3  * All rights reserved
4  * www.brocade.com
5  *
6  * Linux driver for Brocade Fibre Channel Host Bus Adapter.
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License (GPL) Version 2 as
10  * published by the Free Software Foundation
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  */
17
18 #ifndef __BFA_DEFS_VF_H__
19 #define __BFA_DEFS_VF_H__
20
21 #include <bfa_os_inc.h>
22 #include <defs/bfa_defs_port.h>
23 #include <protocol/types.h>
24
25 /**
26  * VF states
27  */
28 enum bfa_vf_state {
29         BFA_VF_UNINIT    = 0,   /*  fabric is not yet initialized */
30         BFA_VF_LINK_DOWN = 1,   /*  link is down */
31         BFA_VF_FLOGI     = 2,   /*  flogi is in progress */
32         BFA_VF_AUTH      = 3,   /*  authentication in progress */
33         BFA_VF_NOFABRIC  = 4,   /*  fabric is not present */
34         BFA_VF_ONLINE    = 5,   /*  login to fabric is complete */
35         BFA_VF_EVFP      = 6,   /*  EVFP is in progress */
36         BFA_VF_ISOLATED  = 7,   /*  port isolated due to vf_id mismatch */
37 };
38
39 /**
40  * VF statistics
41  */
42 struct bfa_vf_stats_s {
43         u32        flogi_sent;  /*  Num FLOGIs sent             */
44         u32        flogi_rsp_err;       /*  FLOGI response errors       */
45         u32        flogi_acc_err;       /*  FLOGI accept errors         */
46         u32        flogi_accepts;       /*  FLOGI accepts received      */
47         u32        flogi_rejects;       /*  FLOGI rejects received      */
48         u32        flogi_unknown_rsp; /*  Unknown responses for FLOGI */
49         u32        flogi_alloc_wait; /*  Allocation waits prior to
50                                            * sending FLOGI
51                                            */
52         u32        flogi_rcvd;  /*  FLOGIs received */
53         u32        flogi_rejected;      /*  Incoming FLOGIs rejected */
54         u32        fabric_onlines;      /*  Internal fabric online
55                                          * notification sent to other
56                                          * modules
57                                          */
58         u32        fabric_offlines; /*  Internal fabric offline
59                                           * notification sent to other
60                                           * modules
61                                           */
62         u32        resvd;
63 };
64
65 /**
66  * VF attributes returned in queries
67  */
68 struct bfa_vf_attr_s {
69         enum bfa_vf_state  state;               /*  VF state */
70         u32        rsvd;
71         wwn_t           fabric_name;    /*  fabric name */
72 };
73
74 #endif /* __BFA_DEFS_VF_H__ */