ovsdb《6》實踐測試

2021-09-29 06:43:41 字數 3382 閱讀 1116

4.1.1需要準備的材料

1、執行的ubuntu虛擬機器,髮型版本為15.04,核心版本為3.19.0-65-generic,保證機器能聯網;

2、openvswitch**,版本號為2.5.0,可以從openvswitch官網中獲取;

3、注意事項:注意使用的過程中需要檢視openvswitch版本和linux核心的對應關係,在openvswitch官網中有相應的介紹,否則會出現載入ovs的.ko檔案失敗的情況;

4.1.2具體實踐細節及步驟

1、首先需要安裝依賴條件apt-get -y install automake autoconf libssl-dev gcc uml-utilities libtool build-essential git pkg-config linux-headers-uname -r,這些依賴條件是編譯openvswitch原材料的時候必備的一些工具,比如說執行./boot.sh的時候會依賴autoconf等;

2、將獲取到的openvswitch源**放到合適的目錄中,並解壓縮,進入解壓縮的目錄執行./boot.sh和 ./configure --with-linux=/lib/modules/uname -r/build;

3、然後執行make和make install,中間出現的編譯問題解決相應的編譯問題即可;

4、載入核心模組。首先檢視openvswitch依賴哪些模組,使用如下命令檢視modinfo ./datapath/linux/openvswitch.ko,然後使用modprobe載入相應的模組即可,然後載入openvswitch.ko到核心insmod ./datapath/linux/openvswitch.ko,使用lsmod | grep open檢視是否載入成功,如果仍然有載入失敗則需要檢視核心和openvswitch版本是否對應;

5、建立資料庫,ovsdb-tool create /usr/local/etc/openvswitch/1.db預設使用/usr/local/share/openvswitch/vswitch.ovsschema檔案建立.db資料庫(這裡.db和.ovsschema檔案均可以自己定義,在具體的使用過程中,我們需要根據自己所寫的schema檔案來建立自己的資料庫檔案來實現交換機中的配置的資料庫);

6、啟動資料庫,ovsdb-server /usr/local/etc/openvswitch/conf.db /usr/local/etc/openvswitch/1.db --remote=punix:/usr/local/var/run/openvswitch/db.sock --pidfile –detach,以守護程序的方式執行,這裡主要使用unix的sock方式來完成jsonrpc的操作的;

7、初始化資料庫並啟動vswitchd程序,ovs-vsctl --no-wait init、ovs-vswitchd --pidfile –detach(實際在使用資料庫的過程中,我們並不需要啟動這些程序,這些程序實際上是涉及到openvswitch的各種配置和執行);

8、至此,所有的openvswitch的配置均完成了;

注:在編譯源**的過程**現了編譯失敗的情況,具體對應的的是openvswitch-2.5.0/datapath/中目錄下的actions.c檔案的v6ops->fragment(skb->sk, skb, ovs_vport_output);呼叫時顯示引數過多,這裡在具體的函式對應關係並未發現引數過多的情況,將該句注釋掉或者減少乙個引數時則編譯通過,由於該句為ipv6報文的分片處理的情況,不會影響後面的ovsdb的實踐,暫時將其注釋掉來解決編譯問題;

4.1.3編譯自己設計的schema檔案並生成相應的.c和.**件

1、準備相應的資料夾和檔案,這裡自己在ovs的主目錄下隨意建立資料夾my_config;

2、然後準備乙個automake.mk檔案,該檔案中需要做如下設定:

# my_config idl

ovsidl_built +=

my_config/my_config-idl.c

my_config/my_config-idl.h

my_config/my_config-idl.ovsidl

extra_dist += my_config/my_config-idl.ann

my_config_idl_files =

$(srcdir)/my_config/my_config.ovsschema

$(srcdir)/my_config/my_config-idl.ann

my_config/my_config-idl.ovsidl: $(my_config_idl_files)

katex parse error: double subscript at position 6: (am_v_̲gen)(ovsdb_idlc) annotate $(my_config_idl_files) > [email protected] &&

mv [email protected] $@

lib_ltlibraries += my_config/libmy_config.la

my_config_libmy_config_la_ldflags =

-version-info (lt

curr

ent)

:(lt_current):

(ltc​u

rren

t):(lt_revision):katex parse error: undefined control sequence: \ at position 10: (lt_age) \̲ ̲ -wl,--version-…(top_builddir)/my_config/libmy_config.sym

$(am_ldflags)

nodist_my_config_libmy_config_la_sources =

my_config/my_config-idl.c

my_config/my_config-idl.h

備註:由於我們只需要生成.c和.**件,所以我們暫時不需要.xml檔案並生成相應的document,將automake.mk中其餘配置均刪除;

3、準備乙個my_config-idl.ann檔案,做如下設定:

s[「idlprefix」] = 「my_configrec_」

s[「idlheader」] = 「「my_config/my_config-idl.h」」

4、準備乙個my_config.sym.in檔案,做如下設定:

libmy_config_@lt_current@ ;

5、準備乙個schema檔案,該檔案就是我們用於生成.c和.h的原材料;

6、在主目錄下的makefile.am檔案中加入步驟1中的automake.mk的路徑:

include my_config/automake.mk

7、做好上述的步驟之後,再按照4.1.2中的編譯方法編譯即可得到我們所需的.c和.**件,並可以得到我們所需的.o檔案;

6年測試管理經驗實踐分享

專案背景簡介 公司是做android系統手機,也可以說是國內某手機代工廠,硬體採用某通晶元等,軟體部分先做出平台版本,在此為基礎二次開發做定製機 團隊建設 最多測試團隊佔20人,分三個測試小組,每個小組有乙個測試組長 高階測試工程師 帶領,小組之間分屬不同晶元廠商測試,互不干擾,特殊情況有測試經理做...

測試驅動實踐

wms3.0 的後台業務部分採用了測試驅動的開發方式。在開發過程中,對 pbunit 做了一次比較大的公升級,讓測試變得更容易和穩固。在我們的 tdd中,與標準的 tdd還是有一些不同的,在此列出我們的 tdd過程 1 設計,定義介面 2 測試概要設計 在 excel 中定義測試的場景 輸入 輸出 ...

軟體測試實踐

隨著中國軟體企業的不斷發展,對軟體測試 的重視也被提上了企業的發展日程。很多大中型軟體 企業開始大量招聘專業人員負責軟體測試 目前我國的軟體測試人員和開發 人員的比例大致在 1 4,雖然和國際先進水平的 1 1 還有一定差距,但是比起最初的 1 8 有了很大的提公升。但是從目前的需求角度來講仍然遠遠...