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 >> > > >