All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
To: george.dit@gmail.com
Cc: dev@dpdk.org
Subject: Re: ConnectX4 100GbE - Compilation problem
Date: Thu, 18 Aug 2016 18:05:46 +0200	[thread overview]
Message-ID: <20160818160546.GS31423@6wind.com> (raw)
In-Reply-To: <CAN9HtFBPMrg3WRT1wd=8rJe6NVsPM2U=-6G+1oCD5fhXs-EY4g@mail.gmail.com>

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
> <http://www.mellanox.com/page/products_dyn?product_family=209&mtag=pmd_for_dpdk>
> .
> Following this
> <http://www.mellanox.com/related-docs/prod_software/MLNX_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=x86_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:
> 
> == 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: ‘IFNAMSIZ’ 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: ‘struct
> ifreq’ declared inside parameter list [-Werror]
>  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 ‘priv_ifreq’:
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:619:32: error: dereferencing
> pointer to incomplete type ‘struct ifreq’
>   if (priv_get_ifname(priv, &ifr->ifr_name) == 0)
>                                 ^
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function ‘rxq_setup’:
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:3735:29: error: unused
> parameter ‘inactive’ [-Werror=unused-parameter]
>     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
> ‘mlx4_link_update_unlocked’:
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4712:15: error: storage size
> of ‘ifr’ isn’t known
>   struct ifreq ifr;
>                ^
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4724:43: error: ‘IFF_UP’
> undeclared (first use in this function)
>   dev_link.link_status = ((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:
> ‘IFF_RUNNING’ 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 ‘ifr’ [-Werror=unused-variable]
>   struct ifreq ifr;
>                ^
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> ‘mlx4_dev_get_flow_ctrl’:
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4880:15: error: storage size
> of ‘ifr’ isn’t known
>   struct ifreq ifr;
>                ^
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4880:15: error: unused
> variable ‘ifr’ [-Werror=unused-variable]
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> ‘mlx4_dev_set_flow_ctrl’:
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4930:15: error: storage size
> of ‘ifr’ isn’t known
>   struct ifreq ifr;
>                ^
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:4930:15: error: unused
> variable ‘ifr’ [-Werror=unused-variable]
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function ‘priv_get_mac’:
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:5184:15: error: storage size
> of ‘request’ isn’t known
>   struct ifreq request;
>                ^
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:5184:15: error: unused
> variable ‘request’ [-Werror=unused-variable]
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c: In function
> ‘mlx4_pci_devinit’:
> /opt/MLNX_DPDK_2.2_2.7/drivers/net/mlx4/mlx4.c:5725:25: error: ‘IFF_UP’
> 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=d06c608c013c36711e7a693b3fece68a93ae4369

You can either upgrade to v16.07, back-port this commit yourself or wait for
an update from Mellanox.

-- 
Adrien Mazarguil
6WIND

  reply	other threads:[~2016-08-18 16:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-18 15:41 ConnectX4 100GbE - Compilation problem george.dit
2016-08-18 16:05 ` Adrien Mazarguil [this message]
2016-08-18 17:35   ` george.dit
2016-12-16 14:45     ` george.dit
2016-12-17 21:26       ` Olga Shern
2016-12-18  7:58         ` george.dit
2016-12-18 16:06           ` george.dit
2016-12-18 21:00             ` Olga Shern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160818160546.GS31423@6wind.com \
    --to=adrien.mazarguil@6wind.com \
    --cc=dev@dpdk.org \
    --cc=george.dit@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.