我需要改变两个设备的MTU如下。
这个工作很好:

ip link set dev ethdc1e2470 mtu 9000

……但这:
ip link set dev ethdc1e2470-emu mtu 9000

…给予:
rtnetlink应答:无效参数)
我相信这个错误是由设备名中的短划线(-)引起的。所以我试着用\来逃避它,但也没用:
$ ip link set dev ethdc1e2470\-emu mtu 9000
RTNETLINK answers: Invalid argument

$ ip link set dev ethdc1e2470\\-emu mtu 9000
Cannot find device "ethdc1e2470\-emu"

你能帮我找出正确的逃跑方法吗?
更改不是选项的设备名,这些是openvswitch自动生成的设备名。

最佳答案

实际上,openvswitch的仿真接口似乎不支持大于1500的mtu。
如果我使用ifconfig命令,它会给出更合理的错误,我可以将mtu

ifconfig eth58fd8938-emu mtu 9000 up
SIOCSIFMTU: Invalid argument

所以这并不是真正的设备名称问题。感谢@jos的帮助评论
如果有人发现这个问题
如果在xen domu config中将nic模型从默认的rtl8139切换到e1000,则生成的仿真接口可以成功地设置mtu 9000。
但是,无论是rtl8139还是e1000,xen stubdomain设备型号都不允许设置mtu>1500

关于linux - 如何为ip link命令转义特殊字符设备名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49516861/

10-12 21:55