在链路层接口内添加判断MAC地址为空的语句后ping不通本机?
如题,在内核协议栈链路层处理接口dev_queue_xmit里添加判断源mac和目的mac为空的语句后,ping不通本机(127.0.0.1),打印语句显示源和目的MAC都为空int dev_queue_xmit(skb){
...
gso:
if(!memcmp(destmac,skb->data,6|| !memcmp(srcmac,skb->data+6,6))) //destmac和srcmac为全0
{
printk(KERN_ALTER "skb->data:%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n",skb->data,skb->data,skb->data,skb->data,skb->data,skb->data,skb->data,skb->data,skb->data,skb->data,skb->data,skb->data);
return 0;
}
}按理说ping任何主机mac都不应该为空,请各位大侠解惑,多谢! 本帖最后由 conjurator 于 2015-06-09 11:28 编辑
回复 1# 紫柳
I got it wrong previously.
'lo' device is initialized with all zero MAC address.
when a skb passed neighbor system, a dummy mac header is created with both source & destination address set to null. 紫柳 发表于 2015-06-09 09:00 static/image/common/back.gif
如题,在内核协议栈链路层处理接口dev_queue_xmit里添加判断源mac和目的mac为空的语句后,ping不通本机(12 ...
括号是不是放的不对啊。 本帖最后由 紫柳 于 2015-06-11 16:30 编辑
回复 3# abutter
少写了一个)
页:
[1]