原创 CPU Scaling

CPU Scaling 1、performance 將cpu用於處於最高狀態 2、powersave 將cpu設置爲最低狀態 3、userspace 手動設置cpu 4、ondemand 和 conservative都是內核自己cpu算

原创 PPTP CLIENT

最近了解了一下pptp client的代碼,簡單記錄一下,以防後面有用。 按照流程,pptp client啓動時,會啓動pppd去創建新的ppp連接,並生成新的接口,例如ppp1。    大體的數據流程是,當創建了ppp1,同時可以配置路

原创 LINUX協議棧詳解 協議處理

協議處理,主要介紹了從驅動中獲取數據後,如何進行分發給不同的協議處理,包括IP協議、ARP協議等處理。__netif_receive_skb協議處理的開始,主要的數據結構是ptype_all和ptype_base,其中ptype_all是

原创 LINUX協議棧詳解 網橋介紹

1,  中繼器 網橋 路由器中繼器就是一個簡單的數據拷貝,不對數據包進行任何改動。網橋負責連接兩個局域網,負責將數據轉發,不對數據包進行改動。路由器,處理L3的數據,一般都是IP數據包。2,  網橋實現上是一個混雜模式,任何一個數據包都有

原创 LINUX協議棧詳解 流控TC

在數據包發送一節提到了流控TC的實現,現在進一步研究。數據包發送是通過dev_queue_xmit實現的,if (q->enqueue) {                 rc = __dev_xmit_skb(skb, q, dev,

原创 未來兩年計劃

  將這個blog歸納到面試寶典,呵呵,不過這裏將會寫下我未來兩年的生活和工作的計劃,今天是2011年5月9號,到2013年5月。   1、每天早上7點準時起牀,學習英語10分鐘 2、準時上班,每天上下班路上學習英語 3、積極工作,每天回

原创 兩年工作總結

從進sangfor的第一天就知道會有離開的一天,因爲 I don't like it,我不喜歡做僞嵌入式,在學習一直學習嵌入式,可惜畢業第一份工並不是嵌入式的,或者說是僞嵌入式的,我想很多部門公司的同事應該都深有體會。 總結一下吧,不

原创 LINUX協議棧詳解 數據包接收

NAPI介紹NAPI混合了中斷和輪詢,在高負載情況下可以有效減少CPU的負載,從而提高性能,從這一點可以認識到一種優化的方式就是降低CPU負載,例如DMZ,就是另一個例子,將更多的工作交給其他硬件來執行,而不是CPU,從而達到減輕CPU壓

原创 LINUX協議棧詳解 數據包發送

數據包發送和接收有點類似,我們一般都用int dev_queue_xmit(struct sk_buff *skb)來發送數據包,例如我們自己構造完整的數據包,最後調用真正的物理髮送函數。但是我們也知道發送也是有軟中斷處理的,open_s

原创 第二部分 連接跟蹤

並沒有任何特定的先決條件。從2.6.23到2.6.25,API保持了極其的相識。在2.6.26(-rc1)中有一點點類型變化。Xtables-addons並沒有提供包括連接跟蹤在內的可移植的API,因爲並沒有模塊的合入需要這個,但是編譯

原创 計劃2011-5

1、學習走遍美國 2、看lwn.net內容 3、學習0bug,將幾個重點的內容學習透徹 4、找一些面試之類的內容看看 5、工作內容 點贊 收藏 分享 文章舉報 hongchunh

原创 LINUX協議棧詳解 ARP協議

ARP協議負責從IP地址到物理MAC地址的轉換。ARP格式/* * This structure defines an ethernet arpheader. */ struct arphdr { __b

原创 Android編譯 & Linux內核編譯

Android編譯 一、 編譯環境 1、 交叉編譯 Android本身帶有交叉編譯工具,所以不需要單獨配置。 2、 必要的JAVA環境 包括JDK等,具體可以參考google的android網站。 二、 配置 1、 android功

原创 Linux內核設計與實現

去南山書城看到linux內核設計與實現已經第三版了,翻開看看發現增加一章專門描述內核數據結構,詳細描述中斷處理程序和下半部機制。   一、溫故而知新篇 1、fork和vfork 進程創建,在unix系統中,進程創建比較特別,分解爲兩個函數

原创 編寫netfilter模塊 第三部分 Netfilter核心

第三部分 Netfilter核心 10 Netfilter鉤子函數 網絡代碼中有若干調用是涉及到Netfilter的,並且所有的東西都和它綁定(也就是模塊被加載)到netfilter框架中。最普遍的鉤子組成部分是xtables(防火牆)、