求教,数据包发送问题
在int dev_queue_xmit(struct sk_buff *skb)函数中有这样一段代码
int dev_queue_xmit(struct sk_buff *skb)
{
..........
if (dev->hard_start_xmit(skb, dev) == 0) {
dev->xmit_lock_owner = -1;
spin_unlock_bh(&dev->xmit_lock);
return 0;
}
..........
}
这是在没有使用qos模块时执行的。
其中dev->hard_start_xmit(skb, dev) == 0是不是意味着驱动程序中不能缓存数据包啊?
即驱动发送成功一个以后,才继续从上层取得下一个数据包再发送啊