fcs_fabric.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. * fcs_lport.h FCS logical port interfaces
  19. */
  20. #ifndef __FCS_FABRIC_H__
  21. #define __FCS_FABRIC_H__
  22. #include <fcs/bfa_fcs.h>
  23. #include <fcs/bfa_fcs_vport.h>
  24. #include <fcs/bfa_fcs_lport.h>
  25. #define BFA_FCS_BRCD_SWITCH_OUI 0x051e
  26. /*
  27. * fcs friend functions: only between fcs modules
  28. */
  29. void bfa_fcs_fabric_attach(struct bfa_fcs_s *fcs);
  30. void bfa_fcs_fabric_modinit(struct bfa_fcs_s *fcs);
  31. void bfa_fcs_fabric_modexit(struct bfa_fcs_s *fcs);
  32. void bfa_fcs_fabric_modsusp(struct bfa_fcs_s *fcs);
  33. void bfa_fcs_fabric_link_up(struct bfa_fcs_fabric_s *fabric);
  34. void bfa_fcs_fabric_link_down(struct bfa_fcs_fabric_s *fabric);
  35. void bfa_fcs_fabric_addvport(struct bfa_fcs_fabric_s *fabric,
  36. struct bfa_fcs_vport_s *vport);
  37. void bfa_fcs_fabric_delvport(struct bfa_fcs_fabric_s *fabric,
  38. struct bfa_fcs_vport_s *vport);
  39. int bfa_fcs_fabric_is_online(struct bfa_fcs_fabric_s *fabric);
  40. struct bfa_fcs_vport_s *bfa_fcs_fabric_vport_lookup(
  41. struct bfa_fcs_fabric_s *fabric, wwn_t pwwn);
  42. void bfa_fcs_fabric_modstart(struct bfa_fcs_s *fcs);
  43. void bfa_fcs_fabric_uf_recv(struct bfa_fcs_fabric_s *fabric,
  44. struct fchs_s *fchs, u16 len);
  45. u16 bfa_fcs_fabric_vport_count(struct bfa_fcs_fabric_s *fabric);
  46. bfa_boolean_t bfa_fcs_fabric_is_loopback(struct bfa_fcs_fabric_s *fabric);
  47. bfa_boolean_t bfa_fcs_fabric_is_auth_failed(struct bfa_fcs_fabric_s *fabric);
  48. enum bfa_pport_type bfa_fcs_fabric_port_type(struct bfa_fcs_fabric_s *fabric);
  49. void bfa_fcs_fabric_psymb_init(struct bfa_fcs_fabric_s *fabric);
  50. void bfa_fcs_fabric_port_delete_comp(struct bfa_fcs_fabric_s *fabric);
  51. bfa_status_t bfa_fcs_fabric_addvf(struct bfa_fcs_fabric_s *vf,
  52. struct bfa_fcs_s *fcs, struct bfa_port_cfg_s *port_cfg,
  53. struct bfad_vf_s *vf_drv);
  54. void bfa_fcs_auth_finished(struct bfa_fcs_fabric_s *fabric,
  55. enum auth_status status);
  56. void bfa_fcs_fabric_set_fabric_name(struct bfa_fcs_fabric_s *fabric,
  57. wwn_t fabric_name);
  58. u16 bfa_fcs_fabric_get_switch_oui(struct bfa_fcs_fabric_s *fabric);
  59. void bfa_fcs_get_sym_name(const struct bfa_fcs_s *fcs, char *node_symname);
  60. #endif /* __FCS_FABRIC_H__ */