我想用我的程序设置一些本地 sysctl 参数,我按照这里给出的指示:http ://www.linux.it/~rubini/docs/sysctl/
例如,这是我为/proc/sys/net/ipv6/conf/tun0/accept_ra
. 我刚刚tun0
在此调用之前配置了我的界面。(我确认我的接口已启动,并且我也能够分配 IP 地址)
int path_len = 5;
int tun0_accept_ra_path[] = { CTL_NET,
NET_IPV6,
NET_IPV6_CONF,
ifr6.ifr6_ifindex, // This ifindex comes from an interface configured above
NET_IPV6_ACCEPT_RA };
int tun0_accept_ra_value = 0;
if (sysctl(tun0_accept_ra_path,
path_len,
NULL,
0,
&tun0_accept_ra_value,
sizeof(tun0_accept_ra_value)) < 0) {
printf("set sysctl 'accept_ra' failed. errno: %d\n", errno);
}
我得到:set sysctl 'accept_ra' failed. errno: 38 Function not implemented
有什么想法可能是错的吗?我以 sudo 身份运行,所以我认为我不应该有访问权限问题。
我在树莓派上运行 Debian GNU/Linux 7.0 (wheezy)。