- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2023-9-20 18:16:48
|
显示全部楼层
OVS-SETUP" f+ n3 E; P! S7 s) g6 D! Y
. p( I; d9 W* V9 ~4 ?1 J) R4 w1、清除之前的环境 f* T; }: Q x) V
killall ovsdb-server ovs-vswitchd
$ |; N, ]" U% I% F8 [* Qrm -f /var/run/openvswitch/vhost-user*- `- S1 K3 ]6 G4 I# X7 c# }
rm -f /etc/openvswitch/conf.db
) n1 F. D& r! ^! h
9 S, E7 T. d+ Z. r7 E. S2、启动ovsdb0 Z) y6 `- k9 h+ p1 s
2 a4 F# v) t' e" s: K: kexport DB_SOCK=/var/run/openvswitch/db.sock
; `- x5 @7 u' L0 x7 G, d
- r: }( k) P* O0 W, V( ~3 X: Uovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema
/ u, ^8 }# e. ]) }6 \/ S$ u- b( @ovsdb-server --remote=punix:$DB_SOCK --remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach4 O6 ?' i" P; z
ovs-vsctl --no-wait init; d+ {: P) l9 K$ T
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x2 //绑定到第2个cpu核上, Q$ {) [: W0 j q0 |) Q& w
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=4096. k, T) j- X1 P# U0 k
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true4 x- ^! G+ g1 w( q5 Q$ p1 q
启动ovs-vswitch, W& v) M/ _$ c
ovs-vswitchd unix:$DB_SOCK --pidfile --detach --log-file=/var/log/openvswitch/ovs-vswitchd.log
, V! H- b) w. k* l
2 i' \8 O+ K- y; o$ S8 `" h7 T7 j/ j( G/ l& |+ h" l
3、查看支持DPDK是否成功:
* {/ Z: q; ^. ]! v' P
( \3 h6 ~( S9 _; Y9 @3 I# qovs-vsctl get Open_vSwitch . dpdk_initialized
0 S' N' Z1 p7 i% u: n \7 ztrue
0 @& K. ]8 l/ X" j; D5 M( C& \; w# w
配置bridge; l/ k7 o( P; `% N+ g
1 ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev+ W Z/ Z }' Q9 u; S( M! i$ R
- x4 W" {) s6 ^* L/ N. [
2、添加vhost-user-client-0/1 端口需要指定vhost-server-path值,表示socket文件路径。
' ^6 z! g& ~4 U( H$ kovs-vsctl add-port ovsbr0 vhost-client-0 -- set Interface vhost-client-0 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock01 z; ?6 F4 x2 ^! T0 k. l/ P
ovs-vsctl add-port ovsbr0 vhost-client-1 -- set Interface vhost-client-1 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock14 @4 b2 G% h1 x* T) C! O
ovs-vsctl show
! z3 i2 ?- v! B# r" M0 G3 I+ }0 N
在网桥ovsbr0上绑定真实dpdk的物理网卡" S9 s$ U, u z @5 i
) u, W! t4 c( X- s. W! Y- k" rovs-vsctl add-port ovsbr0 dpdkport0 -- set Interface dpdkport0 type=dpdk option:dpdk-devargs=0000:02:00.0$ T k7 X9 P+ f
8 v- J& x! b5 [& H
注:可以修改ovs桥中端口的mtu值方法如下:该命令设置可以在数据库持久,也可以配置物理接口/ e3 Y% w5 D' L/ M
ovs-vsctl set interface ovsbr0 mtu_request=9000" o/ T% C5 E( S3 S4 b
ovs-vsctl set interface dpdkport0 mtu_request=9000( o* D: J1 \- U) F8 L$ f
ovs-vsctl set interface vhost-client-1 mtu_request=9000 t( q/ @- ^2 L
ovs-vsctl set interface vhost-client-0 mtu_request=9000
* T" x( g6 n. D d6 o: W }
3 K$ O/ K: r2 u# {* o L. Z' [) U该命令清除恢复到默认的MTU
8 ^9 w6 _ S2 s- _1 x
; E( F* i1 s9 J" eovs-vsctl set interface vhost-client-0 mtu_request=[]7 ~- O$ k* A) b; d; E4 u/ q
. \& K5 Z$ ^* s! k! {' F
也可以直接使用添加端口的时候指定mtu值如下方式:
; Z/ r% _0 L( S; E( w! U) p* Y4 U. O6 |8 |! w
1 l1 H" q+ @3 ~) k6 F) _
ovs-vsctl add-port ovsbr0 vhost-client-0 -- set Interface vhost-client-0 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock0 mtu_request=9000
/ K i/ X9 W' n: A+ ?. w) y7 ]- n4 W- `( `
# k$ g( T0 l( E9 E4 qovs-vsctl add-port ovsbr0 vhost-client-1 -- set Interface vhost-client-1 type=dpdkvhostuserclient options:vhost-server-path=/usr/local/var/run/sock1 mtu_request=9000
: w! m" a' t* u; f ovs-vsctl add-port ovsbr0 dpdkport0 -- set Interface dpdkport0 type=dpdk option:dpdk-devargs=0000:02:00.0 mtu_request=9000
/ {. s. ^0 u5 M$ D |
|