====== Entendendo os nomes de dispositivos de redes previsiveis ======
Após atualizar alguns servidores notei que o nome das interfaces mudaram do velho padrão UNIX/Linux eth0 para nomes nadas convencionais.
freewaynet@megatron:~$ ifconfig
ens160 Link encap:Ethernet HWaddr 00:0c:29:50:b6:8b
inet addr:172.16.30.26 Bcast:172.16.30.255 Mask:255.255.255.0
inet6 addr: fde5:9eef:b183:0:20c:29ff:fe50:b68b/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe50:b68b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4172941 errors:0 dropped:20 overruns:0 frame:0
TX packets:4826426 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:359769672 (359.7 MB) TX bytes:563971622 (563.9 MB)
ao visualizar estes nomes fiquei me perguntando. Porque? =) e se não bastasse existem nomes mais estruncho, tais como enp0s1f1 :-?
Diante desse cenário fui atrás porque essa mudança, e o que significa esse nome maluco. Bom após dar uma rápida lida no seguinte link [[https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/]]. Eu entendi que os nomes malucos vem do código systemd, alias, esqueci de mencionar os nomes previsiveis vem das distribuições que utilizam o systemd. Enfim após algumas análises e buscas na internet, encontrei no github o código que implementa toda a nomemclatura e vejam só o programador comentou tão bem que nem precisei entender o código. =)
[[https://github.com/systemd/systemd/blob/master/src/udev/udev-builtin-net_id.c]]
abstraindo
/*
* Predictable network interface device names based on:
* - firmware/bios-provided index numbers for on-board devices
* - firmware-provided pci-express hotplug slot index number
* - physical/geographical location of the hardware
* - the interface's MAC address
*
* http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
*
* Two character prefixes based on the type of interface:
* en — Ethernet
* sl — serial line IP (slip)
* wl — wlan
* ww — wwan
*
* Type of names:
* b — BCMA bus core number
* c — bus id of a grouped CCW or CCW device,
* with all leading zeros stripped [s390]
* o[n|d]
* — on-board device index number
* s[f][n|d]
* — hotplug slot index number
* x — MAC address
* [P]ps[f][n|d]
* — PCI geographical location
* [P]ps[f][u][..][c][i]
* — USB port number chain
* v - VIO slot number (IBM PowerVM)
* ai — Platform bus ACPI instance id
*
* All multi-function PCI devices will carry the [f] number in the
* device name, including the function 0 device.
*
* SR-IOV virtual devices are named based on the name of the parent interface,
* with a suffix of "v", where is the virtual device number.
*
* When using PCI geography, The PCI domain is only prepended when it is not 0.
*
* For USB devices the full chain of port numbers of hubs is composed. If the
* name gets longer than the maximum number of 15 characters, the name is not
* exported.
* The usual USB configuration == 1 and interface == 0 values are suppressed.
*
....
Resumindo. Os nomes são baseados:
* O firmware/bios prove indices para dispositivos on-board
* O firmware dos barramentos pci-express fornece o indice do slot
* A localização fisica/geografica dohardware
* O endereço MAC da intefaces
Seguindo mais a baixo temos exemplos para entender isso.
Uma placa PCI com 2 portas ethernet
* enp2s0f0
* enp2s0f1
* PCI Ethernet multi-function card with 2 ports:
* /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/enp2s0f0
* ID_NET_NAME_MAC=enx78e7d1ea46da
* ID_NET_NAME_PATH=enp2s0f0
* /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.1/net/enp2s0f1
* ID_NET_NAME_MAC=enx78e7d1ea46dc
* ID_NET_NAME_PATH=enp2s0f1
O caminho **/sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/enp2s0f0** é o caminho baseado no barramento PCI.
Um exemplo da minha máquina
freewaynet@megatron:~$ lspci | grep -i Ethernet
03:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
13:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
freewaynet@megatron:~$
Vamos visualizar o caminho(PATH) destas placas.
freewaynet@megatron:~$ lspci | grep -i Ethernet
03:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
13:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
freewaynet@megatron:~$ udevadm info -e | grep ^P.*0000:03:00.0*
P: /devices/pci0000:00/0000:00:15.0/0000:03:00.0
P: /devices/pci0000:00/0000:00:15.0/0000:03:00.0/net/ens160
freewaynet@megatron:~$ udevadm info -e | grep ^P.*0000:0b:00.0*
P: /devices/pci0000:00/0000:00:16.0/0000:0b:00.0
P: /devices/pci0000:00/0000:00:16.0/0000:0b:00.0/net/ens192
freewaynet@megatron:~$ udevadm info -e | grep ^P.*0000:13:00.0*
P: /devices/pci0000:00/0000:00:17.0/0000:13:00.0
P: /devices/pci0000:00/0000:00:17.0/0000:13:00.0/net/ens224
freewaynet@megatron:~$ ifconfig
ens160 Link encap:Ethernet HWaddr 00:0c:29:50:b6:8b
inet addr:172.16.30.26 Bcast:172.16.30.255 Mask:255.255.255.0
inet6 addr: fde5:9eef:b183:0:20c:29ff:fe50:b68b/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe50:b68b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4315926 errors:0 dropped:20 overruns:0 frame:0
TX packets:4991923 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:372119971 (372.1 MB) TX bytes:582529088 (582.5 MB)
ens192 Link encap:Ethernet HWaddr 00:0c:29:50:b6:95
inet addr:192.168.1.8 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: 2804:ff0:3:0:20c:29ff:fe50:b695/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe50:b695/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3260293 errors:0 dropped:221 overruns:0 frame:0
TX packets:3334017 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1182672911 (1.1 GB) TX bytes:278719183 (278.7 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:564953 errors:0 dropped:0 overruns:0 frame:0
TX packets:564953 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:36594036 (36.5 MB) TX bytes:36594036 (36.5 MB)
freewaynet@megatron:~$
Att.