openvswitch2.11.0修改源码后重新编译

一:推文

https://www.jianshu.com/p/923f49c290f5(可以删除运行当中的DataPath内核)

https://github.com/ebiken/doc-network/wiki/How-To:-Install-OVS-(Kernel-Module)-from-Source-Code(删除内核文件openvswitch.ko)已以及正常编译方法

https://installlion.com/ubuntu/xenial/main/o/openvswitch-switch/uninstall/index.html(卸载ovs)

二:实验

大多问题如下修改:

https://github.com/openwrt/packages/commit/5ed85c0389c5672fbbff4ae5cc55e29f0c9b117a

make环节出现下面错误:

解决方法:https://code.tendi.cn/openwrt/packages/src/3d7970b16965584a91e33fc2269185ff57cad7bd/net/openvswitch/patches/0005-datapath-conntrack-fix-include-for-IP6_DEFRAG_CONNTR.patch

我们在conntrack.c头文件中加上
#include <net/netfilter/nf_conntrack_seqadj.h>
#include <net/netfilter/nf_conntrack_zones.h>
#include <net/netfilter/ipv6/nf_defrag_ipv6.h>
+#include <net/ipv6_frag.h>  注意这是我们要加入的

如果在make install出现下面错误:

一般是我们上一次安装过该文件,我们在make之前应该先使用make clean操作,之后进行make和make install

不管怎么说,sudo make modules_install之后,使用modinfo datapath/linux/openvswitch.ko查看内核信息,终于是在openvswitch-2.11.0/datapath/linux/openvswitch.ko我们的安装目录下了

将路径插入kernel内核时,遇到问题

njzy@njzy-Inspiron-5493:/opt/openvswitch/openvswitch-2.11.0$ sudo modprobe openvswitch
modprobe: ERROR: could not insert 'openvswitch': Required key not available

https://blog.csdn.net/hardlearn/article/details/77658890 

实体机签名解决方案如下:重启可能有所出入:

https://blog.csdn.net/buxiangxiedaima/article/details/107642093 

当然,除此之外还有函数重定义等错误,一般是由于和系统内核函数冲突,如果没有影响,可以直接注释即可。

三:总结

其实到这里没有完事,之前的操作是在双系统环境下安装,出现上述问题,导致....

于是,删除了双系统,重新在win10下面使用Vmware进行操作。环境依旧是Ubuntu18.04+mininet+ryu+openvswitch2.11.0

见下一篇文章。(这片中的错误解决方案还是有点用,先留着)

posted @ 2019-11-19 13:52  山上有风景  阅读(1369)  评论(0编辑  收藏  举报