2007年11月20日
pppoe模块在interniche协议栈的移植工作由于上周要忙别的工作所以暂停了,之前的进度是已经能跟pppoe接入服务器建立链路了,帐户和密码认证也通过了,就差把ip数据往协议栈传了。所以前一阶段的工作基本是调试链路部分,跟协议栈关系不大。这周没有太多其他事所以又开始动工了。花了两天时间终于调试到服务器能ping通客户端了,真是开心。这两天遇到些波折,链路建立了,但是ip数据却没有往协议栈传,调试信息显示链路状态有误,但是链路确实已经建立连接了。后来把各阶段的调试信息都打印出来分析发现程序已经收到request ack了,但是有个定时器老是报超时,使得ppp状态又重新回到请求配置阶段。折腾了好些时间才想起ppp模块的定时器要求是一次性的,当时图方便就直接使用interniche协议栈的定时器,结果它是重复性定时器。后来修改其代码使得支持一次性定时器就OK了。今天为止,服务器能ping通机顶盒,所以机顶盒发出的包都是被动响应的,还没有开始调试机顶盒主动发包跟服务器通信的功能,问题肯定会有,但估计不大,争取这周把这个搞定,也就告一段落了。
2007年11月21日
pppoe上收发tcp,udp都没问题了。同时收发tcp总速率能达到11mbps,跟直接以太网跑协议栈的速度差不多。原先一直想修改驱动调高一下速率,就把dm9000ae的一个校验和硬加速打开了,并把协议栈计算校验和部分屏蔽了,才多了1mbps的速率,感觉没什么太大效果。 |