From: "Iremonger, Bernard" <bernard.iremonger@intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>,
"harish.patil@qlogic.com" <harish.patil@qlogic.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v5 4/4] bnx2x: enable PMD build
Date: Mon, 27 Jul 2015 09:42:14 +0000 [thread overview]
Message-ID: <8CEF83825BEC744B83065625E567D7C219F345F5@IRSMSX108.ger.corp.intel.com> (raw)
In-Reply-To: <1437410000-15907-5-git-send-email-stephen@networkplumber.org>
Hi Stephen,
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Stephen
> Hemminger
> Sent: Monday, July 20, 2015 5:33 PM
> To: harish.patil@qlogic.com
> Cc: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v5 4/4] bnx2x: enable PMD build
>
> This is build infrastructure changes for bnx2x driver.
> - enable BNX2X poll mode driver in default config.
> - add it to mk
> - put entry in MAINTAINERS
>
> Note: I intentionally did not list myself as maintainer of this driver. QLogic has
> discussed taking over as maintainer.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
> ---
> v4 - Add PCI id's for 57840
> ---
> MAINTAINERS | 3 ++
> config/common_linuxapp | 10 ++++
> drivers/net/Makefile | 1 +
> drivers/net/bnx2x/Makefile | 28 ++++++++++++
> lib/librte_eal/common/include/rte_pci_dev_ids.h | 61
> +++++++++++++++++++++++++
> mk/rte.app.mk | 2 +
> 6 files changed, 105 insertions(+)
> create mode 100644 drivers/net/bnx2x/Makefile
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 6531900..b6a82ad 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -277,6 +277,9 @@ M: John McNamara <john.mcnamara@intel.com>
> F: drivers/net/pcap/
> F: doc/guides/nics/pcap_ring.rst
>
> +Qlogic/Broadcom bnx2x
> +F: drivers/net/bnx2x/
> +
> Ring PMD
> M: Bruce Richardson <bruce.richardson@intel.com>
> F: drivers/net/ring/
> diff --git a/config/common_linuxapp b/config/common_linuxapp index
> 579a5d7..a8a392e 100644
> --- a/config/common_linuxapp
> +++ b/config/common_linuxapp
> @@ -229,6 +229,16 @@ CONFIG_RTE_LIBRTE_ENIC_PMD=y
> CONFIG_RTE_LIBRTE_ENIC_DEBUG=n
>
> #
> +# Compile burst-oriented Broadcom PMD driver #
> +CONFIG_RTE_LIBRTE_BNX2X_PMD=y
> CONFIG_RTE_LIBRTE_BNX2X_DEBUG_INIT=n
> +CONFIG_RTE_LIBRTE_BNX2X_DEBUG=n
> +CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=n
> +CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=n
> +CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=n
> +
> +#
> # Compile burst-oriented VIRTIO PMD driver #
> CONFIG_RTE_LIBRTE_VIRTIO_PMD=y diff --git a/drivers/net/Makefile
> b/drivers/net/Makefile index 6171430..6d519b6 100644
> --- a/drivers/net/Makefile
> +++ b/drivers/net/Makefile
> @@ -47,6 +47,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += ring
> DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio
> DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3
> DIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += xenvirt
> +DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x
>
> include $(RTE_SDK)/mk/rte.sharelib.mk
> include $(RTE_SDK)/mk/rte.subdir.mk
> diff --git a/drivers/net/bnx2x/Makefile b/drivers/net/bnx2x/Makefile new
> file mode 100644 index 0000000..0de5db9
> --- /dev/null
> +++ b/drivers/net/bnx2x/Makefile
> @@ -0,0 +1,28 @@
> +include $(RTE_SDK)/mk/rte.vars.mk
> +
> +#
> +# library name
> +#
> +LIB = librte_pmd_bnx2x.a
> +
> +CFLAGS += -O3 -g
> +CFLAGS += $(WERROR_FLAGS)
> +CFLAGS += -DZLIB_CONST
> +
> +#
> +# all source are stored in SRCS-y
> +#
> +SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x.c
> +SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_rxtx.c
> +SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_stats.c
> +SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_ethdev.c
> +SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += ecore_sp.c
> +SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += elink.c
> +SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_vfpf.c
> +SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_DEBUG) += debug.c
> +
> +# this lib depends upon:
> +DEPDIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += lib/librte_eal
> +lib/librte_ether lib/librte_hash
> +DEPDIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += lib/librte_mempool
> +lib/librte_mbuf
> +
> +include $(RTE_SDK)/mk/rte.lib.mk
> diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h
> b/lib/librte_eal/common/include/rte_pci_dev_ids.h
> index 084d182..badb719 100644
> --- a/lib/librte_eal/common/include/rte_pci_dev_ids.h
> +++ b/lib/librte_eal/common/include/rte_pci_dev_ids.h
> @@ -144,6 +144,14 @@
> #define RTE_PCI_DEV_ID_DECL_ENIC(vend, dev) #endif
>
> +#ifndef RTE_PCI_DEV_ID_DECL_BNX2X
> +#define RTE_PCI_DEV_ID_DECL_BNX2X(vend, dev) #endif
> +
> +#ifndef RTE_PCI_DEV_ID_DECL_BNX2XVF
> +#define RTE_PCI_DEV_ID_DECL_BNX2XVF(vend, dev) #endif
> +
> #ifndef PCI_VENDOR_ID_INTEL
> /** Vendor ID used by Intel devices */
> #define PCI_VENDOR_ID_INTEL 0x8086
> @@ -164,6 +172,11 @@
> #define PCI_VENDOR_ID_CISCO 0x1137
> #endif
>
> +#ifndef PCI_VENDOR_ID_BROADCOM
> +/** Vendor ID used by Broadcom devices */ #define
> +PCI_VENDOR_ID_BROADCOM 0x14E4 #endif
> +
> /******************** Physical EM devices from e1000_hw.h
> ********************/
>
> #define E1000_DEV_ID_82542 0x1000
> @@ -566,6 +579,52 @@
> RTE_PCI_DEV_ID_DECL_FM10KVF(PCI_VENDOR_ID_INTEL,
> FM10K_DEV_ID_VF) RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO,
> PCI_DEVICE_ID_CISCO_VIC_ENET)
> RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO,
> PCI_DEVICE_ID_CISCO_VIC_ENET_VF)
>
> +/****************** QLogic devices ******************/
> +
> +/* Broadcom/QLogic BNX2X */
> +#define BNX2X_DEV_ID_57710 0x164e
> +#define BNX2X_DEV_ID_57711 0x164f
> +#define BNX2X_DEV_ID_57711E 0x1650
> +#define BNX2X_DEV_ID_57712 0x1662
> +#define BNX2X_DEV_ID_57712_MF 0x1663
> +#define BNX2X_DEV_ID_57712_VF 0x166f
> +#define BNX2X_DEV_ID_57713 0x1651
> +#define BNX2X_DEV_ID_57713E 0x1652
> +#define BNX2X_DEV_ID_57800 0x168a
> +#define BNX2X_DEV_ID_57800_MF 0x16a5
> +#define BNX2X_DEV_ID_57800_VF 0x16a9
> +#define BNX2X_DEV_ID_57810 0x168e
> +#define BNX2X_DEV_ID_57810_MF 0x16ae
> +#define BNX2X_DEV_ID_57810_VF 0x16af
> +#define BNX2X_DEV_ID_57811 0x163d
> +#define BNX2X_DEV_ID_57811_MF 0x163e
> +#define BNX2X_DEV_ID_57811_VF 0x163f
> +
> +#define BNX2X_DEV_ID_57840_OBS 0x168d
> +#define BNX2X_DEV_ID_57840_OBS_MF 0x16ab
> +#define BNX2X_DEV_ID_57840_4_10 0x16a1
> +#define BNX2X_DEV_ID_57840_2_20 0x16a2
> +#define BNX2X_DEV_ID_57840_MF 0x16a4
> +#define BNX2X_DEV_ID_57840_VF 0x16ad
> +
> +
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> BNX2X_DEV_ID_57800)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57800_VF)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> BNX2X_DEV_ID_57711)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> BNX2X_DEV_ID_57810)
> +RTE_PCI_DEV_ID_DECL_BNX2XVF(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57810_VF)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> BNX2X_DEV_ID_57811)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57811_VF)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57840_OBS)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57840_4_10)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57840_2_20)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57840_VF) #ifdef RTE_LIBRTE_BNX2X_MF_SUPPORT
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57810_MF)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57811_MF)
> +RTE_PCI_DEV_ID_DECL_BNX2X(PCI_VENDOR_ID_BROADCOM,
> +BNX2X_DEV_ID_57840_MF) #endif
> +
> /*
> * Undef all RTE_PCI_DEV_ID_DECL_* here.
> */
> @@ -578,5 +637,7 @@
> RTE_PCI_DEV_ID_DECL_ENIC(PCI_VENDOR_ID_CISCO,
> PCI_DEVICE_ID_CISCO_VIC_ENET_VF) #undef
> RTE_PCI_DEV_ID_DECL_I40EVF #undef RTE_PCI_DEV_ID_DECL_VIRTIO
> #undef RTE_PCI_DEV_ID_DECL_VMXNET3
> +#undef RTE_PCI_DEV_ID_DECL_BNX2X
> +#undef RTE_PCI_DEV_ID_DECL_BNX2XVF
> #undef RTE_PCI_DEV_ID_DECL_FM10K
> #undef RTE_PCI_DEV_ID_DECL_FM10KVF
> diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 67bce48..2cc5b5b 100644
> --- a/mk/rte.app.mk
> +++ b/mk/rte.app.mk
> @@ -101,6 +101,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -
> lfuse
> endif
>
> _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += -libverbs
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += -lz
>
> _LDLIBS-y += --start-group
>
> @@ -138,6 +139,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING) += -
> lrte_pmd_ring
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lrte_pmd_pcap
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += -
> lrte_pmd_af_packet
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += -lrte_pmd_null
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += -lrte_pmd_bnx2x
>
> endif # ! $(CONFIG_RTE_BUILD_SHARED_LIB)
>
> --
> 2.1.4
Seeing a build error on Linux with build of bnx2x enabled
== Build drivers/net/bnx2x
CC bnx2x.o
/root/dpdk_sforge_2/drivers/net/bnx2x/bnx2x.c:50:18: fatal error: zlib.h: No such file or directory
#include <zlib.h>
Regards,
Bernard.
^
next prev parent reply other threads:[~2015-07-27 9:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-20 16:33 [dpdk-dev] [PATCH v5 0/4] bnx2x: poll mode driver Stephen Hemminger
2015-07-20 16:33 ` [dpdk-dev] [PATCH v5 1/4] eal: provide functions to access PCI config Stephen Hemminger
2015-07-20 16:33 ` [dpdk-dev] [PATCH v5 2/4] bnx2x: driver core Stephen Hemminger
2015-07-20 16:33 ` [dpdk-dev] [PATCH v5 3/4] bnx2x: driver support routines Stephen Hemminger
2015-07-20 16:33 ` [dpdk-dev] [PATCH v5 4/4] bnx2x: enable PMD build Stephen Hemminger
2015-07-27 9:42 ` Iremonger, Bernard [this message]
2015-07-27 13:29 ` Thomas Monjalon
[not found] ` <D1D5DCEA.A5E3E%harish.patil@qlogic.com>
2015-07-27 2:09 ` [dpdk-dev] [PATCH v5 0/4] bnx2x: poll mode driver Thomas Monjalon
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=8CEF83825BEC744B83065625E567D7C219F345F5@IRSMSX108.ger.corp.intel.com \
--to=bernard.iremonger@intel.com \
--cc=dev@dpdk.org \
--cc=harish.patil@qlogic.com \
--cc=stephen@networkplumber.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).