Що се отнася до специфичната за Linux част от това, в последните версии на ядрото това се дефинира от IFNAMSIZ
да бъде 16 байта, така че 15 видими за потребителя байта (ако приемем, че включва нула в края). IFNAMSIZ
се използва при дефиниране на полето за име на struct net_device тук
.
За да тествате емпирично, можете да използвате следното, за да видите, че 16 байта се провалят и 15 байта работят:
# 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
(Ако приемем, че имате ip
от инсталирания пакет iprou2, както е вероятно във всяка дистрибуция на Linux от последното десетилетие.)