fnic_fip.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. /*
  25. * FIP_DT_VLAN descriptor.
  26. */
  27. struct fip_vlan_desc {
  28. struct fip_desc fd_desc;
  29. __be16 fd_vlan;
  30. } __attribute__((packed));
  31. struct vlan {
  32. __be16 vid;
  33. __be16 type;
  34. };
  35. /*
  36. * VLAN entry.
  37. */
  38. struct fcoe_vlan {
  39. struct list_head list;
  40. u16 vid; /* vlan ID */
  41. u16 sol_count; /* no. of sols sent */
  42. u16 state; /* state */
  43. };
  44. enum fip_vlan_state {
  45. FIP_VLAN_AVAIL = 0, /* don't do anything */
  46. FIP_VLAN_SENT = 1, /* sent */
  47. FIP_VLAN_USED = 2, /* succeed */
  48. FIP_VLAN_FAILED = 3, /* failed to response */
  49. };
  50. struct fip_vlan {
  51. struct ethhdr eth;
  52. struct fip_header fip;
  53. struct {
  54. struct fip_mac_desc mac;
  55. struct fip_wwn_desc wwnn;
  56. } desc;
  57. };
  58. #endif /* __FINC_FIP_H_ */