【发布时间】:2019-12-03 10:37:29
【问题描述】:
如何从 bash-script 获取 Linux 中某些网络设备支持的 MTU 范围(不是直接通过netlink API)?
我尝试使用ifconfig 和ip link,但找不到解决方案。
【问题讨论】:
-
这个问题好像没有好的答案 - unix.stackexchange.com/questions/552107/…
-
有时编写一个小的 C 程序来完成这项工作会更容易,然后从 Bash 中调用它。
-
@jww,你的程序会做什么?我进行了快速检查,没有找到任何报告这种能力的 ioctl。我刚刚修补了 ping 工具以使用 IP_PMTUDISC_PROBE,但由于某种原因,它一直告诉我“消息太长,mtu=1500”,尽管我的昵称支持巨型帧。可能不可能退出 nic 驱动程序,否则 ethtool 肯定会报告这种能力。这是一个有趣的问题,很奇怪为什么不能这样做……man7.org/linux/man-pages/man7/ip.7.html
-
@Maxim - C 程序将直接调用 netlink API 并将结果写入标准输出。
-
@jww 那么我们可以从 Netlink API 获得这样的范围吗?您能否展示一些小的 C 代码 sn-p 或至少用于谷歌搜索的 netlink 选项/关键字?
标签: netlink linux bash network-programming linux-device-driver mtu