我使用 systemd-networkd 创建了一个绑定接口,所有 eth*- 和 en*-Interfaces 都使用通配符。目的是自动将 USB 网络设备连接到绑定并断开连接。bond0 接口顶部是 ID 为 100 的 vlan 设备。
我做了以下事情:
连接 USB-C -> 以太网设备(RTL8153 芯片)
ip link set bond0 up
ip link add link bond0 name bond0.100 type vlan id 100
ip link set bond0.100 up
- 删除网络接口
ip link delete bond0.100
最后一个命令挂起,我无法终止它。dmesg 显示以下内容:
unregister_netdevice: waiting for bond0.100 to become free. Usage count = -1
unregister_netdevice: waiting for bond0.100 to become free. Usage count = -1
unregister_netdevice: waiting for bond0.100 to become free. Usage count = -1
unregister_netdevice: waiting for bond0.100 to become free. Usage count = -1
systemd-networkd 配置如下:
10-bond0.netdev
[NetDev]
Name=bond0
Kind=bond
Description=Bonding ethernet devices
[Bond]
Mode=active-backup
PrimaryReselectPolicy=always
MIIMonitorSec=1s
20-以太网.网络
[Match]
Name=en* eth*
[Network]
Bond=bond0
注意:我没有使用 NetworkManager。所有与 IP 相关的内容都是手动管理的。systemd-networkd 只是创建接口。
有没有办法修复这个错误消息并让ip link delete
命令执行?只要命令完成,即使是错误消息也可以。