主要参考https://www.cnblogs.com/wangjq19920210/p/8999887.html
[TOC]
网桥Bridge
创建 Bridge
ovs-vsctl add-br br0
删除 Bridge
ovs-vsctl del-br br0
列出 Bridge
ovs-vsctl list-br
显示详情
ovs-vsctl show
端口 Port
添加端口
ovs-vsctl add-port br0 p1
其中br0 为上面添加的bridge
p1可以是物理端口或者vNic,
添加虚拟网卡可以使用ip tuntap add mod tap p1
详见ip tuntap
命令
移除端口
ovs-vsctl del-port p1
列出端口
ovs-vsctl list-ports br0
查看端口详细数据
ovs-vsctl list interface p1
OF控制器
添加控制器
# ovs-vsctl set-controller <bridge> <target...>
ovs-vsctl set-controller br0 tcp:1.2.3.4:6653
ovs-vsctl set-controller br0 tcp:1.2.3.4:6633 tcp:4.3.2.1:6633
移除控制器
ovs-vsctl del-controller br0
查询控制器
ovs-vsctl get-controller br0
注:命令
ovs-vsctl show
会显示is_connected
状态显示连接控制器是否成功
c62114e0-32e9-465f-82ef-7c51f8570471
Manager "ptcp:6640:127.0.0.1"
Bridge "br1"
Controller "tcp:192.168.2.100:6653"
is_connected: true
Port "enp1s0"
Interface "enp1s0"
Port "p2"
Interface "p2"
Port "p1"
Interface "p1"
Port "br1"
Interface "br1"
type: internal
Vlan相关
配置端口为Access口
ovs-vsctl set port eth0 tag=10
设置br0中的端口eth0为VLAN 10的access口
添加eth1到指定bridge br0中,同时将其配置成指定VLAN 10的access端口
ovs-svctl add-port br0 eth1 tag=10
配置端口为Trunk口
在br0上添加port eth1为VLAN 10,11的trunk
ovs-vsctl add-port br0 eth1 trunk=10,11
- 在bridge ovs0中添加远端IP为10.10.10.1的VXLAN endpoint端口vxlan0
# key=100表示设置vni为100,不设置默认为0
ovs-vsctl add-port ovs0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=10.10.10.1 options:key=100
# 不设key值,vni默认为0
ovs-vsctl add-port ovs0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=10.10.10.1
# key=flow的话,表示该port的vni可以通过openflow的actions来进行设置
# 如: actions=set_field:100->tun_id
# 或: actions=set_tunnel:100
ovs-vsctl add-port ovs0 vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=10.10.10.1 options:key=flow
其他
- 一条命令创建bridge br0的,并添加eth0到br0中
ovs-vsctl add-br br0 -- add-port br0 eth0
重点应该是
--
- internal port
ovs-vsctl add-br br0 in0 -- set interface in0 type=internal
ip addr add 10.10.10.10/24 dev in0
# 创建internal port的同时将其设置为VLAN 10的access port
ovs-vsctl add-br br0 in1 tag=10 -- set interface in1 type=internal
ip addr add 20.20.20.20/24 dev in1
- 将已在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,OpenFlow13