Linux:内核在哪里命名网络接口(interface)?

标签 linux networking kernel driver

我正在对 Linux 网络接口(interface)命名进行故障排除。

这里我有一些一般性问题:

  1. 如果有多个网卡,它们将被命名为“eth0”、“eth1”、“eth2”等。哪个内核代码负责命名?
  2. 在某些情况下,接口(interface)将被重命名,例如:mlx4_core 0002:00)02:0 enP2p0s2:从 eth2 重命名。是谁引发了这次更名事件?看起来是 netdev 重命名事件,但是谁触发了该 netdev 事件呢? (本例中enP2p0s2为VF网卡接口(interface)名称)。
  3. 在某些情况下,接口(interface)将被重命名为“rename3”。为什么会出现这样的情况呢?是MAC地址冲突造成的吗?如何防止发生这种重命名?

谢谢!

最佳答案

Which kernel code do the naming stuff?

udev 命名接口(interface)。

Why this would be happen?

这取决于您的系统,但重命名受/etc/udev/rules.d 中的规则控制。

关于Linux:内核在哪里命名网络接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43986587/

相关文章:

c - 执行 AIX 内核扩展程序时出错

linux - "-e $ar"、 "3<&0 "、 "0<$Arq"、 "exec 0<&3"做什么?我已经搜索过,但没有找到合适的

linux - 为什么 SetSUID 不适用于 shell 脚本?

c++ - Windows XP(及更高版本)中的自定义IP/UDP/RTP header +常规网络问题

python - 为什么系统在尝试时会发送 RST 标志-python 中的 TCP 3 方式握手

c - 无法计算Linux内核执行C语言编写的hello world程序所花费的时间

linux - Ubuntu 14.04 上的 lex 中无法识别的规则

c++ - 读取多个端口

windows - 无法从网络 "0xc0000006"启动应用程序

c++ - 无法在 kernel32.dll 中找到 GetOverlappedResultEx