ifconfig eth0:1 192.168.3.1 netmask 255.255.255.0返回SIOCSIFFLAGS:无法分配请求的地址

时间:2013-04-24 06:44:30

标签: linux ifconfig

我正在使用'ifconfig eth0:1 192.168.3.1 netmask 255.255.255.0'在eth0上设置别名IP。但是弹出错误: SIOCSIFFLAGS:无法分配请求的地址 SIOCSIFNETMASK:无法分配请求的地址

ifconfig的版本是: 网络工具1.60 ifconfig 1.42(2001-04-13)

错误是由ifconfig源代码中的ioctl()函数引起的: / *设置某个接口标志。 * / static int set_flag(char * ifname,short flag) {     struct ifreq ifr;

safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) {
fprintf(stderr, _("%s: unknown interface: %s\n"), 
    ifname, strerror(errno));
return (-1);
}
safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
ifr.ifr_flags |= flag;
**if (ioctl(skfd, SIOCSIFFLAGS, &ifr) < 0) {
perror("SIOCSIFFLAGS");
return -1;
}**
return (0);

}

我的问题是,任何人都可以帮助解释为什么ioctl(skfd,SIOCSIFFLAGS和&amp; ifr)返回无法分配请求的地址(errno = 99)

1 个答案:

答案 0 :(得分:0)

虽然没有人回答这个问题,但我认为我已经达到了根本原因。

net \ ipv4中的devinet.c给了我一些信息。