kylinV10内核版本4.19.90-25.0编译安装openvswitch不支持geneve

1、背景

os : Kylin V10
内核:4.19.90-25.0
现象:编译安装openvswitch,多节点租户网使用geneve,发现无法通信
在这里插入图片描述

2、排查问题

多节点执行,ovs-vsctl show (发现br-int报错,geneve port端口报错)
其中一个节点报错,could not add network device ovn-baaeb8-0 to ofproto (Address family not supported by protocol)
其他节点,diagnostic="No Diagnostic", flap_count="0", forwarding="false", remote_diagnostic="No Diagnostic", remote_state=down, state=down

3、解决问题

1. 编译安装其他版本openvswitch仍然存在问题
2. ll /lib/modules/4.19.90-25.0.v2111.ky10.sw_64/kernel/net/openvswitch/ 查看目录,发现没有vport-geneve.ko文件
3. lsmod | grep geneve 发现内核模块没有genve
4. 因无有权限账号,决定投机取巧,找到了openeuler相同内核版本的源码 [geneve源码文件](https://gitee.com/openeuler/kernel/blob/4.19.90-2111.7.0/drivers/net/geneve.c#)
5. 将geneve.c文件下载下来,放到/usr/src/kernels/4.19.90-25.0.v2111.ky10.sw_64/drivers/net/目录(如果没有内核目录,yum install kernel-devel试一试)
6. cd /usr/src/kernels/4.19.90-25.0.v2111.ky10.sw_64/drivers/net 备份原有Makefile,重新编写Makefile(详细内容在下面)
7. make -C /lib/modules/`uname -r`/build M=`pwd`,即可编译geneve.ko成功
8. cp geneve.ko  /usr/lib/modules/4.19.90-25.0.v2111.ky10.sw_64/kernel/drivers/net
9. cp geneve.ko  /opt/cpio/kernel/lib/modules/4.19.90-25.0.v2111.ky10.sw_64/kernel/drivers/net(这一步有些情况不需要)
10. modprobe geneve(如果报错modprobe: fatal: module geneve not found in directory /lib/modules,执行modprobe之前,执行depmod -a)
11. lsmod | grep geneve 验证已有geneve模块
12. 将geneve.ko放到开机模块自动加载 vim /etc/modules-load.d/geneve.conf, 输入geneve

在这里插入图片描述

# Makefile
KERNELDIR := /usr/src/kernels/4.19.90-25.0.v2111.ky10.sw_64
CURRENT_PATH := $(shell pwd)
obj-m := geneve.o
build: kernel_modules
kernel_modules: 
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

以上为个人解决方案,谨在此记录,方便后续查找,希望能帮助到有需要的伙伴儿~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

py_op_dev

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值