mirror of
https://github.com/opnsense/src.git
synced 2026-02-14 16:23:25 -05:00
Instead of using GID_FT SNS request to get list of registered FCP ports, use GID_PT to get list of all Nx_Ports, and then use GFF_ID and/or GFT_ID requests to find whether they are FCP and target capable. The problem with old approach is that GID_FT does not report ports without FC-4 type registered. In particular it was impossible to boot OS from FreeBSD FC target using QLogic FC BIOS, since one does not register FC-4 type even on new cards and so ignored by old code as incompatible. As a side bonus this allows initiator to skip pointless logins to other initiators by fetching that information from SNS instead. In case some switches do not implement GFF_ID/GFT_ID correctly, add sysctls to disable that functionality. I handled broken GFF_ID of my Brocade 200E, but there may be other switches with different bugs. Linux also uses GID_PT, but GFF_ID is disabled by default there, and GFT_ID is not supported. Sponsored by: iXsystems, Inc. |
||
|---|---|---|
| .. | ||
| DriverManual.txt | ||
| Hardware.txt | ||
| isp.c | ||
| isp_freebsd.c | ||
| isp_freebsd.h | ||
| isp_ioctl.h | ||
| isp_library.c | ||
| isp_library.h | ||
| isp_pci.c | ||
| isp_sbus.c | ||
| isp_stds.h | ||
| isp_target.c | ||
| isp_target.h | ||
| ispmbox.h | ||
| ispreg.h | ||
| ispvar.h | ||