久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

netio之萬里長征第一步

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年12月28日   【字體:

欲工其事必先利其器,這種針對硬件的開發往往最令人頭大的就是搭開發環境,以前做單片機就深有體會。

這次用了兩臺PC機,一臺硬件設備。PCA裝REDHAT,和設備通過PCIE對接,作為開發機和負載機。PCB裝XP作為測試機和網關。

聯機方式,PCB上插一片光卡,連接到設備的BGE0,光卡和無線網卡建一個網橋,作為INTERNET出口。

PCA的網卡連接到一個光電轉換器,光電轉換器的光纖連接到設備的BGE1上,作為負載機。

從周六開始搞,先是光電轉換器沒電源,想從里面焊條線出來,外殼居然打不開,昏倒~~。電源口是英制的3。5MM,找不到匹配的插頭,最后只好剪塊長條形的線路板插在插口中充當負極,再從插口的芯子上焊出一條線來作為正極,連接到PCB的5V電源上。連接好,插上電,光口指示燈不亮,懷疑是壞了。

周日,突然想到,PCB缺少機箱電源,趕緊跑電腦市場買了一套。

周一一大早,快遞就送來了光卡,順豐的服務果然不是山寨快遞可以比的。

這光卡竟然和光電轉換器一樣,怎么搞,燈就是不亮,把卡上的兩個接口連接,燈亮了。說明卡是好的,問題出在光纖或模塊上,光纖沒問題,罪魁禍首就是光模塊了,幸好拿了一大堆模塊回來,一個一個地試,終于有一個,燈亮了,果然是模塊的兼容性。

突然想到,會不會光電轉換器也是相同的問題,把光電轉換器接到這塊模塊上,燈也亮了。

現在在手上有三臺光設備了,交換機,光電轉換器和光網卡。

先試交換機,光口和電口不通,搞不懂。

最后就確定了上面所說的方案。

環境搭好了,加上啃了兩天的文檔,寫代碼相對就比較輕松了。E文文檔,十多篇,回想當年英文課睡覺睡到流口水,真是痛心疾首,悔恨莫及啊。

這個東西其實簡單的,每個核心可以綁多個線程,每個核心只能綁一個隊列。包收進來放進一個桶,桶就是一張HASH表了,可以按2層MAC、三層IP/端口、4層作為多維HASH存放,這個是NETIO的驅動實現的,不用管,按手冊做就是了。每個核心就從桶中取數據處理,NETIO提供一個阻塞函數,偵聽數據包,由于核心與隊列綁定,整個處理過程是不用加鎖的。數據的處理類似于SOCKET。收到的數據是原汁原味的報文,可以直接扔到另一個隊列發送出去。剝掉網絡頭就是三層包,再剝掉三層頭,就是應用層數據,這個比內核模塊方便多了,內核的SKBUFF結構還是相當地復雜,加上每一個HOOK點的數據指向都在變化,足可令人吐血。

手冊上沒有提供雙網卡數據透傳的例程,按原先的設想,應該就是偵聽兩個網卡,收到的數據扔到另一個網卡,就實現了ACCEPT,不扔過去,就是DROP了。

按架構寫了個代碼,稍作調試,透傳成功了,就是速度慢,下載只有50-60K,懷疑是光連接有問題。

再層層剝去頭部,打印出MAC和IP地址,包長度。

OK,至此,萬里長征總算邁出了第一步。

關閉窗口

相關文章

主站蜘蛛池模板: 一区二区久久 | 日韩高清不卡 | 欧美一区二区三区的 | 成人不卡| 日日夜夜草 | 久操久操 | 成人av一区二区三区在线观看 | 国产三级黄色片 | 国产性生活视频 | 久久视频免费 | 97超碰资源站 | 久久九九免费视频 | av在线免费网站 | a级片在线| 91手机看片 | 久久99国产精品 | 午夜精品一区二区三区在线播放 | 九九热九九 | 免费看黄色片 | 日韩精品在线一区 | 天天插天天操 | 久久国产精品一区二区 | 黄色大片av | 老女人性生活视频 | 亚洲自拍偷拍一区 | 久久福利网 | 青青草国产在线视频 | 成人在线视频网站 | 日韩美女在线 | av免费看网站 | 日韩欧美一区二区三区久久婷婷 | 国产乱轮视频 | 日韩一区二区中文字幕 | 天天干天天操天天爽 | 国产一区视频在线 | 中文字幕日本 | 91一区二区三区 | 国产乱码精品一区二区三 | 久久久久久亚洲精品 | 日韩中文在线观看 | 亚洲精品91天天久久人人 |