我需要调整一些数据库表,以容纳50多个字符长的网络接口名称。 我想知道接口名称可以有多长时间的标准,所以我可以正确映射它。
答案 0 :(得分:28)
就Linux特定部分而言,在最近的内核版本中,IFNAMSIZ将其定义为16个字节,因此15个用户可见字节(假设它包含尾随空值)。 IFNAMSIZ
用于定义struct net_device的名称字段here。
为了根据经验进行测试,您可以使用以下内容来查看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
(假设您安装了iproute2软件包中的ip
,这可能是过去十年左右的任何Linux发行版中的内容。)
答案 1 :(得分:5)
此外,如果要将接口与DHCP一起使用,则名称的长度必须小于&lt; 14,由于这个问题: