diff options
Diffstat (limited to 'storage')
-rw-r--r-- | storage/udev.py | 27 |
1 files changed, 27 insertions, 0 deletions
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] |