ovs-vsctl 命令详解

By | 2021年10月15日
目录
[隐藏]

网桥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

参考:

作者:qboy0000
链接:https://www.jianshu.com/p/0df711b91f88
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注