美文网首页
ovs-vsctl 命令详解

ovs-vsctl 命令详解

作者: qboy0000 | 来源:发表于2019-08-26 19:09 被阅读0次

    主要参考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

    参考:
    https://www.cnblogs.com/wangjq19920210/p/8999887.html

    相关文章

      网友评论

          本文标题:ovs-vsctl 命令详解

          本文链接:https://www.haomeiwen.com/subject/tdndectx.html