ovs学习自用

ovs框架

 

当前最新代码包主要包括以下模块和特性:

ovs-vswitchd: 主要模块,实现switch的daemon,包括一个支持流交换的Linux内核模块;
ovsdb-server: 轻量级数据库服务器,提供ovs-vswitchd获取配置信息,例如vlan、port等信息;
ovs-brcompatd: 让ovs-vswitch替换linux bridge,包括获取bridge ioctls的Linux内核模块;
ovs-dpctl:用来配置switch内核模块;
ovs-vsctl: 查询和更新ovs-vswitchd的配置;
ovs-appctl: 发送命令消息,运行相关daemon;
ovs-ofctl: 查询和控制OpenFlow交换机和控制器;
ovs-openflowd:一个简单的OpenFlow交换机;
ovs-controller:一个简单的OpenFlow控制器;
ovs-pki:OpenFlow交换机创建和管理公钥框架;
ovs-tcpundump:tcpdump的补丁,解析OpenFlow的消息;
ovs-bugtool:管理openvswitch的bug信息。

ovs的port

 

 

 SDN控制器

6. SDN - SDN控制器 - 《SDN网络指南》 - 书栈网 · BookStack

 

 

 

 

 

 

 

ovs-vsctl 命令详解
网桥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状态显示连接控制器是否成功

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


其他
一条命令创建bridge br0的,并添加eth0到br0中
ovs-vsctl add-br br0 -- add-port br0 eth0
设置OpenFlow版本

ovs-vsctl set bridge br0 protocols=OpenFlow10,OpenFlow13
————————————————

Panta rhei

原文链接:https://blog.csdn.net/m0_63624418/article/details/130435793

 

 

 

 

实验

test_bg是ovs网桥

test和test2是netns

netns_test是虚拟网卡

 

 

 流表实验,把本地的命名空间的网卡和vxlan端的ip改成一致,此时会有IP冲突,ping会断开

 

 

posted @ 2024-06-04 17:16  羽喬  阅读(69)  评论(0)    收藏  举报
levels of contents