已开启
networkmanager管理 ovs(使能dpdk后)创建出的interface #63
AtomGit-Bot创建于  2021年7月5日
AtomGit-Bot
2021年7月5日 创建

问题描述:
Openeuler20.03 LTS SP1 ,版本下使用NetworkManager无法管理ovs创建出的interface (ovs使能了dpdk).

软件版本:
openvswitch-2.12.0-8.oe1.x86_64
openvswitch-help-2.12.0-8.oe1.x86_64

dpdk-debugsource-19.11-5.oe1.x86_64
dpdk-tools-19.11-5.oe1.x86_64
dpdk-devel-19.11-5.oe1.x86_64
dpdk-debuginfo-19.11-5.oe1.x86_64
dpdk-doc-19.11-5.oe1.noarch
dpdk-19.11-5.oe1.x86_64

复现步骤:
安装ovs和dpdk后,为ovs增加dpdk配置
ovs-vsctl set Open_vSwitch . other_config:dpdk-init=true
ovs-vsctl set Open_vSwitch . other_config:dpdk-socket-mem="128,128"
ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x40
ovs-vsctl set Open_vSwitch . other_config:pmd-rxq-assign=roundrobin
systemctl restart openvswitch.service

创建datapath为netdev的网桥
ovs-vsctl add-br br4 -- set bridge br4 datapath_type=netdev
ovs-vsctl show
c9bdb142-b3b1-4b53-bad1-ccdf3defab08
Bridge "br4"
datapath_type: netdev
Port "br4"
Interface "br4"
type: internal
ovs_version: "2.12.0"

确认ovs Interface的类型
ip --details link show br4
15: br4: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether b2:72:76💿ea:4e brd ff:ff:ff:ff:ff:ff promiscuity 1 minmtu 68 maxmtu 65521
tun type tap pi off vnet_hdr off persist on addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535

查看device
nmcli device
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
eth1 ethernet connected static-eth1
docker0 bridge connected (externally) docker0
lo loopback unmanaged --
br4 tun unmanaged --
ovs-netdev tun unmanaged --

尝试增加tun连接
nmcli connection add con-name br4 ifname br4 type tun autoconnect yes ip4 192.168.122.9/24
Connection 'br4' (182c527f-ad20-4844-ad23-0e430802133f) successfully added.
ip addr show br4
10: br4: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether ca:1a:e0:f0:7a:47 brd ff:ff:ff:ff:ff:ff

启用连接
nmcli conn up br4
Error: Connection activation failed: Failed to find a compatible device for this connection

沟通:
Q: 当前将ovs-bridge的device,建成tun的链接,是会有什么好处吗?(我们建议建成ovs-bridge的链接)
A:当ovs使能dpdk后,ovs数据平面是用户态的, 其internal的接口就是tun/tap类型的.ovs软件就是这么设计的。

openEuler同事初步结论:
因为nmcli内部存在device和connection的类型匹配判断,所有当前这种ovs-bridge的配置 NetworkManager还不支持,就先使用network-scripts配置。

需求:
期望networkmanager可以管理 ovs(使能dpdk)创建出的interface

likedislike
AAtomGit-Bot
2021年7月5日 将关联仓库设置为src-openEuler/NetworkManager
AAtomGit-Bot
2021年7月5日 创建了需求
openeuler-ci-bot
openeuler-ci-bot成员
2021年7月5日 评论:

Hey ctyunsystem, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

likedislike
openeuler-ci-botopeneuler-ci-bot成员
2021年7月5日 添加了 &nbsp; sig/Networking 标签
AAtomGit-Bot
2021年7月5日 修改了描述
AAtomGit-Bot
2021年7月5日 修改了描述
AAtomGit-Bot
2021年7月5日 修改了描述
disnightdisnight成员
2021年7月15日 将负责人设置为yanan-rock
disnightdisnight成员
2021年7月15日 将关联分支设置为openEuler-20.03-LTS-Next
disnightdisnight成员
2021年7月15日 将优先级设置为主要
暖阳成员
2021年7月27日 评论:

@ctyunsystem 本周有networking-SIG的例会,对于你的诉求,我们可以在会上交流一下:)

likedislike