原创 epoll概述和epoll內核源碼分析(epoll最全講解)

epoll概述 epoll是linux中IO多路複用的一種機制,I/O多路複用就是通過一種機制,一個進程可以監視多個描述符,一旦某個描述符就緒(一般是讀就緒或者寫就緒),能夠通知程序進行相應的讀寫操作。當然linux中IO多路複用不僅僅是

原创 Intel DPDK源代碼分析

Intel DPDK 源代碼分析 2013年8月 作者:    王智民 貢獻者:     創建時間:    2013-8-8 穩定程度:    初稿 修改歷史   版本 日期 修訂人 說明 1.0 2013-8-8

原创 P4的可編程的設計流程

1、熟悉芯片的報文處理原理和整體報文處理流水線 2、根據芯片的報文處理原理和處理流水線畫出每個功能模塊的流水線圖,並設計每個功能模塊的表,即輸出反向設計,並進行模擬器驗證 3、輸出正向設計,提交團隊審覈 4、編碼 5、測試用例,驗證功能

原创 KVM詳解,教科書般的經典講解

KVM 介紹(1):簡介及安裝 http://www.cnblogs.com/sammyliu/p/4543110.html 學習 KVM 的系列文章:  (1)介紹和安裝 (2)CPU 和 內存虛擬化 (3)I/O QEMU 全虛擬化和

原创 Linux ubuntu-18內核版本降級error: macro "access_ok" passed 3 arguments, but takes just 2

在安裝P4-SDE過程中遇到部分問題,猜測是因爲內核版本太高,特此記錄 降級linux內核版本: 第一步./p4studio_build.py --use-profile p416_examples_profile安裝依賴環境中的在加載b

原创 讀書筆記——《月亮與六便士》

“He lives at another level”。電影《Big Night》有這樣一句臺詞,查爾斯讓我想起這句臺詞。別人的人生是在不斷做加法,他卻在做減法。人的每一種身份都是一種自我綁架,唯有失去是通向自由之途。所以查爾斯拒絕再做“

原创 關於epoll通俗易懂的詳解

這兩天在看項目的數據結構定義及關係,遇到一些關於socket的知識點,還有一些C++的知識點,下面總結下: 1. struct epoll_event    結構體epoll_event被用於註冊所感興趣的事件和回傳所發生待處理的事件,定

原创 零拷貝原理詳解

引言 傳統的 Linux 操作系統的標準 I/O 接口是基於數據拷貝操作的,即 I/O 操作會導致數據在操作系統內核地址空間的緩衝區和應用程序地址空間定義的緩衝區之間進行傳輸。這樣做最大的好處是可以減少磁盤 I/O 的操作,因爲如果所請求

原创 linux中Workqueue機制的分析—— create_workqueue和create_singlethread_workqueue 的使用和區別

軟硬件協同設計是未來發展的主流,軟硬件的界限越來越模糊,軟硬件的設計思想是相通的,實現方法是各異的,實現的結果上當然也存在較大差別,因此,很有必要做好軟硬件的協同設計。 什麼是workqueue?Linux中的Workqueue機制就是爲

原创 insmod內核模塊出現問題:insmod: ERROR: could not insert module name.ko: Invalid parameters的解決方法

在對一個ko文件進行內核模塊加載insmod的時候竟然出現這個奇怪的問題: 在解決這個問題之前我在網上查了半天,各種說法的都有也都試過了,主要是試過一下方法: 1、你的內核版本和你Makefile制定的不一樣,編譯模塊時選擇的Linux

原创 P4語言編碼及規範

1.源碼目錄結構 P4項目源碼可以在github上直接獲取(https://github.com/p4lang)。P4項目由很多個單獨的模塊組成,每個模塊就是一個子項目,下面分別簡單介紹一下各模塊的功能。 (1)behavioral-mo

原创 網絡設備之監測連接狀態

通常網絡設備會定時地檢測設備是否處於可傳遞狀態。當狀態發生變化時,會調用netif_carrier_on或者netif_carrier_off來通知內核; 從網上設備插拔網線或者另一端的設備關閉或禁止,都會導致連接狀態改變; netif_

原创 P4語言的特性、P4語言和P4交換機的工作原理和流程簡介

現有的SDN解決方案將控制平面與轉發平面分離,併爲我們提供了控制平面的可編程能力。而事實上,目前通過軟件編程實現的控制平面的功能,在傳統的高級交換機和路由器上也都能實現,差別是廠商把這些功能固化在了系統/硬件中,這些系統/硬件是封閉的,第

原创 CAJ文件不存在或不能正常訪問的解決辦法

事件:win10系統,裝了最新的CAJ軟件,從中國知網上下載的CAJ7.2,結果不能使用,打不開caj文件,提示“文件不存在或不能正常訪問“,搜索了網上刪除了註冊軟件後還是不行。   剛開始的試的方法: 法1——使用E-learnin

原创 Linux命令之md5sum的作用以及使用方法(md5是什麼?)

1. 背景    在網絡傳輸、設備之間轉存、複製大文件等時,可能會出現傳輸前後數據不一致的情況。這種情況在網絡這種相對更不穩定的環境中,容易出現。那麼校驗文件的完整性,也是勢在必行的。     md5sum命令用於生成和校驗文件的md5值