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
见下一篇文章。(这片中的错误解决方案还是有点用,先留着)