OVS相关快速查找笔记
研究生一年总结的ovs相关笔记,感谢mininet和ovs和openflow陪伴我这么久,都磨出感情了。
虽然一年了还是没有什么长进,这个笔记还是值得record的。加油吧!
代码路径
#内核态代码: /ovs/datapath/veridp-*
#用户态:/ovs/lib/
#只有内核流表匹配失败的时候才会upcall到用户态去查,入口函数在/ovs/datapath/actions.c下的do_execute_actions,然后转veridp的pipeline处理。
ip操作
#查看已有网卡逻辑名
ls /sys/class/net/
#查看MAC地址
sudo lshw -c network | grep serial
#修改IP
sudo vim /etc/netplan/50-cloud-init.yaml
netplan apply
或者
sudo vim /etc/network/interfaces
sudo /etc/init.d/networking restart
auto lo iface lo inet loopback
auto eth0 iface eth0 inet dhcp
auto eth1 iface eth1 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway
dns
OVS
#新建网桥
ovs-vsctl add-br s1
ovs-vsctl add-br s2
#删除网桥
ovs-vsctl del-br s1
#添加接口
ovs-vsctl add-port edge1 patch-to-agg1 -- set interface patch-to-agg1 type=patch options:peer=patch-to-edge1
#type=normal:
把操作系统中已有的网卡(物理网卡em1/eth0,或虚拟机的虚拟网卡tapxx)挂载到ovs上,ovs会生成一个同名Port处理这块网卡进出的数据包。此时端口类型为Normal。(注意:挂载到OVS上的网卡设备不支持分配IP地址,因此若之前eth1配置有IP地址,挂载到OVS之后IP地址将不可访问。这里的网卡设备不只包括物理网卡,也包括主机上创建的虚拟网卡)#type=internal:
OVS内部创建的虚拟网卡接口,每创建一个Port,OVS会自动创建一个同名接口(Interface)挂载到新创建的Port上。(注意:在OVS中,只有”internal”类型的设备才支持配置IP地址信息)#type=patch:
当主机中有多个ovs网桥时,可以使用Patch Port把两个网桥连起来。Patch Port总是成对出现,分别连接在两个网桥上,从一个Patch Port收到的数据包会被转发到另一个Patch Port,类似于Linux系统中的veth。使用Patch连接的两个网桥跟一个网桥没什么区别,OpenStack Neutron中使用到了Patch Port。
#删除接口