我需要调整一些数据库表格来适应50个以上字符的网络接口名称。我想知道有没有关于接口名称长度的标准,这样我才能正确地映射它。
我需要调整一些数据库表格来适应50个以上字符的网络接口名称。我想知道有没有关于接口名称长度的标准,这样我才能正确地映射它。
就Linux特定部分而言,最近的内核版本使用IFNAMSIZ来定义名称为16个字节,因此可见用户字节数为15个(假设包括尾随的空字符)。IFNAMSIZ
用于在此处定义结构体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
(假设您已经安装了来自iproute2包的 ip
,这在过去十年左右的任何Linux发行版中都很可能已经安装好了。)
4.3.2-1
中已经被修复了。 - András Korn