From patchwork Fri May 10 19:30:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yifeng Sun X-Patchwork-Id: 1098305 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="rNzZbU6D"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4510hm3Sy3z9s3q for ; Sat, 11 May 2019 05:32:08 +1000 (AEST) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 97F3EE9F; Fri, 10 May 2019 19:30:26 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 0554FE5D for ; Fri, 10 May 2019 19:30:24 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 91A0E1FB for ; Fri, 10 May 2019 19:30:23 +0000 (UTC) Received: by mail-pf1-f196.google.com with SMTP id l132so3729248pfc.8 for ; Fri, 10 May 2019 12:30:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=1J8KkpUYBauIbBhU+RW40hBsKnISVBmBjaHkWLIlBaQ=; b=rNzZbU6DIU3yVkShYhvzioA3FqnZMPkjWPMq0cpUOdNi+bpUOwpBgUkvoI84/tv/vQ zSObvnA3c3aG038DfZpdkvHnjCZBmW9BVhKxz7ra4gi82dot7Hg6MMS5ze2hBMqG2V1A zciLWzk+O9XwxD9PhdZvCenKAkdH5nWTiDAxzhbnUHbDUArWJLnY19XP1rCsPFCtMVmd fHiMynSW3PKz3Ncj59FHAxFBmzVOfI9jaNxyOCgAHwej2rhx5MrXcjq9uGE8IiZ2Z861 yC0V/gYJVE5O8dyCIo0ZI8jQSgs/c+6ZQIXPI8aHgqMjk832WjAw1KLUiacJ5oO7xGsE PH9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=1J8KkpUYBauIbBhU+RW40hBsKnISVBmBjaHkWLIlBaQ=; b=qMzIFkKzU30ZwniEWIitK7yb4OZYk/31PjpjRJvPcom37JtRXeWzWecsQFYYiTNLG3 Ckpb6UOwTE/oMDLiLCg0klMNSf8jWC80AdHJdeCFZieULzdOCUca09X1xyBHRBoBb0ua spjx3VMTstfJfvpgmxELvtB9M4luFMUtN1AruTznTfVx3pWk5f6g8NdVN+RlfwGu1OrB wqS/AHT+hxGgp51frRas8HzyfGmmgaBKvQHCPJ7w4H2tMGhfuYKVrabiMthWEd76u/ny rpSW9S1zn0gK6+xkq5lyrMd+AgIRwTiqfoJfALFlE3P9328VtwNo183xRxrX986jzExS WVMw== X-Gm-Message-State: APjAAAWKFlJ5hl9bx37NFpJW7qCDFaZp0FgFO5yFElZx2ngyy7OM6dD5 cyguiJHD7S9uFz2yR7CIsDIM1X9Q X-Google-Smtp-Source: APXvYqzbxiq93ywSU4Fj9Wx3dEdtThA0jO3RkX2azxQEjByrxku3n72wRBhOTWEXl8o0wx5sSPjG1Q== X-Received: by 2002:a63:6e0b:: with SMTP id j11mr3134356pgc.291.1557516622963; Fri, 10 May 2019 12:30:22 -0700 (PDT) Received: from kern417.eng.vmware.com ([66.170.99.2]) by smtp.gmail.com with ESMTPSA id h13sm6423301pgk.55.2019.05.10.12.30.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 10 May 2019 12:30:22 -0700 (PDT) From: Yifeng Sun To: dev@openvswitch.org Date: Fri, 10 May 2019 12:30:10 -0700 Message-Id: <1557516614-12563-4-git-send-email-pkusunyifeng@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1557516614-12563-1-git-send-email-pkusunyifeng@gmail.com> References: <1557516614-12563-1-git-send-email-pkusunyifeng@gmail.com> X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Florian Westphal Subject: [ovs-dev] [PATCH 3/7 v3] datapath: Use new header file net/ipv6_frag.h X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org From: Florian Westphal Upstream commit: commit 70b095c84326640eeacfd69a411db8fc36e8ab1a Author: Florian Westphal Date: Sat Jul 14 01:14:01 2018 +0200 ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module IPV6=m DEFRAG_IPV6=m CONNTRACK=y yields: net/netfilter/nf_conntrack_proto.o: In function `nf_ct_netns_do_get': net/netfilter/nf_conntrack_proto.c:802: undefined reference to `nf_defrag_ipv6_enable' net/netfilter/nf_conntrack_proto.o:(.rodata+0x640): undefined reference to `nf_conntrack_l4proto_icmpv6' Setting DEFRAG_IPV6=y causes undefined references to ip6_rhash_params ip6_frag_init and ip6_expire_frag_queue so it would be needed to force IPV6=y too. This patch gets rid of the 'followup linker error' by removing the dependency of ipv6.ko symbols from netfilter ipv6 defrag. Shared code is placed into a header, then used from both. Signed-off-by: Florian Westphal Signed-off-by: Pablo Neira Ayuso This patch backports the above upstream patch to OVS. Cc: Florian Westphal Signed-off-by: Yifeng Sun Acked-by: Yi-Hung Wei --- acinclude.m4 | 2 ++ datapath/conntrack.c | 1 + datapath/linux/Modules.mk | 1 + datapath/linux/compat/include/net/ipv6_frag.h | 8 ++++++++ 4 files changed, 12 insertions(+) create mode 100644 datapath/linux/compat/include/net/ipv6_frag.h diff --git a/acinclude.m4 b/acinclude.m4 index 372be5f4dccd..4f9aebc325ba 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -934,6 +934,8 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [ OVS_FIND_PARAM_IFELSE([$KSRC/include/net/netfilter/nf_conntrack_core.h], [nf_conntrack_in], [nf_hook_state], [OVS_DEFINE([HAVE_NF_CONNTRACK_IN_TAKES_NF_HOOK_STATE])]) + OVS_GREP_IFELSE([$KSRC/include/net/ipv6_frag.h], [IP6_DEFRAG_CONNTRACK_IN], + [OVS_DEFINE([HAVE_IPV6_FRAG_H])]) if cmp -s datapath/linux/kcompat.h.new \ datapath/linux/kcompat.h >/dev/null 2>&1; then diff --git a/datapath/conntrack.c b/datapath/conntrack.c index 8c1a80308d6a..52825a6b20fb 100644 --- a/datapath/conntrack.c +++ b/datapath/conntrack.c @@ -31,6 +31,7 @@ #include #include #include +#include #ifdef CONFIG_NF_NAT_NEEDED #include diff --git a/datapath/linux/Modules.mk b/datapath/linux/Modules.mk index ae63e3653b41..cbb29f1c69d0 100644 --- a/datapath/linux/Modules.mk +++ b/datapath/linux/Modules.mk @@ -86,6 +86,7 @@ openvswitch_headers += \ linux/compat/include/net/ip6_route.h \ linux/compat/include/net/ip6_tunnel.h \ linux/compat/include/net/ipv6.h \ + linux/compat/include/net/ipv6_frag.h \ linux/compat/include/net/mpls.h \ linux/compat/include/net/net_namespace.h \ linux/compat/include/net/netlink.h \ diff --git a/datapath/linux/compat/include/net/ipv6_frag.h b/datapath/linux/compat/include/net/ipv6_frag.h new file mode 100644 index 000000000000..5d1cc901bec1 --- /dev/null +++ b/datapath/linux/compat/include/net/ipv6_frag.h @@ -0,0 +1,8 @@ +#ifndef __NET_IPV6_FRAG_WRAPPER_H +#define __NET_IPV6_FRAG_WRAPPER_H + +#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6) && defined(HAVE_IPV6_FRAG_H) +#include_next +#endif + +#endif /* __NET_IPV6_FRAG_WRAPPER_H */