From patchwork Fri Jun 26 22:14:37 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miguel Bernal Marin X-Patchwork-Id: 5864 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 954E4CA22; Sat, 27 Jun 2015 00:14:56 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 3B342C8B6 for ; Sat, 27 Jun 2015 00:14:51 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP; 26 Jun 2015 15:14:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,687,1427785200"; d="scan'208";a="595535271" Received: from mbernalm-mobl3.amr.corp.intel.com (HELO mbernalm-mobl3.zpn.intel.com) ([10.219.18.109]) by orsmga003.jf.intel.com with ESMTP; 26 Jun 2015 15:14:50 -0700 From: Miguel Bernal Marin To: dev@dpdk.org Date: Fri, 26 Jun 2015 17:14:37 -0500 Message-Id: <1435356878-10304-4-git-send-email-miguel.bernal.marin@linux.intel.com> X-Mailer: git-send-email 2.4.4 In-Reply-To: <1435356878-10304-1-git-send-email-miguel.bernal.marin@linux.intel.com> References: <1435259380-26251-1-git-send-email-miguel.bernal.marin@linux.intel.com> <1435356878-10304-1-git-send-email-miguel.bernal.marin@linux.intel.com> Subject: [dpdk-dev] [PATCH v2 3/4] kni: fix function parameter from proto_ops pointers X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Parameters from sendmsg and recvmsg has been changed in 4.1 kernel. The function pointers belong to proto_ops structure were updated removing the struct kiocb parameter. Fixes: 1b784140474e ("net: Remove iocb argument from sendmsg and recvmsg") Signed-off-by: Miguel Bernal Marin --- lib/librte_eal/linuxapp/kni/compat.h | 4 ++++ lib/librte_eal/linuxapp/kni/kni_vhost.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h index 1ad22ba..cf100b6 100644 --- a/lib/librte_eal/linuxapp/kni/compat.h +++ b/lib/librte_eal/linuxapp/kni/compat.h @@ -23,3 +23,7 @@ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0) #define HAVE_IOV_ITER_MSGHDR #endif + +#if ( LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0) ) +#define HAVE_KIOCB_MSG_PARAM +#endif /* < 4.1.0 */ diff --git a/lib/librte_eal/linuxapp/kni/kni_vhost.c b/lib/librte_eal/linuxapp/kni/kni_vhost.c index e01420a..f21b47e 100644 --- a/lib/librte_eal/linuxapp/kni/kni_vhost.c +++ b/lib/librte_eal/linuxapp/kni/kni_vhost.c @@ -353,8 +353,13 @@ except: } static int +#ifdef HAVE_KIOCB_MSG_PARAM kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, size_t total_len) +#else +kni_sock_sndmsg(struct socket *sock, + struct msghdr *m, size_t total_len) +#endif /* HAVE_KIOCB_MSG_PARAM */ { struct kni_vhost_queue *q = container_of(sock->sk, struct kni_vhost_queue, sk); @@ -387,8 +392,13 @@ kni_sock_sndmsg(struct kiocb *iocb, struct socket *sock, } static int +#ifdef HAVE_KIOCB_MSG_PARAM kni_sock_rcvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, size_t len, int flags) +#else +kni_sock_rcvmsg(struct socket *sock, + struct msghdr *m, size_t len, int flags) +#endif /* HAVE_KIOCB_MSG_PARAM */ { int vnet_hdr_len = 0; int pkt_len = 0;