原文:quagga源碼分析--通用庫command

quagga作為一個路由器軟件,自然要提供人機接口。 quagga提供snmp管理接口,而且,自然就會有對應的命令行管理格式,當然一般路由軟件不會提供界面形式的,也許有webui,然而quagga並沒有。 我們要看的就是這個命令行處理的代碼 command。 接觸過類似命令行的朋友肯定有一點點好奇吧,那么數量龐大的命令和參數輸入,還可以提供提示和自動補齊,這肯定不是一件很簡單的事情。 下面是一個配 ...

2016-09-04 22:39 0 1828 推薦指數:

查看詳情

quagga源碼分析--通用thread

quagga是開源路由器軟件,提供的用戶界面與思科,華為的路由器的人機接口幾乎一致,非常有學習價值,尤其是開源的協議代碼,簡直亮瞎了我的小眼睛。 quagga的介紹,我就不贅述了,有興趣的可以找度娘或者去官網看看。 一、通用thread quagga是一個純C實現的項目。 C語言 ...

Sat Sep 03 06:55:00 CST 2016 0 1950
quagga源碼分析--大內總管zebra

zebra,中文翻譯是斑馬,於是我打開了宋冬野的《斑馬,斑馬》作為BGM來完成這個篇章,嘿嘿,小資一把! zebra姑且戲稱它是quagga項目的大內總管。 因為它負責管理其他所有協議進程的路由信息的更新與交互,並負責與內核交換信息,如下的架構: 好了,簡介完了 ...

Thu Jan 12 05:42:00 CST 2017 0 5873
quagga源碼分析--路由信息處理zebra-rib

對於各個協議生成的路由信息的處理屬於quagga中非常重要的一個功能,如何在內核進行路由增加,更新,刪除是一個復雜的過程。 quagga在thread任務調度中加入了一種工作隊列,work_queue,與內核的工作隊列類似,是一種相對而言,低優先級的任務,這里的任務看成類似的系統進程 ...

Sun Jan 15 01:37:00 CST 2017 0 2778
quagga源碼學習--BGP協議路由更新

BGP的核心就是交換路由,所以關鍵的部分還是在路由的更新與撤銷上面,這之間包含了繁雜的屬性,community等等可以稱之為業務邏輯的處理過程,不做詳述。 bgp_read函數是路由更新的事件處理函 ...

Sat Feb 04 05:16:00 CST 2017 0 2445
cJSON源碼分析

本文采用以下協議進行授權: 自由轉載-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,轉載請注明作者及出處。 cJSON是一個超輕巧,攜帶方便,單文件,簡單的可以作為ANSI-C標准的Json格式解析 ...

Thu Feb 09 05:53:00 CST 2017 1 6060
quagga源碼學習--BGP協議的初始化

quagga支持BGP-4,BGP-4+協議,支持多協議(mpls,isis,ospf等等)以及單播,組播路由的導入和分發。 具體的協議,這里就不附錄了,網絡上有很多資料,或者RFC。 協議源碼的學習基於前幾章的quagga源碼分析,所以剛接觸的朋友最好瀏覽一下quagga通用框架 ...

Mon Jan 23 22:57:00 CST 2017 0 1888
源碼分析】cJSON學習

cJSON是什么? cJSON是一個輕量級的json解析。使用起來非常簡單,整個非常地簡潔,核心功能的實現都在cJSON.c文件,非常適合閱讀源代碼來學習C語言。最近讀完這個源碼,分享自己收獲的一些心得。 什么是json,照搬json官網的說法: JSON ...

Thu Apr 27 19:44:00 CST 2017 0 1419
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM