- 論壇徽章:
- 0
|
本帖最后由 l6590789 于 2013-07-12 20:22 編輯
大家好,我想在linux內(nèi)核中找到網(wǎng)卡發(fā)送隊(duì)列的長(zhǎng)度,不知道找到的函數(shù)和變量是否正確
我找的函數(shù)是
341static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc* qdisc)
342{
343 struct sk_buff_head *list = prio2list(skb, qdisc);
344
345 if (skb_queue_len(list) < qdisc->dev->tx_queue_len) {
346 qdisc->q.qlen++;
347 return __qdisc_enqueue_tail(skb, qdisc, list);
348 }
349
350 return qdisc_drop(skb, qdisc);
351}
我個(gè)人認(rèn)為 skb_queue_len(list)是我要找的網(wǎng)卡當(dāng)前發(fā)送隊(duì)列長(zhǎng)度而dev->tx_queue_len是網(wǎng)卡所能允許的最大發(fā)送隊(duì)列長(zhǎng)度值,不知道我的判斷是否正確。如果linux系統(tǒng)有多個(gè)網(wǎng)卡的時(shí)候,那又怎么獲得多個(gè)網(wǎng)卡隊(duì)列的長(zhǎng)度呢?我又該通過(guò)什么接口截取到這個(gè)值呢? |
|