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 */ 28enum 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 */ 42struct 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 */ 68struct 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__ */ 75