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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2103 | 回復: 6
打印 上一主題 下一主題

[網絡子系統] dev_add_pack添加抓包函數,發(fā)現入口打印的值不連續(xù)? [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-01-22 10:18 |只看該作者 |倒序瀏覽

用 dev_add_pack(&cappkg_proto);去抓包 發(fā)現打印的K值為什么不連續(xù)呢?  怎么回事?
另外在my_handler中也加了打印量,發(fā)現也不連續(xù);例 如內核打印
<4>[ 1898.458249] k = 7501
<4>[ 1898.637964] k = 7504
<4>[ 1898.639350] k = 7505
<4>[ 1898.641040] k = 7506
但是在K==7502的時候,雖然沒有打印出來,但是我確定收到數據包了 ,為什么沒有打印出來呢? 請指教
int cappkg_func (struct sk_buff *skb,
                 struct net_device *dev,
                 struct packet_type *pt,
                 struct net_device *orig_dev)
{
    static  int k = 0;
   
    if (dev != destdev /*2»Ôúcapdevá′±íÖD£¬Ä¿Ç°Ö»óDò»¸ö*/)
    {
        goto release_skb;
    }
    if (/*skb->pkt_type == PACKET_OUTGOING ||*/
        //±¾»ú·¢3öμİü£¬êüÖÆóúfib_validate_source£¡
        //òò′ËDèòa½«Ô′μØÖ·SNAT3éò»¸ö·Ç±¾»úμØÖ·£¡
        skb->pkt_type == PACKET_OTHERHOST)
    {
        /*
            skb->pkt_type = PACKET_HOST;
            skb->mark = mark;
            return netif_receive_skb(skb);
        */

    }
    else
    {
         printk("k = %u \n", k++);
         my_handler(skb);
    }
release_skb:
   // kfree_skb(skb);
    return NET_RX_SUCCESS;
}

static struct
        packet_type cappkg_proto =
{
    .type = __constant_htons(ETH_P_ALL),
    .func = cappkg_func,
};
static int  __init init_shm_test(void)
{
    int ret;

    dev_add_pack(&cappkg_proto);
    return 0;
}

論壇徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辭舊歲徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亞洲杯之卡塔爾
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08處女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技術圖書徽章
日期:2014-03-25 09:00:29
2 [報告]
發(fā)表于 2014-01-22 11:03 |只看該作者
helun 發(fā)表于 2014-01-22 10:18
用 dev_add_pack(&cappkg_proto);去抓包 發(fā)現打印的K值為什么不連續(xù)呢?  怎么回事?
另外在my_handler ...

你代碼中的k沒加鎖保護,在多核并發(fā)情況下,可能會導致k被多加幾次吧?

論壇徽章:
0
3 [報告]
發(fā)表于 2014-01-22 13:34 |只看該作者
1 加鎖保護仍然是跳過一些值 我試了加自旋鎖一樣的
2 即使不加 多個進程都調到這個函數 那么照樣應該打印出來 也就是不管哪個內核進程調到它,都應該會打印出來的呀 現在問題是連打印都不打

論壇徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辭舊歲徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亞洲杯之卡塔爾
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08處女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技術圖書徽章
日期:2014-03-25 09:00:29
4 [報告]
發(fā)表于 2014-01-22 17:09 |只看該作者
helun 發(fā)表于 2014-01-22 13:34
1 加鎖保護仍然是跳過一些值 我試了加自旋鎖一樣的
2 即使不加 多個進程都調到這個函數 那么照樣應該打印 ...

那有沒有可能是printk頻率太高導致,能否換種確認方法?

論壇徽章:
0
5 [報告]
發(fā)表于 2014-01-22 20:30 |只看該作者
有可能 暫時不試了 我的問題找到

論壇徽章:
0
6 [報告]
發(fā)表于 2014-01-22 20:31 |只看該作者
仍然要謝謝2樓的支持

論壇徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辭舊歲徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亞洲杯之卡塔爾
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08處女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技術圖書徽章
日期:2014-03-25 09:00:29
7 [報告]
發(fā)表于 2014-01-23 08:49 |只看該作者
不客氣的,也沒幫上啥忙
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP