Hi all, Thanks your quick support first!
I did below 1. Update kernel to 3.10.0-123.8.1.el7.x86_64 2. I cherry-pick 4ae2b2c1c4c345d0cb5f5a6b0f20fd6afb4a6962 from branch 2.3, then generate one patch 3. After install patch, build again, the problem skb_zerocopy solved now, but still failed for below Any ideas? Thanks! In file included from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/dp_notify.c:20:0: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/genetlink.h:100:31: error: static declaration of 'genlmsg_new_unicast' follows non-static declaration static inline struct sk_buff *genlmsg_new_unicast(size_t payload, ^ In file included from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/genetlink.h:7:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/dp_notify.c:20: include/net/genetlink.h:162:17: note: previous declaration of 'genlmsg_new_unicast' was here struct sk_buff *genlmsg_new_unicast(size_t payload, struct genl_info *info, ^ In file included from include/net/ndisc.h:52:0, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../compat.h:25, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../datapath.h:29, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/dp_notify.c:24: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:9:8: error: redefinition of 'struct fast_hash_ops' struct fast_hash_ops { ^ In file included from include/linux/hash.h:18:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:4, from include/net/ndisc.h:52, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../compat.h:25, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../datapath.h:29, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/dp_notify.c:24: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/asm/hash.h:9:8: note: originally defined here struct fast_hash_ops; ^ In file included from include/net/ndisc.h:52:0, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from include/net/ip.h:31, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip.h:4, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip_tunnels.h:24, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../flow.h:36, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/flow_table.c:19: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:9:8: error: redefinition of 'struct fast_hash_ops' struct fast_hash_ops { ^ In file included from include/net/ndisc.h:52:0, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from include/net/ip.h:31, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip.h:4, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip_tunnels.h:24, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../flow.h:36, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/flow_netlink.c:21: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:9:8: error: redefinition of 'struct fast_hash_ops' struct fast_hash_ops { ^ In file included from include/linux/hash.h:18:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:4, from include/net/ndisc.h:52, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from include/net/ip.h:31, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip.h:4, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip_tunnels.h:24, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../flow.h:36, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/flow_table.c:19: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/asm/hash.h:9:8: note: originally defined here struct fast_hash_ops; ^ In file included from include/net/ndisc.h:52:0, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from include/net/ip.h:31, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip.h:4, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip_tunnels.h:24, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../flow.h:36, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/flow.c:19: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:9:8: error: redefinition of 'struct fast_hash_ops' struct fast_hash_ops { ^ In file included from include/linux/hash.h:18:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:4, from include/net/ndisc.h:52, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from include/net/ip.h:31, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip.h:4, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip_tunnels.h:24, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../flow.h:36, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/flow_netlink.c:21: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/asm/hash.h:9:8: note: originally defined here struct fast_hash_ops; ^ In file included from include/linux/hash.h:18:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:4, from include/net/ndisc.h:52, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from include/net/ip.h:31, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip.h:4, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip_tunnels.h:24, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../flow.h:36, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/flow.c:19: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/asm/hash.h:9:8: note: originally defined here struct fast_hash_ops; ^ In file included from include/net/ndisc.h:52:0, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from include/net/ip.h:31, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip.h:4, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/actions.c:31: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:9:8: error: redefinition of 'struct fast_hash_ops' struct fast_hash_ops { ^ In file included from include/linux/hash.h:18:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:4, from include/net/ndisc.h:52, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from include/net/ip.h:31, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ip.h:4, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/actions.c:31: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/asm/hash.h:9:8: note: originally defined here struct fast_hash_ops; ^ In file included from include/net/ndisc.h:52:0, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/vport-gre.c:38: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:9:8: error: redefinition of 'struct fast_hash_ops' struct fast_hash_ops { ^ In file included from include/linux/hash.h:18:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:4, from include/net/ndisc.h:52, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/vport-gre.c:38: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/asm/hash.h:9:8: note: originally defined here struct fast_hash_ops; ^ In file included from include/net/ndisc.h:52:0, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../compat.h:25, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../datapath.h:29, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/vport.c:34: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:9:8: error: redefinition of 'struct fast_hash_ops' struct fast_hash_ops { ^ In file included from include/linux/hash.h:18:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:4, from include/net/ndisc.h:52, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../compat.h:25, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../datapath.h:29, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/vport.c:34: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/asm/hash.h:9:8: note: originally defined here struct fast_hash_ops; ^ In file included from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/datapath.c:52:0: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/genetlink.h:100:31: error: static declaration of 'genlmsg_new_unicast' follows non-static declaration static inline struct sk_buff *genlmsg_new_unicast(size_t payload, ^ In file included from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/genetlink.h:7:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/datapath.c:52: include/net/genetlink.h:162:17: note: previous declaration of 'genlmsg_new_unicast' was here struct sk_buff *genlmsg_new_unicast(size_t payload, struct genl_info *info, ^ In file included from include/net/ndisc.h:52:0, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../compat.h:25, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../datapath.h:29, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/datapath.c:57: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:9:8: error: redefinition of 'struct fast_hash_ops' struct fast_hash_ops { ^ In file included from include/linux/hash.h:18:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/linux/hash.h:4, from include/net/ndisc.h:52, from include/net/ipv6.h:20, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/ipv6.h:6, from include/net/inetpeer.h:15, from include/net/route.h:28, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../compat.h:25, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/../datapath.h:29, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/datapath.c:57: /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/asm/hash.h:9:8: note: originally defined here struct fast_hash_ops; ^ In file included from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/../datapath/linux/compat/include/net/gre.h:10:0, from /home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/vport-gre.c:44: include/net/gre.h: In function 'gre_handle_offloads': include/net/gre.h:42:2: error: implicit declaration of function 'iptunnel_handle_offloads' [-Werror=implicit-function-declaration] return iptunnel_handle_offloads(skb, gre_csum, SKB_GSO_GRE); ^ include/net/gre.h:42:2: warning: return makes pointer from integer without a cast [enabled by default] cc1: some warnings being treated as errors make[2]: *** [/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/vport.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/vport-gre.o] Error 1 make[2]: *** [/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/dp_notify.o] Error 1 make[2]: *** [/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/flow.o] Error 1 make[2]: *** [/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/flow_table.o] Error 1 make[2]: *** [/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/flow_netlink.o] Error 1 make[2]: *** [/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/datapath.o] Error 1 make[2]: *** [/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux/actions.o] Error 1 make[1]: *** [_module_/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux] Error 2 make[1]: Leaving directory `/usr/src/kernels/3.10.0-123.8.1.el7.x86_64' make: *** [default] Error 2 make: Leaving directory `/home/xugang/tmp3/ovs-2.3/BUILD/openvswitch-2.3.0/_default/datapath/linux' error: Bad exit status from /var/tmp/rpm-tmp.MHxYbT (%build) From: Alex Wang <al...@nicira.com> To: Flavio Leitner <f...@redhat.com> Cc: Gang U Xu/China/IBM@IBMCN, b...@openvswitch.org Date: 2014/10/29 03:22 Subject: Re: [ovs-discuss] ovs 2.3 kernel module build failed on rhel 7.0 GA Also, please update your kernel to 3.10.0-123.8.1.el7.x86_64, Thanks, Alex Wang, On Tue, Oct 28, 2014 at 11:46 AM, Flavio Leitner <f...@redhat.com> wrote: On Mon, Oct 27, 2014 at 02:37:53PM +0800, Gang U Xu wrote: > > I tried to build ovs 2.3 kernel module on rhel 7.0 GA but failed This should be fixed in branch-2.3. You can either get a snapshot tarball or backport the following commit: commit 4ae2b2c1c4c345d0cb5f5a6b0f20fd6afb4a6962 Author: Pravin B Shelar <pshe...@nicira.com> Date: Fri Oct 3 05:26:42 2014 -0700 datapath: Add support for RHEL-7 / CentOS-7 kernel. This patch mostly is related to tunnel API where RHEL 7 kernel API are not in-sync with newer linux kernel API. So extra checks are required to check for parameters of API. Signed-off-by: Pravin B Shelar <pshe...@nicira.com> Acked-by: Jiri Benc <jb...@redhat.com> fbl _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss