WWPN von FC-Ports in der Open Firmware

 

Der folgende Beitrag beschäftigt sich mit WWPN von FC-Ports in der Open Firmware.

Port- und Node-WWN von FC-Ports lassen sich über die Open Firmware sehr leicht herausfinden, auch wenn das ioinfo Kommando bei neuer POWER9 Firmware nicht mehr verfügbar ist. Der Hardware-Aufbau eines POWER-Systems ist in der Open Firmware in Form eines Device Baums verfügbar. Hardware-Komponenten, wie PCI-Bridges, Prozessoren oder PCI-Karten werden als Device Knoten in diesem Baum abgebildet.

Mit dem Kommando „dev /“ kann man, beginnend mit dem Root-Knoten („/“ oder Slash), auf die Device-Knoten zugreifen:

0 > dev /  ok
0 >

In dem Device Baum kann man sich mit den Kommandos dev, ls und pwd ähnlich wie im Unix Dateisystem bewegen. Ein ls auf dem Root-Knoten zeigt alle verfügbaren Device Knoten (sowie einige „Package-Knoten“, auf die hier nicht eingegangen werden soll).

Durch Einrücken der Device Knoten wird die Hierarchie im Device Baum dargestellt:

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 >

In der Beispiel-Ausgabe sind 2 FC-Ports zu sehen. Beide FC-Ports sind Söhne des Device Knotens pci@800000020000121, welcher direkt unter dem Root Knoten / zu finden ist.

Mit dem Kommando „dev /pci@800000020000121“ navigieren wir zunächst in diesen Knoten und lassen uns dann die Unter- oder Sohn-Knoten mittels „ls“ anzeigen:

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 >

Wir bewegen uns als nächstes in den Device Knoten des ersten FC-Ports fibre-channel@0.

Mit dem Kommando „pwd“ überprüfen wir kurz die Position im Device Baum und schauen uns mit „ls“ anschließend die verfügbaren Unter-Knoten an:

0 > dev fibre-channel@0  ok
0 > pwd /pci@800000020000121/fibre-channel@0 ok
0 > ls
0000023026e0: /fp
000002303240: /disk
000002304de0: /tape
ok
0 >

Jeder Device Knoten besitzt eine Anzahl von Eigenschaften (Properties), welche von der Art der unterliegenden Hardware-Komponente abhängen.

Die Eigenschaften eines Device Knoten lassen sich mit dem Kommando „.properties“ anzeigen lassen (der Kommando-Name beginnt mit einem „.„):

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 >

Neben dem Location-Code wird die Port-WWN (port-wwn) und die Node-WWN (node-wwn) angezeigt.

Wer mehr über den Aufbau von WWNs wissen möchte, verweisen wir gerne auf den Beitrag: Zahlen: FC World Wide Names (WWNs)

Man kann natürlich auf dem gleichen Weg auch die MAC-Adresse eines Ethernet-Ports herausfinden. Mit „dev ..“ kann man sich im Device Baum eine Ebene nach oben bewegen, ganz wie in einem Unix Filesystem. Man kann aber auch abkürzen und gleich ganz nach oben gehen, was wir hier im folgenden tun, um uns dann noch einmal alle verfügbaren Device Knoten anzeigen zu lassen:

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 >

Wir suchen uns als Beispiel den Device Knoten /pci@800000020000120/pci@0/pci@2/ethernet@0,1 aus und lassen uns wiederum die Eigenschaften anzeigen:

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 >

Die MAC-Adresse ist hier über die Eigenschaft mac-address verfügbar.

Möchte man den Device Baum verlassen, so geht dies mit dem Kommando „device-end„:

0 > device-end  ok
0 >

Wir hoffen dieser Beitrag über WWPN von FC-Ports in der Open Firmware war sowohl hilfreich als auch informativ.