[dm-devel] Fibre Channel Transport Services on Linux

Muneendra Kumar M muneendra.kumar at broadcom.com
Thu Jun 6 10:53:48 UTC 2019


Introduction:

The Fibre Channel Transport Service provides FC network intelligence in host

applications and also provide the host intelligence in FC network. This
service

can act as a bridge or transport mechanism between applications running on
host

and the FC network connected to the host.



Presently, the service automates the marginal path failover by utilizing the

FC network intelligence. The service uses Fabric Performance Impact
Notification

(FPIN) frames, as defined in the FC standards by T11 Committee, to perform a

deterministic path failover.



How it works:

When the FC network detects a shaky or marginal link in the Fabric, it finds

the impacted devices, gets the device's unique World-Wide-Name (WWNs) and

populates the FPIN Link Integrity frame with the WWNs of these impacted
devices.

This frame is then sent to the FC host, through the Host Bus Adapters
(HBAs).



The FC transport service interprets the data received through HBA, and fails

the corresponding marginal paths using the device mapper and multipath

libraries.



Below are the ways where the marginal path can be moved to active.

1.port toggling after resolving the link issues in fabric

2.Host intervention using multipathd utilities.



The code is available in the below GIT repository.



https://github.com/brocade/bsn-linux-open-os-contributions





Please refer to the README for more details regarding compilation, service

functionality and usage.



https://github.com/brocade/bsn-linux-open-os-contributions/tree/master/mpio/Fabric_Assist/FC_Transport_Daemon





Contributors:

Benjamin:bmarzins at redhat.com,

Muneendra:(muneendra.kumar at broadcom.com)

Ganesh:(ganesh.pai at broadcom.com)



Future Work:

Instead of moving the path to fail state we are planning to move the path
to special priority group

as defined by dm-multipath(which is to be implemented)



History:



The kernel related changes to send the ELS notifications to the user space
is already available in the upstream.

Below are the links related to the same.



Linux:

All the HBA and scsi transport related changes are available in linux
upstream



https://github.com/torvalds/linux/



CommitId:

1a61e5486aeb90d94dd6116c9749e36edd10bf9b è
https://github.com/torvalds/linux/commit/1a61e5486aeb90d94dd6116c9749e36edd10bf9b



c39e0af64bce3bba61c3986d6083df7b8f29a310 è
https://github.com/torvalds/linux/commit/c39e0af64bce3bba61c3986d6083df7b8f29a310



2b1be55819dc7ae35576b3ba621c7fed0c323e04 è
https://github.com/torvalds/linux/commit/2b1be55819dc7ae35576b3ba621c7fed0c323e04



a7dff3ad4787381a3aa831d558fb720b8f354435 è
https://github.com/torvalds/linux/commit/a7dff3ad4787381a3aa831d558fb720b8f354435



Regards,

Muneendra.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20190606/be2a5031/attachment.htm>


More information about the dm-devel mailing list