From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by dpdk.org (Postfix) with ESMTP id CDA7B2B9F for ; Sun, 18 Dec 2016 08:58:45 +0100 (CET) Received: by mail-wm0-f50.google.com with SMTP id t79so74754639wmt.0 for ; Sat, 17 Dec 2016 23:58:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=A5/XRKCCkBP5NhXzxzSqsy4cIf9pEQxnl1DONhOvG2U=; b=M+NHKAfu77arNQIA8fRaxkZqZciXs8LfH44gk0BXV0M0kkVZQ5mbeW+hJH6pGpqgr/ a5y+0kaYGYthgNXF9iHoXMhUXbGEbJCYWtXPTE9X+oOlwI4LzMzvrG0zLDAwa60vF7Bu MLDRYb80w1L49+NAi4BMZv/qgy/+ccVB755vFMgsUb+lDHjdFy0U5vJUJ17/1jMsIL8q uE7m3OFZWRFwD680qVd/Zm438xKqpssx2YdQKdkSbZ0r0zTmDF+w2ryx08hWwvY54Ad6 DYaYjo96UJrw6LUjnqAXMNuwywRuimh2vZoAt6jz7P99yXIOTSopqnIygVpoNln7SnAa onJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=A5/XRKCCkBP5NhXzxzSqsy4cIf9pEQxnl1DONhOvG2U=; b=qOOtDN7uFdcudy/fm501ztBSCUQrD0KACwwYHr2opM1jCtXQb1Zq696abJ5yGAeBg6 7I5oxd47vgWApBdN6Zg67GOgXxhoyoGin+dfJNqih76mZkxiASDXbtITjf4Np6JksPbg PUVIPj6FmxWdKmuJGFFWPXtTpq1kjXpK3WBrtXWlAV2TLXUHbJsJKKw82D5d2RwdNFBb Q/INp0AevGF3U6Av9o0dBzrZdL2lBdNyyuu6LozbL2iVxKz8zY/STyq6gfg3aa2eo/iR MhaEy2tq5uJuodEV0dwL41NNz2RuLr3KoYBm8cVplZHd82XmcNkm5PkGu4z3IamqljZP XCiw== X-Gm-Message-State: AIkVDXJzWTkmiWfdvdN1zbcTc0OtzS06DkUBF1LoZmoXP1NGlNlQDSO1quJoakT09iVlaNGjJJ+REHgdxubArQ== X-Received: by 10.28.147.134 with SMTP id v128mr9408081wmd.3.1482047925401; Sat, 17 Dec 2016 23:58:45 -0800 (PST) MIME-Version: 1.0 Received: by 10.28.151.131 with HTTP; Sat, 17 Dec 2016 23:58:44 -0800 (PST) In-Reply-To: References: <20160818160546.GS31423@6wind.com> From: george.dit@gmail.com Date: Sun, 18 Dec 2016 08:58:44 +0100 Message-ID: To: Olga Shern Cc: "dev@dpdk.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] ConnectX4 100GbE - Compilation problem X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Dec 2016 07:58:45 -0000 Hi Olga, That was the issue indeed, thank you very much! Best regards, Georgios On Sat, Dec 17, 2016 at 10:26 PM, Olga Shern wrote: > Hi Georgios, > > Did you install MLNX_OFED? > You probably missing libmlx5-devel package > > Best Regards, > Olga > > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of george.dit@gmail.com > Sent: Friday, December 16, 2016 4:46 PM > To: Georgios Katsikas ; dev@dpdk.org > Subject: Re: [dpdk-dev] ConnectX4 100GbE - Compilation problem > > Hi all, > > I am coming back to you regarding the Mellanox Connectx4 100Gbps DPDK > driver. > We exchanged some e-mails last summer and I managed to compile the > DPDK-based Mellanox driver using DPDK 16.07 on top of Ubuntu server > 16.04.01. > > A few days ago, I installed a fresh Ubuntu server 16.04.1 on my machine > and attempted to re-install DPDK. > This time, DPDK does not compile because of the following error: > \=3D=3D Build drivers/net/mlx5 > CC mlx5.o > In file included from /opt/dpdk/drivers/net/mlx5/mlx5.h:67:0, > from /opt/dpdk/drivers/net/mlx5/mlx5.c:66: > /opt/dpdk/drivers/net/mlx5/mlx5_rxtx.h:46:32: fatal error: > infiniband/mlx5_hw.h: No such file or directory compilation terminated. > /opt/dpdk/mk/internal/rte.compile-pre.mk:138: recipe for target 'mlx5.o' > failed > make[6]: *** [mlx5.o] Error 1 > /opt/dpdk/mk/rte.subdir.mk:61: recipe for target 'mlx5' failed > make[5]: *** [mlx5] Error 2 > /opt/dpdk/mk/rte.subdir.mk:61: recipe for target 'net' failed > make[4]: *** [net] Error 2 > /opt/dpdk/mk/rte.sdkbuild.mk:78: recipe for target 'drivers' failed > make[3]: *** [drivers] Error 2 > /opt/dpdk/mk/rte.sdkroot.mk:126: recipe for target 'all' failed > make[2]: *** [all] Error 2 > /opt/dpdk/mk/rte.sdkinstall.mk:85: recipe for target 'pre_install' failed > make[1]: *** [pre_install] Error 2 > /opt/dpdk/mk/rte.sdkroot.mk:101: recipe for target 'install' failed > make: *** [install] Error 2 > [ ERROR] [ CheckStatus] Command make install failed > > I tried 2 different kernels (4.4 and 4.8) both compiled from sources and = I > also tried 3 different DPDk versions (16.04/07/11) but they all get stuck > to this point. > The way I configure DPDK is via config/common_base, where I set > CONFIG_RTE_LIBRTE_MLX5_PMD=3Dy. > The file infiniband/mlx5_hw.h does not exist in my system although I have > installed libmlx5. > > Do you know why does this happen now? > > Thanks in advance and best regards, > Georgios > > On Thu, Aug 18, 2016 at 7:35 PM, wrote: > > > Hi Adrien, > > > > Thanks for the prompt reply! > > You are right, I didn't go via the DPDK route, in the hope that > > Mellanox will provide the exact source and configuration. > > DPDK 16.07 from dpdk.org works like a charm and my NIC is in PMD mode, > > thanks a lot for your guidance! > > > > Best regards, > > Georgios > > > > On Thu, Aug 18, 2016 at 6:05 PM, Adrien Mazarguil < > > adrien.mazarguil@6wind.com> wrote: > > > >> Hi George, > >> > >> On Thu, Aug 18, 2016 at 05:41:38PM +0200, george.dit@gmail.com wrote: > >> > Hi, > >> > > >> > I have a single port Mellanox ConnectX 4 100GbE NIC and I want to > >> > test > >> its > >> > Rx/Tx capabilites using DPDK. > >> > My system runs a Linux kernel 4.4 compiled from sources. > >> > > >> > I found the PMD driver for this NIC as provided by Mellanox here > >> > >> 9&mtag=3Dpmd_for_dpdk> > >> > . > >> > Following this > >> > >> DPDK_Quick_Start_Guide_v2.2_2.7.pdf> > >> > guideline, I put my NIC in Ethernet mode, configured the 3 options > >> > regarding mlx5 in the config/common_linuxapp file and applied 'make > >> install > >> > T=3Dx86_64-native-linuxapp-gcc'. > >> > >> Please note this is a third party package maintained by Mellanox, > >> therefore this mailing list is not the right place to discuss related > >> errors, unless they can be reproduced with a version downloaded from > >> dpdk.org. > >> > >> > Then, I stumbled upon a compilation problem in the mlx4 module. > >> > The compiler's output is as follows: > >> > > >> > =3D=3D Build drivers/net/mlx4 > >> > CC mlx4.o > >> > In file included from /usr/include/linux/if.h:31:0, > >> > from /opt/MLNX_DPDK_2.2_2.7/drivers > >> /net/mlx4/mlx4.c:57: > >> > /usr/include/linux/hdlc/ioctl.h:73:14: error: =E2=80=98IFNAMSIZ=E2= =80=99 undeclared > >> here > >> > (not in a function) > >> > char master[IFNAMSIZ]; /* Name of master FRAD device */ > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:612:53: error: > >> > =E2=80=98struct ifreq=E2=80=99 declared inside parameter list [-Werr= or] > >> > priv_ifreq(const struct priv *priv, int req, struct ifreq *ifr) > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:612:53: error: its > >> scope is > >> > only this definition or declaration, which is probably not what you > >> > want [-Werror] > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function > >> =E2=80=98priv_ifreq=E2=80=99: > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:619:32: error: > >> dereferencing > >> > pointer to incomplete type =E2=80=98struct ifreq=E2=80=99 > >> > if (priv_get_ifname(priv, &ifr->ifr_name) =3D=3D 0) > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function > >> =E2=80=98rxq_setup=E2=80=99: > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:3735:29: error: > >> > unused parameter =E2=80=98inactive=E2=80=99 [-Werror=3Dunused-parame= ter] > >> > unsigned int socket, int inactive, const struct rte_eth_rxconf > >> *conf, > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function > >> > =E2=80=98mlx4_link_update_unlocked=E2=80=99: > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4712:15: error: > >> > storage > >> size > >> > of =E2=80=98ifr=E2=80=99 isn=E2=80=99t known > >> > struct ifreq ifr; > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4724:43: error: > =E2=80=98IFF_UP=E2=80=99 > >> > undeclared (first use in this function) > >> > dev_link.link_status =3D ((ifr.ifr_flags & IFF_UP) && > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4724:43: note: each > >> > undeclared identifier is reported only once for each function it > >> appears in > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4725:22: error: > >> > =E2=80=98IFF_RUNNING=E2=80=99 undeclared (first use in this function= ) > >> > (ifr.ifr_flags & IFF_RUNNING)); > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4712:15: error: > >> > unused variable =E2=80=98ifr=E2=80=99 [-Werror=3Dunused-variable] > >> > struct ifreq ifr; > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function > >> > =E2=80=98mlx4_dev_get_flow_ctrl=E2=80=99: > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4880:15: error: > >> > storage > >> size > >> > of =E2=80=98ifr=E2=80=99 isn=E2=80=99t known > >> > struct ifreq ifr; > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4880:15: error: > >> > unused variable =E2=80=98ifr=E2=80=99 [-Werror=3Dunused-variable] > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function > >> > =E2=80=98mlx4_dev_set_flow_ctrl=E2=80=99: > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4930:15: error: > >> > storage > >> size > >> > of =E2=80=98ifr=E2=80=99 isn=E2=80=99t known > >> > struct ifreq ifr; > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4930:15: error: > >> > unused variable =E2=80=98ifr=E2=80=99 [-Werror=3Dunused-variable] > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function > >> =E2=80=98priv_get_mac=E2=80=99: > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:5184:15: error: > >> > storage > >> size > >> > of =E2=80=98request=E2=80=99 isn=E2=80=99t known > >> > struct ifreq request; > >> > ^ > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:5184:15: error: > >> > unused variable =E2=80=98request=E2=80=99 [-Werror=3Dunused-variable= ] > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function > >> > =E2=80=98mlx4_pci_devinit=E2=80=99: > >> > /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:5725:25: error: > =E2=80=98IFF_UP=E2=80=99 > >> > undeclared (first use in this function) > >> > priv_set_flags(priv, ~IFF_UP, IFF_UP); > >> > ^ > >> > cc1: all warnings being treated as errors > >> > /opt/MLNX_DPDK_2.2_2.7/mk/internal/rte.compile-pre.mk:126: recipe > >> > for target 'mlx4.o' failed > >> > > >> > Iwould appreciate any suggestions and guidance. > >> > >> Well fortunately these errors are also present in v2.2.0 and should > >> have been addressed since v16.07 by the following commit: > >> > >> http://dpdk.org/browse/dpdk/commit/?id=3Dd06c608c013c36711e7a > >> 693b3fece68a93ae4369 > >> > >> You can either upgrade to v16.07, back-port this commit yourself or > >> wait for an update from Mellanox. > >> > >> -- > >> Adrien Mazarguil > >> 6WIND > >> > > > > > > > > -- > > Georgios Katsikas > > Ph.D. Student and Research Assistant > > Network Systems Lab (NSL) > > > > > > > > *E-Mail:* george .dit@gmail.com > > *Web Site:* http://www.di.uoa.gr/~katsikas/ > > > > > > > > -- > Georgios Katsikas > Ph.D. Student and Research Assistant > Network Systems Lab (NSL) > > > > *E-Mail:* george .dit@gmail.com > *Web Site:* http://www.di.uoa.gr/~katsikas/ < > http://people.networks.imdea.org/~george_katsikas/index.html> > --=20 Georgios Katsikas Ph.D. Student and Research Assistant Network Systems Lab (NSL) *E-Mail:* george .dit@gmail.com *Web Site:* http://www.di.uoa.gr/~katsikas/