DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Wiles, Keith" <keith.wiles@intel.com>
To: "Wiles, Keith" <keith.wiles@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [RFC PATCH 0/4] Extending DPDK to have more devices supported
Date: Fri, 10 Apr 2015 18:47:14 +0000	[thread overview]
Message-ID: <D14D84A9.1ABAE%keith.wiles@intel.com> (raw)
In-Reply-To: <1428526720-50221-1-git-send-email-keith.wiles@intel.com>

Any comments on this RFC Patch? Must be perfect right :-)

On 4/8/15, 3:58 PM, "Keith Wiles" <keith.wiles@intel.com> wrote:

>Hi All,
>
>Here is a set of RFC patches to update DPDK to support a generic set of
>devices. The patches that follow create two files eal_common_device.h
>and rte_common_device.c and then a few items in rte_ethdev.[ch] were moved
>to cleanup those files by moving the device generic values and functions
>into a common set of device generic files.
>
>In the rte_common_device.h file are a couple of macros to abstract a few
>common items from rte_ethdev.h which are not ethernet specific. These
>generic device specific structure members are place into macros to be
>placed at the top of each new device type crypto, hardware offload, dpi,
>compression and possible others to be defined later.
> Note: could have used nested structures, but required a larger change
>set.
>
>I did not pull the Rx/Tx Routines into a common function, but it could be
>done if everyone agrees. It does not mean every device will use a common
>Rx/Tx routine. Without pulling Rx/Tx routines into a common file allows
>the device writer to have similar or different set of routines.
>
>These patches do not contain any new devices as these are being work on
>today.
>
>More cleanup of ethdev could be done to remove NIC specific features not
>supported in all devices and someone needs to do that cleanup IMO.
>
>The code is untested and I wanted to get something our for others to poke
>at
>today and more could be pulled out of ethdev as well. I/We will be looking
>at testing the code as we get more completed.
>
>I have not finished up the crypto APIs yet, but I am planning to work on
>those additions today. The crypto code we are using is the Quick Assist
>code
>found on 01.org, but we need to update the code to be move DPDK friendly.
>
>The QAT code does have a modified like API similar to Linux Kernel crypto
>API
>and I want to review that code first.
>
>Regards,
>++Keith
>
>Keith Wiles (4):
>  Rename of device types to be generic device names.
>  Add the new common device header and C file.
>  Update files to build new device generic common files and headers.
>  Update the rte_ethdev.[ch] files for the new device generic changes.
>
> app/test/test_link_bonding.c                      |  10 +-
> app/test/virtual_pmd.c                            |   4 +-
> examples/link_status_interrupt/main.c             |   6 +-
> lib/librte_eal/bsdapp/eal/Makefile                |   1 +
> lib/librte_eal/common/Makefile                    |   1 +
> lib/librte_eal/common/eal_common_device.c         | 185 +++++++
> lib/librte_eal/common/include/rte_common_device.h | 617
>++++++++++++++++++++++
> lib/librte_eal/common/include/rte_log.h           |   1 +
> lib/librte_eal/linuxapp/eal/Makefile              |   1 +
> lib/librte_ether/rte_ethdev.c                     | 290 ++--------
> lib/librte_ether/rte_ethdev.h                     | 225 +++-----
> lib/librte_pmd_af_packet/rte_eth_af_packet.c      |   2 +-
> lib/librte_pmd_bond/rte_eth_bond_api.c            |   6 +-
> lib/librte_pmd_bond/rte_eth_bond_pmd.c            |  12 +-
> lib/librte_pmd_bond/rte_eth_bond_private.h        |   2 +-
> lib/librte_pmd_e1000/em_ethdev.c                  |   8 +-
> lib/librte_pmd_e1000/em_rxtx.c                    |   4 +-
> lib/librte_pmd_e1000/igb_ethdev.c                 |   2 +-
> lib/librte_pmd_i40e/i40e_ethdev.c                 |   4 +-
> lib/librte_pmd_ixgbe/ixgbe_ethdev.c               |   2 +-
> lib/librte_pmd_mlx4/mlx4.c                        |   2 +-
> lib/librte_pmd_null/rte_eth_null.c                |   2 +-
> lib/librte_pmd_pcap/rte_eth_pcap.c                |   2 +-
> lib/librte_pmd_ring/rte_eth_ring.c                |   2 +-
> lib/librte_pmd_virtio/virtio_ethdev.c             |   2 +-
> lib/librte_pmd_xenvirt/rte_eth_xenvirt.c          |   2 +-
> 26 files changed, 969 insertions(+), 426 deletions(-)
> create mode 100644 lib/librte_eal/common/eal_common_device.c
> create mode 100644 lib/librte_eal/common/include/rte_common_device.h
>
>-- 
>2.3.0
>

      parent reply	other threads:[~2015-04-10 18:47 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-08 20:58 Keith Wiles
2015-04-08 20:58 ` [dpdk-dev] [RFC PATCH 1/4] Rename of device types to be generic device names Keith Wiles
2015-04-08 20:58 ` [dpdk-dev] [RFC PATCH 2/4] Add the new common device header and C file Keith Wiles
2015-04-09 11:53   ` Neil Horman
2015-04-10 19:25     ` Wiles, Keith
2015-04-12 13:08       ` Neil Horman
2015-04-08 20:58 ` [dpdk-dev] [RFC PATCH 3/4] Update files to build new device generic common files and headers Keith Wiles
2015-04-08 20:58 ` [dpdk-dev] [RFC PATCH 4/4] Update the rte_ethdev.[ch] files for the new device generic changes Keith Wiles
2015-04-10 18:47 ` Wiles, Keith [this message]

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=D14D84A9.1ABAE%keith.wiles@intel.com \
    --to=keith.wiles@intel.com \
    --cc=dev@dpdk.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).