2013-04-24 24 views
0

我正在使用'ifconfig eth0:1 192.168.3.1 netmask 255.255.255.0'在eth0上設置別名IP。但有一個錯誤彈出: SIOCSIFFLAGS:不能分配請求的地址 SIOCSIFNETMASK:無法分配請求的地址ifconfig eth0:1 192.168.3.1 netmask 255.255.255.0 return SIOCSIFFLAGS:無法分配請求的地址

使用ifconfig的版本是: 淨工具1.60 使用ifconfig 1.42(2001年4月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,& IFR)的回報無法分配請求的地址(錯誤= 99)

回答

0

雖然沒有人回答了這個問題,我想我正在達成根本原因。

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

相關問題