原创 搭建內核態與用戶態通信機制

Netlink相對於其他的通信機制具有以下優點: 使用Netlink通過自定義一種新的協議並加入協議族即可通過socket API使用Netlink協議完成數據交換,而ioctl和proc文件系統均需要通過程序加入相應的設備或文件。 Ne

原创 linux platform總線的相關總結

1 概述 1.1 簡介 從Linux2.6起,引入了一套新的驅動管理和註冊機制,包括三部分:Platform_bus,Platform_device和Platform_driver。Linux中大部分的設備驅動,都可以使用這

原创 struct ethdr結構體剖析

在linux系統中,使用struct ethhdr結構體表示以太網幀的頭部。這個struct ethhdr結構體位於linx內核include\linux\if_ether.h中。 struct ethhdr結構體原型如下所示: <spa

原创 sk_buff學習總結

sk_buff 源文件:linux-2.6.37/ include/ linux/ skbuff.h                            linux-2.6.37/ include/ linux/ skbuff.c

原创 Netlink使用總結

1 概述 Netlink套接字是用以實現用戶進程與內核進程通信的一種特殊的進程間通信(IPC) ,也是網絡應用程序與內核通信的最常用的接口。 Netlink套接字可以使用標準的套接字APIs來創建。socket(), bind

原创 of_find_property(np, name, lenp)等函數的理解

1. of_get_property(device, "compatible", &cplen); // 通過所給的名字找到相應節點的屬性 2. of_find_property(np, name, lenp); //這個函數與of_g

原创 net-snmp中載入第三方mib庫

Management Information Base(管理信息庫,MIB)是一組對象,定義可對某個設備提出的查詢。 我們所 用的snmp監控主機如果要輪詢一個支持snmp的設備的某項數據,它必須發出被查詢設備所能理解的查詢命令,這個就需

原创 quagga 命令定義的代碼分析(DEFUN)

  在quagga中有很多的命令,利用這些下面分析一下命令是怎麼被讀取和執行的。在quagga中定義的命令都是利用宏定義實現的,這個宏定義還是有點複雜,下面是命令的宏定義語句。 #define DEFUN(funcname, cmdnam

原创 linux網絡設備—PHY

一.結構體 1.PHY設備 struct phy_device { struct phy_driver *drv; //PHY設備驅動 struct mii_bus *bus; //對應的MII總線 struct device de

原创 Makefile選項CFLAGS,LDFLAGS,LIBS

CFLAGS 表示用於 C 編譯器的選項,CXXFLAGS 表示用於 C++ 編譯器的選項。這兩個變量實際上涵蓋了編譯和彙編兩個步驟。 CFLAGS: 指定頭文件(.h文件)的路徑,如:CFLAGS=-I/usr/include -

原创 net-snmp移植項目總結

1、       項目移植總結 1.1  交叉編譯的configure參數的配置 交叉編譯參數的設置,這個部分是最基本的,如果參數設置的有問題,snmpd運行起來就會有問題。 在x86環境下進行測試的時候,選用一個簡單的編譯參數,

原创 結構體中char a[0]用法——柔性數組

 有如下定義:typedef struct{ char a; char b[0]; }; 其中元素Char b[0];叫做柔性數組,主要用於使結構體包含可變長字段。詳細內容如下:柔性數組; 【柔性數組結構成員   C99中,結構中的最後一

原创 net-snmp agent開發(用net-snmp擴展MIB庫)

注:本文經過http://blog.csdn.net/hepeng597/article/details/8782868原文以及網上資料進行歸納整理 用net-snmp擴展MIB庫,實現方法可歸結爲四種: 1)一是靜態庫方式,通過修改配置

原创 vim高亮問題

在有些linux的版本中,在vim中搜索出來的關鍵字是不帶高亮的,這樣很不利於我們閱讀。 可以通過以下命令是關鍵字高亮。 1.使一個關鍵字高亮 先用vim打開你要閱讀的文件,然後進入命令模式,即在非編輯狀態下,按":"。 然後使用下面命令

原创 net_device剖析

       網絡設備接口層爲了千變萬化的設備定義了統一、抽象的數據結構net_device結構體來實現多種硬件在軟件層次上的統一。net_device本身是一個巨型結構體,包含網絡設備的屬性描述和操作接口。 (1)全局信息 char