我无法通过NETLINK_ROUTE选项通过Netlink套接字设置特定接口(eth0或eth1)的MTU大小

时间:2012-10-04 17:02:01

标签: netlink

我编写了一个程序来将特定接口(比如eth0eth1)的MTU大小设置为1100.并且使用Netlink套接字通过{{1从用户空间发送请求消息选项。

消息从用户空间成功发送,但是当我验证NETLINK_ROUTE时,MTU大小仍显示旧值(1500)。我正确验证了吗?我怎么知道内核正确设置MTU大小?如果我错了,请在下面找到我的程序并纠正我。

ifconfig eth0

2 个答案:

答案 0 :(得分:1)

我认为你需要写:

rta->rta_len = RTA_LENGTH(sizeof(unsigned int));

而不是:

rta->rta_len  = sizeof(unsigned int);

答案 1 :(得分:1)

使用RTM_NEWLINK代替RTM_SETLINK

req.nh.nlmsg_type = RTM_NEWLINK;

请参阅联系手册example