原创 DPDK-22.11.2 [四] Virtio_user as Exception Path

因爲dpdk是把網卡操作全部拿到用戶層,與原生系統驅動不再兼容,所以被dpdk接管的網卡從系統層面(ip a/ifconfig)無法看到,同樣數據也不再經過系統內核。 如果想把數據再發送到系統,就要用到virtio user。這種把數據從d

原创 git rebase分支的流程和注意事項

比如有兩個開發了比較多功能的分支,或者在比較久的一次提交上做了一個hotfix,這個時候如果合併,通過ui查看會有一條額外的很長的線連接過來,不美觀,看起來也不方便。 可以用rebase進行變基,強行把兩個分支的內容合併到一起。 rebas

原创 zsh使用踩坑

zsh雖然和bash基本兼容,但是還有些區別,在使用時偶然出現,讓人抓不到頭腦。 中括號 [] 中括號在zsh中是關鍵字,而在bash中不是。所以如果使用的命令中有中括號,需要轉義 # 報錯 tcprewrite --pnat=[2001:

原创 IPv6 Internet Protocol version 6協議解析

簡介 1883定義了ipv6的協議,不過作廢了,在2460又重新做了定義,區別不大,只是有個別字段做了擴充。 2373和2374對ipv6的格式做了規定。 ipv6是下一代ip地址協議,比ipv4的地址更長,可以表示更多地址段。不過由於ip

原创 linux udp raw socket

tcp/udp網絡通信與socket實際上是兩個概念,不過因爲我們平常使用tcp/udp,不可避免的使用socket,所以認爲兩者是同一個事物。 我們現在所說的或者最常用到的都是BSD版本的socket。socket是對tcp/udp等網絡

原创 DPDK-22.11.2 [四] 官方basicfwd編譯運行講解

編譯安裝dpdk 綁定網卡驅動vfio 必須有兩個網口 配置LD_LIBRARY_PATH和PKG_CONFIG_PATH 編譯運行 basicfwd.c 這個程序是從一個網口獲取數據,然後發送到另一個網口,所以收發消息的代碼都有了,可以根

原创 DPDK-22.11.2 [三] 官方helloworld編譯運行講解

先安裝 dpdk編譯完成後,先運行ninja install把相關內容安裝到指定目錄。 ls /home/dpdkinstall bin include lib64 share bin——一些腳本(用於綁定驅動等),編譯的測試程序,

原创 DPDK 22.11.2 使用建議和注意事項

驅動 建議使用vfio-pci,依賴系統的vfio igb_uio從DPDK v20.02開始禁止編譯。可以通過CONFIG_RTE_EAL_IGB_UIO打開編譯。igb_uio計劃遷移到其他項目。 uio_pci_generic是lin

原创 dpdk編譯開發

下載源碼 http://core.dpdk.org/download/ 編譯 http://core.dpdk.org/doc/quick-start/ 安裝python3 安裝ninja yum install ninja-build

原创 Linux cpu 親緣性 綁核

前言 https://www.cnblogs.com/studywithallofyou/p/17435497.html https://www.cnblogs.com/studywithallofyou/p/16695550.html 上

原创 hyperscan使用

編譯產物 hyperscan編譯完成後有如下文件 ls -R .: include lib64 share ./include: hs ./include/hs: hs_common.h hs_compile.h hs.h h

原创 hyperscan編譯

hyperscan是intel開發的用於高效正則匹配的工具。適用場景就是數據量大,性能要求高,匹配關鍵字領域。 hyperscan會把需要檢測的關鍵字/正則表達式轉換成對應的db數據,然後使用這些db數據進行匹配。所以如果數據更改了,需要重

原创 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found

原因 使用的gcc沒有找到對應的glib庫。 每個版本的glib都會有改變,所以使用的時候必須匹配。 大部分是因爲自己編譯升級了gcc,再用新的gcc編譯程序時沒有找到當時匹配的類庫。 查找原因 報錯提示很明確了,/lib64/libstd

原创 火狐國際版國內版

有人擔心國內版夾帶私活,所以選擇了國際版。不過我是因爲原來windows下開發,默認查找下載的,當然是國內版。不過後來轉linux系統,默認下載的是國際版。這裏說明一下各個區別。 區別 國內版登錄是火狐通行證,數據保存在國內 國際版數據當

原创 golang繼承多態使用心得

很多人都說用go代替php或者java的最大短板就是寫業務太反人類。經過最近的一些使用,發現確實與常見的java或者c++這種有些區別,在這裏說明一下。 go繼承多態的現狀 go沒有類的概念 也沒有所謂的繼承多態。所以按照常規用法開發相應的