From 62eedb84edad72cb4091e7db52dfd0be8581cc56 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 2 Jul 2009 19:55:39 +0200 Subject: Add FCoE support to storage/udev.py Add the ability to identify if a disk is an FCoE device and to get the identifier of the disk and the name of the NIC used to connect to an FCoE disk --- storage/udev.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'storage') diff --git a/storage/udev.py b/storage/udev.py index af3ee122a..aa2f7d98a 100644 --- a/storage/udev.py +++ b/storage/udev.py @@ -386,3 +386,30 @@ def udev_device_get_iscsi_port(info): path_components = info["ID_PATH"].split("-") return path_components[1].split(":")[1] + +# fcoe disks have ID_PATH in the form of: +# pci-eth#-fc-${id} +# fcoe parts look like this: +# pci-eth#-fc-${id}-part# +def udev_device_is_fcoe(info): + try: + path_components = info["ID_PATH"].split("-") + + if info["ID_BUS"] == "scsi" and len(path_components) >= 4 and \ + path_components[0] == "pci" and path_components[2] == "fc" and \ + path_components[1][0:3] == "eth": + return True + except LookupError: + pass + + return False + +def udev_device_get_fcoe_nic(info): + path_components = info["ID_PATH"].split("-") + + return path_components[1] + +def udev_device_get_fcoe_identifier(info): + path_components = info["ID_PATH"].split("-") + + return path_components[3] -- cgit