ovs-vsctl
OpenvSwitch中常用的命令:
- ovs-vsctl用于控制ovs db
- ovs-ofctl用于管理OpenFlow switch 的flow
- ovs-dpctl用于管理ovs的datapath
- ovs-appctl用于查询和管理ovs daemon
桥相关
查询主机上的网桥和端口:
ovs-vsctl show
创建一个网桥
使用选项--may-exist后,若欲创建的bridge已存在,该命令什么也不做,也不报错。
ovs-vsctl add-br br0 ovs-vsctl set bridge br0 datapath_type=netdev
删除网桥
使用选项--if-exists后,若欲删除bridge不存在,该命令什么也不做,也不能报错。
ovs-vsctl [--if-exists] del-br br0
查询已有的bridge
ovs-vsctl list-br
端口相关命令
添加端口
ovs-vsctl add-port br0 eth1
移除端口
从br0上移除端口eth1
ovs-vsctl [--if-exsits] del-port br0 eth1
列出端口
列出br0上的端口(不包括internal port)
ovs-vsctl list-ports br0
查看端口详细数据
ovs-vsctl list interface eth1
OpenFlow 控制器相关
ovs-vsctl set-controller br0 tcp:1.2.3.4:6633
设置多个控制器
controller ovs-vsctl set-controller br0 tcp:1.2.3.4:6633 tcp:4.3.2.1:6633
添加使用unix socket通信的
controller ovs-vsctl set-controller br0 unix:/var/run/xx/xx.sock
移除控制器
ovs-vsctl del-controller br0
查询brige上已配置的控制器
ovs-vsctl get-controller br0
VLAN相关
配置端口为Access口
设置(br0中的端口)eth0为VLAN 10的access口
ovs-vsctl set port eth0 tag=10
添加eth1到指定brigdge br0中,同时将其配置成指定VALN 10的access端口
ovs-vsctl add-port br0 eth1 tag=10
配置端口为Trunk口
在br0上添加port eth1 为VLAN 1,10,11的trunk
ovs-vsctl add-port br0 eth1 trunk=9,10,11
VXLAN相关
key=100表示设置vni为100,不设置默认为0 在bridge ovs0中添加远端IP 为10.10.10.1的VXLAN endpoint端口vxlan0
ovs-vsctl add-port ovs0 vxlan0 --set interface vxlan0 type=vxlan options:remote_ip=10.10.10.1 options:key=100
一条命令创建bridge br0,并添加eth0到br0中
ovs-vsctl add-br br0 -- add-port br0 eth0
创建internal port
OVS internal port 可以配置IP地址,普通port上配置的IP地址是不起作用的,在br0上创建一个internal port in0. ovs-vsctl add-br br0 in0 --set interface in0 type=internal ip addr add 10.10.10.10/24 dev in0
设置 OpenFlow port id
将已在ovs中的端口veth1的OpenFlow端口设置成100
ovs-vsctl set interface veth1 ofport_request=100
将端口veth1添加到bridge br0中,并将veth1的OpenFlow端口设置成200
ovs-vsctl add-port br0 veth1 -- set interface veth1 ofport_request=200
设置 OpenFlow版本
ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow12,OpenFolw13 转载链接:www.cnblogs.com/wangjq19920…