移植中出现问题:unknown symbol gre_cisco_register
官方文档给出了以下提示:
To compile the kernel module on Linux, you must also install the following:
A supported Linux kernel version.
For optional support of ingress policing, you must enable kernel configuration options NET_CLS_BASIC, NET_SCH_INGRESS, and NET_ACT_POLICE, either built-in or as modules. NET_CLS_POLICE is obsolete and not needed.)
On kernels before 3.11, the ip_gre module, for GRE tunnels over IP (NET_IPGRE), must not be loaded or compiled in.
To configure HTB or HFSC quality of service with Open vSwitch, you must enable the respective configuration options.
To use Open vSwitch support for TAP devices, you must enable CONFIG_TUN.
To build a kernel module, you need the same version of GCC that was used to build that kernel.
A kernel build directory corresponding to the Linux kernel image the module is to run on. Under Debian and Ubuntu, for example, each linux-image package containing a kernel binary has a corresponding linux-headers package with the required build infrastructure.
但是不启用NET_IPGRE,则会提示一些gre函数找不到符号表,而导致ko加载失败.
后来翻看了openvswitch各个版本的说明,在老版本上提示必须启用CONFIG_NET_IPGRE_DEMUX.尝试之后,果然是没有打开CONFIG_NET_IPGRE_DEMUX的缘故
网友评论