• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/bfa/include/bfi/
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 __BFI_FABRIC_H__
19#define __BFI_FABRIC_H__
20
21#include <bfi/bfi.h>
22
23#pragma pack(1)
24
25enum bfi_fabric_h2i_msgs {
26	BFI_FABRIC_H2I_CREATE_REQ	= 1,
27	BFI_FABRIC_H2I_DELETE_REQ	= 2,
28	BFI_FABRIC_H2I_SETAUTH		= 3,
29};
30
31enum bfi_fabric_i2h_msgs {
32	BFI_FABRIC_I2H_CREATE_RSP	= BFA_I2HM(1),
33	BFI_FABRIC_I2H_DELETE_RSP	= BFA_I2HM(2),
34	BFI_FABRIC_I2H_SETAUTH_RSP	= BFA_I2HM(3),
35	BFI_FABRIC_I2H_ONLINE		= BFA_I2HM(4),
36	BFI_FABRIC_I2H_OFFLINE		= BFA_I2HM(5),
37};
38
39struct bfi_fabric_create_req_s {
40	bfi_mhdr_t	mh;		/*  common msg header		*/
41	u8         vf_en;		/*  virtual fabric enable	*/
42	u8         rsvd;
43	u16        vf_id;		/*  virtual fabric ID		*/
44	wwn_t		pwwn;		/*  port name			*/
45	wwn_t		nwwn;		/*  node name			*/
46};
47
48struct bfi_fabric_create_rsp_s {
49	bfi_mhdr_t	mh;		/*  common msg header		*/
50	u16        bfa_handle;	/*  host fabric handle		*/
51	u8         status;		/*  fabric create status	*/
52	u8         rsvd;
53};
54
55struct bfi_fabric_delete_req_s {
56	bfi_mhdr_t	mh;		/*  common msg header		*/
57	u16        fw_handle;	/*  firmware fabric handle	*/
58	u16        rsvd;
59};
60
61struct bfi_fabric_delete_rsp_s {
62	bfi_mhdr_t	mh;		/*  common msg header		*/
63	u16        bfa_handle;	/*  host fabric handle		*/
64	u8         status;		/*  fabric deletion status	*/
65	u8         rsvd;
66};
67
68#define BFI_FABRIC_AUTHSECRET_LEN	64
69struct bfi_fabric_setauth_req_s {
70	bfi_mhdr_t	mh;		/*  common msg header		*/
71	u16        fw_handle;	/*  f/w handle of fabric	*/
72	u8		algorithm;
73	u8		group;
74	u8		secret[BFI_FABRIC_AUTHSECRET_LEN];
75};
76
77union bfi_fabric_h2i_msg_u {
78	bfi_msg_t		*msg;
79	struct bfi_fabric_create_req_s	*create_req;
80	struct bfi_fabric_delete_req_s	*delete_req;
81};
82
83union bfi_fabric_i2h_msg_u {
84	bfi_msg_t		*msg;
85	struct bfi_fabric_create_rsp_s	*create_rsp;
86	struct bfi_fabric_delete_rsp_s	*delete_rsp;
87};
88
89#pragma pack()
90
91#endif /* __BFI_FABRIC_H__ */
92