亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 8349 | 回復(fù): 11
打印 上一主題 下一主題

[網(wǎng)絡(luò)子系統(tǒng)] 如何獲取linux內(nèi)核中網(wǎng)卡發(fā)送隊(duì)列的當(dāng)前長(zhǎng)度 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-07-12 20:22 |只看該作者 |倒序?yàn)g覽
本帖最后由 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è)值呢?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2013-07-19 16:18 |只看該作者
我個(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)度呢?


先用dev_get_by_name按名稱,或dev_get_by_index按ifindex獲取net_device結(jié)構(gòu),也就是“dev->tx_queue_len”中的dev。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2013-07-19 23:50 |只看該作者
謝謝大神,那我要怎么把網(wǎng)卡的dev_get_by_name(網(wǎng)卡名稱)和skb_queue_len(list) (網(wǎng)卡出口隊(duì)列長(zhǎng)度)的數(shù)值取出來(lái)呢 通過(guò)socket編程能實(shí)現(xiàn)嗎

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2013-07-19 23:56 |只看該作者
回復(fù) 2# 賣萌犯法


    謝謝大神,那我要怎么把網(wǎng)卡的dev_get_by_name(網(wǎng)卡名稱)和skb_queue_len(list) (網(wǎng)卡出口隊(duì)列長(zhǎng)度)的數(shù)值取出來(lái)呢 通過(guò)socket編程能實(shí)現(xiàn)嗎

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2013-07-20 18:52 |只看該作者
本帖最后由 賣萌犯法 于 2013-07-20 18:53 編輯

回復(fù) 4# l6590789

使用socket編程可以實(shí)現(xiàn):

根據(jù)內(nèi)核代碼,使用ioctl 調(diào)用,SIOCGIFTXQLEN/SIOCSIFTXQLEN 命令,可以獲取和設(shè)置網(wǎng)卡出口隊(duì)列長(zhǎng)度。
如果使用 ioctl ,就不需要 dev_get_by_name 了,因?yàn)?ioctl 的參數(shù) struct ifreq 可以指定接口名,由內(nèi)核去匹配。

內(nèi)核代碼如下:
                case SIOCGIFTXQLEN:
                        ifr->ifr_qlen = dev->tx_queue_len;
                        return 0;

                case SIOCSIFTXQLEN:
                        if (ifr->ifr_qlen<0)
                                return -EINVAL;
                        dev->tx_queue_len = ifr->ifr_qlen;
                        return 0;

調(diào)用 ioctl 方式時(shí),ifr->ifr_qlen 即為接口發(fā)送隊(duì)列長(zhǎng)度。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2013-07-21 20:27 |只看該作者
回復(fù) 5# 賣萌犯法


    ifr->ifr_qlen 不是網(wǎng)卡發(fā)送隊(duì)列的最大長(zhǎng)度嗎?也就是ifconfig命令中能查詢的那個(gè)隊(duì)列長(zhǎng)度值吧,我是想獲得網(wǎng)卡的當(dāng)前輸出隊(duì)列長(zhǎng)度來(lái)判斷網(wǎng)卡的用塞長(zhǎng)度,通過(guò)ioctl接口能獲得嗎?需要自己編寫(xiě)一個(gè)內(nèi)核模塊嗎?

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2013-07-22 02:38 |只看該作者
回復(fù) 6# l6590789

如果是當(dāng)前長(zhǎng)度的話,貌似 ioctl 是沒(méi)招了,應(yīng)該得內(nèi)核編程實(shí)現(xiàn)了。

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2016-11-17 10:16 |只看該作者
題主你好,我現(xiàn)在遇到了和你一樣的問(wèn)題,想問(wèn)下你后來(lái)怎么解決的或者有相關(guān)的文獻(xiàn)推薦嗎?謝謝了

論壇徽章:
20
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-16 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-18 06:20:00每日論壇發(fā)貼之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16賽季CBA聯(lián)賽之江蘇
日期:2017-06-26 11:05:5615-16賽季CBA聯(lián)賽之上海
日期:2017-07-21 18:12:5015-16賽季CBA聯(lián)賽之青島
日期:2017-09-04 17:32:0515-16賽季CBA聯(lián)賽之吉林
日期:2018-03-26 10:02:16程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-15 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2016-07-07 18:37:512015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-08-17 12:21:08
9 [報(bào)告]
發(fā)表于 2016-11-21 18:03 |只看該作者
tc的統(tǒng)計(jì)信息里貌似有隊(duì)列當(dāng)前長(zhǎng)度。

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2016-11-21 19:29 |只看該作者
回復(fù) 9# nswcfd

你好,可以稍微具體點(diǎn)嗎,不太清楚tc是什么,多謝了!
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP