From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qg0-f54.google.com (mail-qg0-f54.google.com [209.85.192.54]) by dpdk.org (Postfix) with ESMTP id 6CA4020F for ; Sat, 7 Feb 2015 16:15:24 +0100 (CET) Received: by mail-qg0-f54.google.com with SMTP id z60so14953130qgd.13 for ; Sat, 07 Feb 2015 07:15:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=1b+Z9BtmuyyMkIk9SCU7uMvu39LUmzvQ5d7ZXUIHypU=; b=d0I8RPwDF1+wAoyaY39WJAg1n64VYGsHzQJkTvLb++4VS1PVHLDCkUvsBRTrUxHJ/2 jyHs8WBG+B5cTQO2SaOdcTAho7FWjygk8K5I2HQsn2sP1Rnw+VgtofGSD4q6WwQJzxM4 xbsdKp2CORM89XeAP4yQfiPac1ffw3T0gi9bHwQhw5yjfXZStuNux8CbwdHdgsZt8OLB aVAsacOu657xyDP7okDZTsJ5woIGEBqnsWYyBqln5bUwOMpEBBqB43Q2ZppZovXylDtQ Y8+1RM9cwYkAQsyPvRk3dm15pgjZiC//Mu8H/i80Nu5VMUdUbuI1AVM70ko/8C+Fosxl HKyQ== X-Gm-Message-State: ALoCoQnTaU+4/4N5nwIphiynojZhs1lxk6xeja+drxzm6bCqkzOQIx6LtNpG1ChBwIAu6+ihhDvY MIME-Version: 1.0 X-Received: by 10.224.124.16 with SMTP id s16mr7852450qar.72.1423322123832; Sat, 07 Feb 2015 07:15:23 -0800 (PST) Received: by 10.140.16.19 with HTTP; Sat, 7 Feb 2015 07:15:23 -0800 (PST) In-Reply-To: References: <1423247795-22399-1-git-send-email-stephen@networkplumber.org> Date: Sat, 7 Feb 2015 07:15:23 -0800 Message-ID: From: Stephen Hemminger To: Jun Xiao Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: dev , Stephen Hemminger Subject: Re: [dpdk-dev] [PATCH 0/4] Broadcom 10G NIC Poll Mode Driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Feb 2015 15:15:24 -0000 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 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 > wrote: > > From: Stephen Hemminger > > > > 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 > > >