加载中…
  
博文
(2005-08-29 17:23)
标签:

杂谈

在多个proxy和软交换的情况下,对record-route和route一直都是蒙查查。只好先中断开发,请我们的协议高手看看,PS说他要仔细看看RFC 3261。有点空闲,将ETH_P_ALL的问题详细说清楚。
ETH_P_ALL含有各种类型,但是我们在具体处理不同类型是,需采用不同的方式,大致上分为2类。一类是设备需要解析的,需要送到上层分析或者需要进行转发的数据包,例如ETH_P_ALL,ETH_P_ARP等等,一类包属于在混杂模式下捕获,不需送到上层处理,需要终结的一类。
在我们采用ETH_P_ALL时,我们很难确定网络的情况(不采用混杂模式除外),我们不一定能对每个数据包采用正确的方式处理,导致系统死机。下面给出一个例子,假设机器不分析vlan,也就是ETH_P_8021Q属于和ETH_P_IP不同处理的方式,蓝色表示使用ETH_P_8021Q的情况,可以在例子中看到区别:
struct packet_type ourpt, *ippt = NULL;
init_module(){
……
struct packet_type *temp;
ourpt.type = htons(ETH_P_IP);
ourpt.type = htons(ETH_P_8021Q);
ourpt
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有