1. 程式人生 > >Open vSwitch之連線管理

Open vSwitch之連線管理

連線管理模組是Open vSwitch中非常重要的模組,如果能夠熟悉掌握其中的關聯結構,對於開發Open vSwitch起到事半功倍的效果。寫這篇部落格是比較難寫的,因為裡面涉及層次比較多,生怕梳理不到位,反而誤導大家。
Open vSwitch中雖然註釋不多,但是它的層次結構非常好而且函式也非常短小。如果閱讀過此套程式碼的人會有比較深入的感觸。通過閱讀程式碼可知道,在Open vSwitch中所有函式名、結構體名字定義在標頭檔案中都是介面類,相應的定義到原始檔中函式、結構體都是內部類,而且函式都是靜態函式。這裡需要澄清一下概念,此處提到類並非是C++中的類,而是廣義的概念,也就是說Open vSwitch是採用面向物件思想,採用C語言實現的一套軟體。
一、結構體
我們還是從結構體入手把,因為結構體是軟體的靈魂和橋樑。只有將結構體分析透徹才能梳理出整個軟體的架構層次。

外部流結構(外部介面):

C
1 2 3 4 5 6 7 8 9 10 11 /* Active stream connection. 主動 流連線*/   /* Active stream connection. * * This structure should be treated as opaque by implementation. */
struct stream {      const struct stream_class * class ; /* 實際 流物件 */      int state ; /* 連線狀態 取值為SCS_CONNECTING等列舉 */      int error ; /* 錯誤碼 */      char * name ; /* 形式hostIP:port 例如name = "127.0.0.1:6653"  */ } ;

流物件(外部介面):

C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 struct stream_class {

相關推薦

Open vSwitch連線管理

連線管理模組是Open vSwitch中非常重要的模組,如果能夠熟悉掌握其中的關聯結構,對於開發Open vSwitch起到事半功倍的效果。寫這篇部落格是比較難寫的,因為裡面涉及層次比較多,生怕梳理不到位,反而誤導大家。 Open vSwitch中雖然註釋不多,但是它的層次結構非

Boos::asio伺服器開發連線管理

boost.asio相信很多人聽說過,作為一個跨平臺的通訊庫,它的效能是很出色的,然而它卻談不上好用,裡面有很多地方稍不注意就會出錯,要正確的用好asio還是需要花一番精力去學習和實踐的,本文將通過介紹如何寫一個簡單的通訊程式來告訴讀者如何使用asio,希望對asio的初

[從原始碼學設計]螞蟻金服SOFARegistry網路操作連線管理

# [從原始碼學設計]螞蟻金服SOFARegistry網路操作之連線管理 [toc] ## 0x00 摘要 SOFARegistry 是螞蟻金服開源的一個生產級、高時效、高可用的服務註冊中心。 本系列文章重點在於分析設計和架構,即利用多篇文章,從多個角度反推總結 DataServer 或者 SOFAR

java程式設計師菜鳥進階(七) HTTP權威指南 HTTP連線管理及對TCP效能的考慮

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Open vSwitch(OvS)原始碼分析工作流程(flow流表查詢)

前面分析了Open vSwitch幾部分原始碼,對於Open vSwitch也有了個大概的理解,今天要分析的程式碼將是整個Open vSwitch的重中之重。整個Open vSwitch的核心程式碼在datapath檔案中;而datapath檔案中的核心程式碼又在ovs_dp_process_re

連線Spring管理資料庫連線

一、資料庫連線的管理模式     1.每次請求建立新的連線  Connection=DriverManager.getConnection("jdbc:oracle:thin:@10.1.53.30:1521:project","project","project");

探索 OpenStack (7):Neutron 深入探索 Open vSwitch (OVS) + GRE Neutron節點篇

0. 測試環境 OpenStack配置: tenant:三個tenant:demo,tenant-one,tenant-two network:三個tenanet公用public network,每個tenant擁有自己的subnet,都有一個router連線自己的subnet到public n

maven 依賴管理

-- tomcat7 oca bsp nco 測試的 plugins 1.2 聚合 1. 基本配置: <!-- dependencies 該標簽下可以配置多個依賴 --> <dependencies> <!-- 配置一個依賴

JavaWeb學習入門——圖書館管理系統開發(Hibernate學習1)

pass ica void 技術分享 gets 學習 images 創建 driver 最近看了看JavaWeb的書籍,才感覺到大二時候學的JavaWeb才僅僅只是個入門。最尷尬的當初還沒咋學一直在看.NET,現在看起來JavaWeb,各種框架各種頭疼啊。看了幾個例子之後覺

SaltStack實戰配置管理-Jinja2模板

saltstackSaltStack實戰之配置管理-Jinja2模板學習 SaltStackSaltStack實戰之配置管理-Jinja2模板1. Salt yaml配置文件使用Jinja2模板介紹1.1 File狀態使用template參數1.2 模板文件裏面變量使用{{ 名稱 }}1.3 變量列表2. 實

linux初級運維 目錄管理命令(ls,cd,pwd,mkdir)

linux 入門 ls命令:-list directory contents 命令描述:列出目錄內容 常用命令選項 -l:使用詳細格式列表。 -a:列出所有的文件和目錄(用來顯示以.開頭的隱藏文件)。 -A:顯示所有文件和目錄但不包括.和..(.表示

ABP module-zero +AdminLTE+Bootstrap Table+jQuery權限管理系統第十二節--小結,Bootstrap Table角色管理

增刪 習慣 etc 根據 很好 這不 update 必須 virtual 返回總目錄:ABP+AdminLTE+Bootstrap Table權限管理系統一期 很多人說ABP不適合高並發大型,有一定的道理,但是我覺得還是可以的,就看架構師的能

JavaWeb | | 角色管理的表結構設計和原理

添加 原理 com 數據庫表結構 效果 image 簡單 javaweb span 1, 根據實際工作的實際需要,不同的角色會有不同的權限,因此出現 角色管理,表結構總結如下: 首先:數據庫表結構: a.角色表: b.權限表: c.角

linux系統管理服務管理,ipv6,tcp_wrappers練習

linux系統管理之服務管理 ipv6 tcp_wrappers 服務管理ipv6tcp_wrappers本文出自 “大李子” 博客,謝絕轉載!linux系統管理之服務管理,ipv6,tcp_wrappers練習

[BZOJ1688][Usaco2005 Open]Disease Manangement 疾病管理

rate page nbsp discus line href diff str integer 1688: [Usaco2005 Open]Disease Manangement 疾病管理 Time Limit: 5 Sec Memory Limit: 64 MB S

7、正確的賺錢方式 - CEO公司管理經驗談

女孩子 健身 基本上 而是 創業 nbsp 等等 創辦 除了   創業者創辦公司,最初的目的就是為了賺錢,而普通的員工來公司上班,為了生計,也是以賺錢為目的。今天我們就講講正確的賺錢方式。   一、去公司上班;   來公司上班是第一個主要的賺錢方式。不管是員工還是公司領

Proxmox管理平臺

proxmoxProxmox VE是一個集成OPENVZ 支持KVM應用的環境。proxmox是一個開源的虛擬化管理平臺,支持集群管理和HA.在存儲方面,proxmox除了支持常用的lvm,nfs,iscsi,還支持集群存儲glusterfs和ceph,這也是我們選擇它的原因.Proxmoxhttps://w

HAProxy 頁面管理配置

haproxy 頁面管理 1 概述HAPorxy自帶管理頁面,通過一定的配置後開啟頁面功能,即啟用統計接口。默認該頁面只能查看,不能進行配置修改,啟用statspage中的管理功能2 配置介紹統計接口啟用相關的參數, 可以配置在frontend配置段裏或者將配置獨立出來,放到listen裏,獨立設

4、SaltStack配置管理

所有 clas 成了 use cat rod onf man 就是 配置管理小試 這裏有三個環境,base環境,測試環境,生產環境 註意:   1、base環境一定要有   2、top.sls(topfile)是入口文件,必須放在base環境下 # vim /etc/sl