fnic_fip.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * Copyright 2008 Cisco Systems, Inc. All rights reserved.
  3. * Copyright 2007 Nuova Systems, Inc. All rights reserved.
  4. *
  5. * This program is free software; you may redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; version 2 of the License.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  10. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  11. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  12. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
  13. * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
  14. * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  15. * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  16. * SOFTWARE.
  17. */
  18. #ifndef _FNIC_FIP_H_
  19. #define _FNIC_FIP_H_
  20. #define FCOE_CTLR_START_DELAY 2000 /* ms after first adv. to choose FCF */
  21. #define FCOE_CTLR_FIPVLAN_TOV 2000 /* ms after FIP VLAN disc */
  22. #define FCOE_CTLR_MAX_SOL 8
  23. #define FINC_MAX_FLOGI_REJECTS 8
  24. struct vlan {
  25. __be16 vid;
  26. __be16 type;
  27. };
  28. /*
  29. * VLAN entry.
  30. */
  31. struct fcoe_vlan {
  32. struct list_head list;
  33. u16 vid; /* vlan ID */
  34. u16 sol_count; /* no. of sols sent */
  35. u16 state; /* state */
  36. };
  37. enum fip_vlan_state {
  38. FIP_VLAN_AVAIL = 0, /* don't do anything */
  39. FIP_VLAN_SENT = 1, /* sent */
  40. FIP_VLAN_USED = 2, /* succeed */
  41. FIP_VLAN_FAILED = 3, /* failed to response */
  42. };
  43. struct fip_vlan {
  44. struct ethhdr eth;
  45. struct fip_header fip;
  46. struct {
  47. struct fip_mac_desc mac;
  48. struct fip_wwn_desc wwnn;
  49. } desc;
  50. };
  51. #endif /* __FINC_FIP_H_ */