När det gäller den Linux-specifika delen av detta, i de senaste kärnversionerna definieras detta av IFNAMSIZ
att vara 16 byte, alltså 15 användarsynliga byte (förutsatt att den innehåller en avslutande null). IFNAMSIZ
används för att definiera struct net_devices namnfält här
.
För att testa empiriskt kan du använda följande för att se att 16 byte misslyckas och 15 byte fungerar:
# CLEAN SLATE
root# ip link ls dev 123456789012345
Device "123456789012345" does not exist.
root# ip link ls dev 1234567890123456
Device "1234567890123456" does not exist.
# FAIL
root# ip link add dev 1234567890123456 type dummy
Error: argument "1234567890123456" is wrong: "name" too long
root# ip link ls dev 1234567890123456
Device "1234567890123456" does not exist.
# PASS
root# ip link add dev 123456789012345 type dummy
root# ip link ls dev 123456789012345
40: 123456789012345: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default
link/ether ... brd ff:ff:ff:ff:ff:ff
# CLEAN UP
root# ip link del dev 123456789012345
(Förutsatt att du har ip
från iproute2-paketet installerat, vilket är troligt på alla Linux-distributioner från det senaste decenniet eller så.)