The following article deals with WWPN of FC ports in Open Firmware.
Port and node WWNs of FC ports can be found very easily in the Open Firmware, even when the ioinfo command is no longer available, as is the case with new POWER9 firmware. The hardware structure of a POWER system is available in the Open Firmware in the form of a device tree. Hardware components such as PCI bridges, processors and PCI cards are represented as device nodes in this tree.
With the command “dev /” you can access the device nodes, starting with the root node (“/” or slash):
0 > dev / ok
0 >
In the device tree you can navigate with the commands dev, ls and pwd similar to the Unix file system. An ls on the root node shows all available device nodes (as well as some “package nodes” which are not discussed here).
The hierarchy is visualized in the device tree by indenting the device nodes:
0 > ls 0000020939c0: /ibm,serial 000002094ae8: /chosen 000002094d60: /packages 000002094e58: /disassembler ...0000020af578: /cpus 0000020b5200: /PowerPC,POWER7@0 ... 0000020ba640: /memory@0 ... 00000226cad0: /pci@800000020000120 00000229d750: /pci@0 0000022a0018: /pci@2 0000022a28e0: /ethernet@0 0000022b4a28: /ethernet@0,1 0000022c6b70: /pci@4 0000022c9438: /ethernet@0 0000022db580: /ethernet@0,1 000002277fd8: /pci@800000020000121 0000022ed7d0: /fibre-channel@0 0000023026e0: /fp 000002303240: /disk 000002304de0: /tape 000002306270: /fibre-channel@0,1 00000231b180: /fp 00000231bce0: /disk 00000231d880: /tape ... ok 0 >
The example output shows 2 FC ports. Both FC ports are children of the device node pci@800000020000121, which can be found directly under the root node /.
With the command “dev / pci@800000020000121” we first navigate to this node and then display the child or child nodes using “ls“:
0 > dev /pci@800000020000121 ok 0 > ls 0000022ed7d0: /fibre-channel@0 0000023026e0: /fp 000002303240: /disk 000002304de0: /tape 000002306270: /fibre-channel@0,1 00000231b180: /fp 00000231bce0: /disk 00000231d880: /tape ok 0 >
We next move into the device node of the first FC port fiber-channel@0.
With the command “pwd” we check briefly the position in the device tree and then use “ls” to look at the available subnodes:
0 > dev fibre-channel@0 ok 0 > pwd /pci@800000020000121/fibre-channel@0 ok 0 > ls 0000023026e0: /fp 000002303240: /disk 000002304de0: /tape ok 0 >
Each device node has a number of properties, which depend on the type of the underlying hardware component.
The properties of a device node can be displayed with the command “.properties” (the command name begins with a “.“):
0 > .properties ibm,loc-code U5802.001.008C110-P1-C2-T1 vendor-id 000010df device-id 0000f100 ... name fibre-channel ... manufacturer 456d756c 657800 copyright 436f7079 72696768 74202863 29203230 30302d32 30313220 456d756c 657800 device_type fcp model 10N9824 ... port-wwn 10000000 c9b12345 node-wwn 20000000 c9b12345 ... ok 0 >
In addition to the location code, the port WWN (port-wwn) and the node WWN (node-wwn) are displayed.
If you would like to know more about the structure of WWNs, please refer to the article: Numbers: FC World Wide Names (WWNs)
Of course, you can also find out the MAC address of an ethernet port in the same way. With “dev ..” you can move up one level in the device tree, just like in a Unix file system. But you can also abbreviate and go straight to the top, which we do here in the following. Then we display all available device nodes again:
0 > dev / ok
0 > ls
...
00000226cad0: /pci@800000020000120
00000229d750: /pci@0
0000022a0018: /pci@2
0000022a28e0: /ethernet@0
0000022b4a28: /ethernet@0,1
0000022c6b70: /pci@4
0000022c9438: /ethernet@0
0000022db580: /ethernet@0,1
...
ok
0 >
As an example, we select the device node /pci@800000020000120/pci@0/pci@2/ethernet@0.1 and again let us display the properties:
0 > dev /pci@800000020000124/pci@0/pci@2/ethernet@0,1 ok 0 > pwd /pci@800000020000124/pci@0/pci@2/ethernet@0,1 ok 0 > .properties ibm,loc-code U5802.001.008C110-P1-C4-T2 vendor-id 00008086 device-id 000010bc ... name ethernet ... device_type network ... max-frame-size 00000800 address-bits 00000030 local-mac-address 00145eea 1234 mac-address 00145eea 1234 ... 0 >
The MAC address is available here by the property mac-address.
If you want to leave the device tree, you can do this with the command “device-end“:
0 > device-end ok 0 >
We hope this article about WWPN of FC ports in Open Firmware was both helpful and informative.