Fibre Channel, which is used for high-speed data transfers, supports several higher layer protocols including Small Computer System Interface (SCSI) and Internet Protocol (IP). Until now, SCSI has been the only widely used protocol over Fibre Channel. IP over Fibre Channel had not been successful mainly due to inadequate specification in the standards. Currently IP specifications have reached a stage where interoperable implementations are possible. Although some support does exist for SCSI on Linux, there is no support for IP on Linux. This thesis aims at designing, developing, testing and evaluating a Fibre Channel driver for IP on Linux.