代码改变世界

socket connect time out

2014-05-23 21:31 by chonghui1001, 1961 阅读, 0 推荐, 收藏, 编辑
摘要:背景:通过socket升级板卡的镜像,主控板和业务板各有一个网口链接在交换芯片上,vxWorks软件环境 1.业务板主动连接主控板的时候调用connect 返回失败错误发0x3c,开始以为是主控板太忙没有处理,于是把主控等待时间加长,同时查看主控的cpu 利用率发现主控的cpu 利用率很低,但... 阅读全文

学习计划-----keep studying

2013-09-14 20:41 by chonghui1001, 220 阅读, 0 推荐, 收藏, 编辑
摘要:1. 读书计划 network routing2. RFC OPSF3.AWK 阅读全文

每天一个topic -- awk程序设计

2013-08-26 09:20 by chonghui1001, 157 阅读, 0 推荐, 收藏, 编辑
摘要:1. 改变原有的分隔符 FS, 输出分隔符是OFS2.gawk包含更多的系统函数3.如何传一个shell 变量-v gawk -f test.awk -v A=10 程序中可以直接使用变量A 阅读全文

每天一个topic -- net 和linux 路由表

2013-08-22 23:38 by chonghui1001, 582 阅读, 0 推荐, 收藏, 编辑
摘要:1.最近学习linux 路由表相关知识现在总结如下: 系统查询路由信息的时候,分为两部先查路由缓存信息,然后查询路由表,route cash信息保存在一个全局的数据结构 rt_hash_tablenet/ipv4/ af_inet.c inet_init() -> net/ipv4/ ip_output.c ip_init() -> net/ipv4/ route.c ip_rt_init() rt_hash_table = (struct rt_hash_bucket *) ... 阅读全文

每天一个topic --route 初始化

2013-08-21 23:20 by chonghui1001, 456 阅读, 0 推荐, 收藏, 编辑
摘要:1.总的入口函数点 net/ipv4/af_inet.c ip_init() net/ipv4/route.c/ devinet_init() 初始化struct net *net 指针 net/ipv4/ip_output.c ip_rt_init() register_pernet_subsys(&fib_net_ops); 初始化ntt->rule_ops net/ipv4/fib_frontend.c fib_net_init net/ipv4/fib_frontend.cfib4_rules_init ops = kmemdup(&fib4_r... 阅读全文

每天一个topic -- c 语言小工具

2013-08-20 23:17 by chonghui1001, 249 阅读, 0 推荐, 收藏, 编辑
摘要:1. 内存检查工具 efence, 编译的时候需要加上 -lefence -lpthread 提供多线程支持 gdb test r where 这时候可以看到准确的输出信息是哪一行内存溢出了2. 语法检查工具 splint splint -strict *.c 还是只能静态检查逻辑错误没法检查出来3. 性能检测工具 gprof 编译的时候需要带上选项 -pg gcc -pt -o test test.c ./test 执行程序后会生成一个 gmon.out 文件 然后是命令 gprof ./test 可以看到性能profile 文件 阅读全文

每天一个topic --makefile 和gcc

2013-08-18 10:22 by chonghui1001, 189 阅读, 0 推荐, 收藏, 编辑
摘要:1. 获取当前所有的.c 文件 由.c 得到.o文件SOURCE=$(wildcard ./*.c ../*.c)OBJS = $(patsubst %.c,%.o,$(SOURCE))2.可执行文件依赖与当前所有.c 文件$(target):$(SOURCE) gcc -cflag -o target -dlflag3. cflag 指定头文件路径 -I../ -I./ 指定动态库或者(静/态)库路径 -L../ -L./ -I../log/ -I./4.dlfage 库路径 -Wl 允许动态搜索库 -Wl,-rpath,./,-rpath,../log/ 指定动态库搜索路... 阅读全文

每天一个topic -- select 函数

2013-08-14 21:48 by chonghui1001, 256 阅读, 0 推荐, 收藏, 编辑
摘要:1. result = select(maxfd, (fd_set *)rfdset, (fd_set *)wfdset, (fd_set *)efdset, timeout); //读写错错文件操作fd_set rfd;FD_ZERO(&rfd);FD_SET(fd, &rfd); 集合中添加一个fdFD_CRL(fd, &rfd); 集合中删除一个fdFD_ISSET(fd, &rfd); 判断该文件是否已经发生了变化struct timeval timeout;select(fd + 1, &rfd, NULL, NULL, timeout);ma 阅读全文

每天一个topic----route 设置

2013-08-14 00:28 by chonghui1001, 280 阅读, 0 推荐, 收藏, 编辑
摘要:改为每天一个,是为了鼓励自己学习 每天进步 ip_route_slow_input ip_mkroute_output 是负责是本地forword local_devlier 的组播路由信息表 ip_route_input_mc 阅读全文

每周一个topic IGMP -- 2013.08.13

2013-08-12 22:14 by chonghui1001, 201 阅读, 0 推荐, 收藏, 编辑
摘要:最近看IGMP 协议发现有下问题, 这些总是和Linux 网桥相关。让我有如下疑惑:1. wan 口数据包怎么进入桥 查询路由信息,如果是组播ip_mc_forward() 将出口改为br02.port是如何和桥关连起来的, 有多个桥的情况 如果是路由方式wan口不在桥里面,如果是other桥wan口在桥里面3.桥接方式,数据包的走向,IGMP数据包走向 flood br_flood_forward4.如何判断是桥接 应用层判断 阅读全文