网络接口名称有多长?

时间:2014-07-24 11:15:03

标签: linux database windows oracle networking

我需要调整一些数据库表,以容纳50多个字符长的网络接口名称。 我想知道接口名称可以有多长时间的标准,所以我可以正确映射它。

2 个答案:

答案 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,由于这个问题:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=858580