route: SIOCADDRT: File exists 问题
来源:互联网 发布:个人域名备案网站名称 编辑:程序博客网 时间:2024/05/13 23:55
在设置linux 的ip是采用了c方式,反复设置同一个ip时系统会抛出以下信息,真令人费解!
route: SIOCADDRT: File exists
route: SIOCADDRT: File exists
以下为C修改IP地址的代码:
int set_ipaddr(UI32_T ipaddr)
{
int s;
if((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
{
return -1;
}
struct ifreq ifr;
bzero((char *)&ifr, sizeof(ifr));
strcpy(ifr.ifr_name,ETH_NAME);
struct sockaddr_in addr;
bzero(&addr, sizeof(struct sockaddr_in));
addr.sin_family = AF_INET;
//inet_aton(ipaddr,&addr.sin_addr);//将输入字符转成网络地址
//inet_ntoa(ipaddr,&addr.sin_addr);//将输入字符转成网络地址
addr.sin_addr.s_addr=ipaddr;
memcpy((char*)&ifr.ifr_ifru.ifru_addr, (char*)&addr, sizeof(struct sockaddr_in));
if(ioctl(s, SIOCSIFADDR, &ifr) < 0)
{
close(s);
return -1;
}
close(s);
return 0;
}
于是乎跟踪一下这个信息是哪里输出的,在内核代码找到了些线索,file->f_op->unlocked_ioctlfile->f_op->unlocked_ioctl=sock_ioctl
进一步上看sock_ioctl会调用sock_do_ioctl函数,改函数会返回一个err值,因此在这些函数的地方加上打印语句,看看结果,以下是打印出来的信息,可见使用上面c代码设置同一个ip地址后会出现-17再输出 route: SIOCADDRT: File exists 信息
sock_do_ioctl 0
sock_ioctl
0
sock_do_ioctl -17
sock_ioctl
-17
sock_do_ioctl 0
sock_ioctl
0
route: SIOCADDRT: File exists
sock_do_ioctl 0
sock_ioctl
0
跟踪到这里还没有找到数据此信息的源头,通过目录下的error.c文件我找到了该信息的字符串,改字符串存在了hash表中,以便后续输出使用。改值EEXIST 为 17,似乎和-17有一定的关系
今天就找到了这些线索,。但是我通过ifconfig命令来反复设定通一个ip地址为啥没有抛出那条信息呢?难道是C代码有问题?革命尚未成功啊,明天继续...
0
上一篇:巧用backtrace系列函数
下一篇:一个超级宏
相关热门文章
- linux 常见服务端口
- 【ROOTFS搭建】busybox的httpd...
- xmanager 2.0 for linux配置
- 什么是shell
- linux socket的bug??
- 系统提供的库函数存在内存泄漏...
- 初学UNIX环境高级编程的,关于...
- chinaunix博客什么时候可以设...
- 一个访问量较大网站的服务器。...
- 收音机驱动与v4l2架构的关系,...
给主人留下些什么吧!~~
hereShirley2014-04-03 12:27:11
请问这个问题您后来解决了吗
回复 | 举报
评论热议
0 0
- route: SIOCADDRT: File exists 问题
- SIOCADDRT: File exists
- SIOCADDRT: File exists
- linux配置网关提示route: SIOCADDRT: Network is unreachable
- RTNETLINK answers: File exists的问题
- MYSQL dead but pid file exists问题
- 解决 swap file “*.swp”already exists!问题
- File.Exists与Directory.Exists
- 解决 vim Swqp file XXX already exists问题
- 解决Swap file ".ceshi.c.swp" already exists!问题
- Git-解释“Swap file .MERGE_MSG.swp already exists”的问题
- Creating mailbox file: File exists
- Creating mailbox file: File exists
- Swap file ".." already exists!
- RTNETLINK answers: File exists
- 诡异纪事file.exists()
- confirm if a file exists
- RTNETLINK answers: File exists错误
- usrp 升级fpga引发的问题
- usrp之 GRC文件如何用的?
- 通用的进程监控重拉起bash脚本
- Erict调试python的sys.argv下标问题
- 巧用backtrace系列函数
- route: SIOCADDRT: File exists 问题
- dns与wins的区别
- FPGA xps_intc EDK中断IP核
- boost库的调用ld问题
- boost库的调用ld问题[已解]
- boost 1.51.0移植到ARM S3C6410成功运行
- leetcode:Binary Tree Preorder Traversal
- STL 之set 练习
- STL之vector练习
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
靶向药和化疗哪个好
化疗药分类
胃化疗药
顺博化疗药
泽非化疗药
口服化疗药一个疗程是多少天
化疗止吐药有哪些
化疗药紫杉醇
进口化疗药
口服化疗药有哪些
靶向药是化疗药吗
口服化疗药和静脉注射的区别
依托泊苷是化疗药吗
紫山醇化疗药
三七化痔丸
化痔丸
舒痔丸
消痔丸
三七化痔丸吃多久有效
痔疮丸
华佗痔疮栓
化痔栓和痔疮栓的区别
化痔栓效果怎么样
马应龙化痔栓
化痔栓怎么用
痔栓
复方消痔栓
敬修堂化痔栓
化痔栓说明书
化痔栓和马应龙哪个好
化痔栓一般塞多长时间
痔疮消炎栓
槐柏化痔康
槐连化痔康
化痔胶囊
百草化痔膏有效果吗
百草化痔膏
化痔膏
化痔汤
为什么医院都不开三七化痔丸
化痔灵片