[dpdk-dev] [PATCH 0/4] Broadcom 10G NIC Poll Mode Driver

Jun Xiao xiaojuntime at gmail.com
Sat Feb 7 17:05:16 CET 2015


Thanks Stephen for all the info!

Do you expect this pmd driver will be in sync with FreeBSD repo in the future,
or it's going to be diverged? I am just asking from a maintenance stand point.

On Sat, Feb 7, 2015 at 11:15 PM, Stephen Hemminger
<stephen at networkplumber.org> wrote:
> Source was from FreeBSD.
>
> changes were to make it work and lots of de-uglification.
>
> For example, the last change was to remove custom logging and debug macros.
>
> There are still lots of style issues with the driver, because of the amount
> of
> useless macro wrapping.
>
> I don't believe in the vendor model of taking one driver with lots of macros
> and pretending
> it is generic across OS's.
>
> It has been tested by our QA group as part of our vRouter product release,
> which is
> based on DPDK 1.6. There are no open problem reports. The performance is
> less
> than IXGBE but that is probably because it a a port an not optimized.
>
>
>
> On Sat, Feb 7, 2015 at 1:15 AM, Jun Xiao <xiaojuntime at gmail.com> wrote:
>>
>> Hi Stephen,
>>
>> Thanks for your great work on this!
>>
>> Could you elaborate on a few things:
>> - What's the methodology used in the driver porting?
>>   e.g. what's the base source you ported from?
>>   what's the major change against the base source?
>> - What kind of tests have been done on Linux? any known limitations?
>>
>> Thanks,
>> Jun
>>
>> On Sat, Feb 7, 2015 at 2:36 AM, Stephen Hemminger
>> <stephen at networkplumber.org> wrote:
>> > From: Stephen Hemminger <shemming at brocade.com>
>> >
>> > These are the patches to enable supporting the Broadcom
>> > NetExtreme II 10G devices (show up as bnx2x on Linux).
>> >
>> > The driver has only been tested on Linux, there maybe issues
>> > with firmware loading and PCI config access on BSD.
>> >
>> > Stephen Hemminger (4):
>> >   pci: allow access to PCI config space
>> >   bcm: add BCM pci device ids
>> >   bcm: new poll mode driver
>> >   bcm: enable BCM poll mode driver in config
>> >
>> >  config/common_linuxapp                          |    10 +
>> >  lib/Makefile                                    |     1 +
>> >  lib/librte_eal/common/include/rte_pci.h         |    29 +
>> >  lib/librte_eal/common/include/rte_pci_dev_ids.h |    30 +
>> >  lib/librte_eal/linuxapp/eal/eal_pci.c           |    15 +
>> >  lib/librte_eal/linuxapp/eal/eal_pci_uio.c       |    10 +
>> >  lib/librte_eal/linuxapp/eal/rte_eal_version.map |     2 +
>> >  lib/librte_pmd_bcm/Makefile                     |    28 +
>> >  lib/librte_pmd_bcm/bcm.c                        | 11817
>> > +++++++++++++++++++
>> >  lib/librte_pmd_bcm/bcm.h                        |  1998 ++++
>> >  lib/librte_pmd_bcm/bcm_ethdev.c                 |   544 +
>> >  lib/librte_pmd_bcm/bcm_ethdev.h                 |    79 +
>> >  lib/librte_pmd_bcm/bcm_logs.h                   |    51 +
>> >  lib/librte_pmd_bcm/bcm_rxtx.c                   |   487 +
>> >  lib/librte_pmd_bcm/bcm_rxtx.h                   |    85 +
>> >  lib/librte_pmd_bcm/bcm_stats.c                  |  1619 +++
>> >  lib/librte_pmd_bcm/bcm_stats.h                  |   633 +
>> >  lib/librte_pmd_bcm/bcm_vfpf.c                   |   597 +
>> >  lib/librte_pmd_bcm/bcm_vfpf.h                   |   315 +
>> >  lib/librte_pmd_bcm/debug.c                      |   113 +
>> >  lib/librte_pmd_bcm/ecore_fw_defs.h              |   423 +
>> >  lib/librte_pmd_bcm/ecore_hsi.h                  |  6349 ++++++++++
>> >  lib/librte_pmd_bcm/ecore_init.h                 |   842 ++
>> >  lib/librte_pmd_bcm/ecore_init_ops.h             |   886 ++
>> >  lib/librte_pmd_bcm/ecore_mfw_req.h              |   207 +
>> >  lib/librte_pmd_bcm/ecore_reg.h                  |  3664 ++++++
>> >  lib/librte_pmd_bcm/ecore_sp.c                   |  5455 +++++++++
>> >  lib/librte_pmd_bcm/ecore_sp.h                   |  1796 +++
>> >  lib/librte_pmd_bcm/elink.c                      | 13378
>> > ++++++++++++++++++++++
>> >  lib/librte_pmd_bcm/elink.h                      |   610 +
>> >  30 files changed, 52073 insertions(+)
>> >  create mode 100644 lib/librte_pmd_bcm/Makefile
>> >  create mode 100644 lib/librte_pmd_bcm/bcm.c
>> >  create mode 100644 lib/librte_pmd_bcm/bcm.h
>> >  create mode 100644 lib/librte_pmd_bcm/bcm_ethdev.c
>> >  create mode 100644 lib/librte_pmd_bcm/bcm_ethdev.h
>> >  create mode 100644 lib/librte_pmd_bcm/bcm_logs.h
>> >  create mode 100644 lib/librte_pmd_bcm/bcm_rxtx.c
>> >  create mode 100644 lib/librte_pmd_bcm/bcm_rxtx.h
>> >  create mode 100644 lib/librte_pmd_bcm/bcm_stats.c
>> >  create mode 100644 lib/librte_pmd_bcm/bcm_stats.h
>> >  create mode 100644 lib/librte_pmd_bcm/bcm_vfpf.c
>> >  create mode 100644 lib/librte_pmd_bcm/bcm_vfpf.h
>> >  create mode 100644 lib/librte_pmd_bcm/debug.c
>> >  create mode 100644 lib/librte_pmd_bcm/ecore_fw_defs.h
>> >  create mode 100644 lib/librte_pmd_bcm/ecore_hsi.h
>> >  create mode 100644 lib/librte_pmd_bcm/ecore_init.h
>> >  create mode 100644 lib/librte_pmd_bcm/ecore_init_ops.h
>> >  create mode 100644 lib/librte_pmd_bcm/ecore_mfw_req.h
>> >  create mode 100644 lib/librte_pmd_bcm/ecore_reg.h
>> >  create mode 100644 lib/librte_pmd_bcm/ecore_sp.c
>> >  create mode 100644 lib/librte_pmd_bcm/ecore_sp.h
>> >  create mode 100644 lib/librte_pmd_bcm/elink.c
>> >  create mode 100644 lib/librte_pmd_bcm/elink.h
>> >
>> > --
>> > 2.1.4
>> >
>
>


More information about the dev mailing list