Linux???--???????·????????????
???????????? ???????[ 2013/1/7 10:35:40 ] ????????
?????е?dev_tint()????????豸?????л???????е????????????dev_queue_xmit()??????????????
/*
* This routine is called when an device driver (i.e. an
* interface) is ready to transmit a packet.
*/
//?ú???????:?????豸???????У??????е??????????dev_queue_xmit()????????????
void dev_tint(struct device *dev)
{
int i;
struct sk_buff *skb;
unsigned long flags;
save_flags(flags);
/*
* Work the queues in priority order
*/
for(i = 0;i < DEV_NUMBUFFS; i++)
{
/*
* Pull packets from the queue
*/
cli();
while((skb=skb_dequeue(&dev->buffs[i]))!=NULL)
{
/*
* Stop anyone freeing the buffer while we retransmit it
*/
skb_device_lock(skb);
restore_flags(flags);
/*
* Feed them to the output stage and if it fails
* indicate they re-queue at the front.
*/
dev_queue_xmit(skb??dev??-i - 1);//?????????????????????dev_queue_xmit()?????????<0?????pri=-pri-1=-(-i-1)-1=i??
//???????????????????????where???????(dev_queue_xmit())??
/*
* If we can take no more then stop here.
*/
if (dev->tbusy)
return;
cli();
}
}
restore_flags(flags);
}
???????????????????????????????????????????????У??ο?????????????豸??????????????????????????????
????????????http://blog.csdn.net/yming0221/article/details/7555870
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11