プログラムでいくつかのローカル 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 として実行しているので、アクセス権限の問題はないと思います。
ラズベリー pi で Debian GNU/Linux 7.0 (wheezy) を実行しています。