aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorRobert Love <robert.w.love@intel.com>2012-11-27 01:53:30 -0500
committerRobert Love <robert.w.love@intel.com>2012-12-14 13:38:54 -0500
commit6a891b071b640e1de44c4a5117fa2c974dcfa84a (patch)
treecd40772ab35844d21ae44ad4a16fec4246b5f21f /Documentation
parent3993de6183885a099163b9562a2ea9c07b994a0e (diff)
libfcoe, fcoe, bnx2fc: Add new fcoe control interface
This patch does a few things. 1) Makes /sys/bus/fcoe/ctlr_{create,destroy} interfaces. These interfaces take an <ifname> and will either create an FCoE Controller or destroy an FCoE Controller depending on which file is written to. The new FCoE Controller will start in a DISABLED state and will not do discovery or login until it is ENABLED. This pause will allow us to configure the FCoE Controller before enabling it. 2) Makes the 'mode' attribute of a fcoe_ctlr_device writale. This allows the user to configure the mode in which the FCoE Controller will start in when it is ENABLED. Possible modes are 'Fabric', or 'VN2VN'. The default mode for a fcoe_ctlr{,_device} is 'Fabric'. Drivers must implement the set_fcoe_ctlr_mode routine to support this feature. libfcoe offers an exported routine to set a FCoE Controller's mode. The mode can only be changed when the FCoE Controller is DISABLED. This patch also removes the get_fcoe_ctlr_mode pointer in the fcoe_sysfs function template, the code in fcoe_ctlr.c to get the mode and the assignment of the fcoe_sysfs function pointer to the fcoe_ctlr.c implementation (in fcoe and bnx2fc). fcoe_sysfs can return that value for the mode without consulting the LLD. 3) Make a 'enabled' attribute of a fcoe_ctlr_device. On a read, fcoe_sysfs will return the attribute's value. On a write, fcoe_sysfs will call the LLD (if there is a callback) to notifiy that the enalbed state has changed. This patch maintains the old FCoE control interfaces as module parameters, but it adds comments pointing out that the old interfaces are deprecated. Signed-off-by: Robert Love <robert.w.love@intel.com> Acked-by: Neil Horman <nhorman@tuxdriver.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/testing/sysfs-bus-fcoe41
1 files changed, 40 insertions, 1 deletions
diff --git a/Documentation/ABI/testing/sysfs-bus-fcoe b/Documentation/ABI/testing/sysfs-bus-fcoe
index 971dc22e6c2a..21640eaad371 100644
--- a/Documentation/ABI/testing/sysfs-bus-fcoe
+++ b/Documentation/ABI/testing/sysfs-bus-fcoe
@@ -1,14 +1,53 @@
1What: /sys/bus/fcoe/
2Date: August 2012
3KernelVersion: TBD
4Contact: Robert Love <robert.w.love@intel.com>, devel@open-fcoe.org
5Description: The FCoE bus. Attributes in this directory are control interfaces.
6Attributes:
7
8 ctlr_create: 'FCoE Controller' instance creation interface. Writing an
9 <ifname> to this file will allocate and populate sysfs with a
10 fcoe_ctlr_device (ctlr_X). The user can then configure any
11 per-port settings and finally write to the fcoe_ctlr_device's
12 'start' attribute to begin the kernel's discovery and login
13 process.
14
15 ctlr_destroy: 'FCoE Controller' instance removal interface. Writing a
16 fcoe_ctlr_device's sysfs name to this file will log the
17 fcoe_ctlr_device out of the fabric or otherwise connected
18 FCoE devices. It will also free all kernel memory allocated
19 for this fcoe_ctlr_device and any structures associated
20 with it, this includes the scsi_host.
21
1What: /sys/bus/fcoe/devices/ctlr_X 22What: /sys/bus/fcoe/devices/ctlr_X
2Date: March 2012 23Date: March 2012
3KernelVersion: TBD 24KernelVersion: TBD
4Contact: Robert Love <robert.w.love@intel.com>, devel@open-fcoe.org 25Contact: Robert Love <robert.w.love@intel.com>, devel@open-fcoe.org
5Description: 'FCoE Controller' instances on the fcoe bus 26Description: 'FCoE Controller' instances on the fcoe bus.
27 The FCoE Controller now has a three stage creation process.
28 1) Write interface name to ctlr_create 2) Configure the FCoE
29 Controller (ctlr_X) 3) Enable the FCoE Controller to begin
30 discovery and login. The FCoE Controller is destroyed by
31 writing it's name, i.e. ctlr_X to the ctlr_delete file.
32
6Attributes: 33Attributes:
7 34
8 fcf_dev_loss_tmo: Device loss timeout peroid (see below). Changing 35 fcf_dev_loss_tmo: Device loss timeout peroid (see below). Changing
9 this value will change the dev_loss_tmo for all 36 this value will change the dev_loss_tmo for all
10 FCFs discovered by this controller. 37 FCFs discovered by this controller.
11 38
39 mode: Display or change the FCoE Controller's mode. Possible
40 modes are 'Fabric' and 'VN2VN'. If a FCoE Controller
41 is started in 'Fabric' mode then FIP FCF discovery is
42 initiated and ultimately a fabric login is attempted.
43 If a FCoE Controller is started in 'VN2VN' mode then
44 FIP VN2VN discovery and login is performed. A FCoE
45 Controller only supports one mode at a time.
46
47 enabled: Whether an FCoE controller is enabled or disabled.
48 0 if disabled, 1 if enabled. Writing either 0 or 1
49 to this file will enable or disable the FCoE controller.
50
12 lesb/link_fail: Link Error Status Block (LESB) link failure count. 51 lesb/link_fail: Link Error Status Block (LESB) link failure count.
13 52
14 lesb/vlink_fail: Link Error Status Block (LESB) virtual link 53 lesb/vlink_fail: Link Error Status Block (LESB) virtual link