/* * Copyright 2008 Cisco Systems, Inc. All rights reserved. * Copyright 2007 Nuova Systems, Inc. All rights reserved. * * This program is free software; you may redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef _FNIC_FIP_H_ #define _FNIC_FIP_H_ #define FCOE_CTLR_START_DELAY 2000 /* ms after first adv. to choose FCF */ #define FCOE_CTLR_FIPVLAN_TOV 2000 /* ms after FIP VLAN disc */ #define FCOE_CTLR_MAX_SOL 8 #define FINC_MAX_FLOGI_REJECTS 8 /* * FIP_DT_VLAN descriptor. */ struct fip_vlan_desc { struct fip_desc fd_desc; __be16 fd_vlan; } __attribute__((packed)); struct vlan { __be16 vid; __be16 type; }; /* * VLAN entry. */ struct fcoe_vlan { struct list_head list; u16 vid; /* vlan ID */ u16 sol_count; /* no. of sols sent */ u16 state; /* state */ }; enum fip_vlan_state { FIP_VLAN_AVAIL = 0, /* don't do anything */ FIP_VLAN_SENT = 1, /* sent */ FIP_VLAN_USED = 2, /* succeed */ FIP_VLAN_FAILED = 3, /* failed to response */ }; struct fip_vlan { struct ethhdr eth; struct fip_header fip; struct { struct fip_mac_desc mac; struct fip_wwn_desc wwnn; } desc; }; #endif /* __FINC_FIP_H_ */