All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Feldman <sfeldma@gmail.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: jiri@resnulli.us, jasowang@redhat.com,
	john fastabend <john.fastabend@gmail.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	dsahern@gmail.com, pbonzini@redhat.com,
	roopa@cumulusnetworks.com
Subject: Re: [Qemu-devel] [PATCH v8 0/9] rocker: add new rocker ethernet switch device
Date: Mon, 30 Mar 2015 09:59:21 -0700	[thread overview]
Message-ID: <CAE4R7bAv3WfmTiWZxPswEH7H=bwc7QudaHeSS3kPqfdTTDBrow@mail.gmail.com> (raw)
In-Reply-To: <20150330145213.GL25181@stefanha-thinkpad.redhat.com>

[-- Attachment #1: Type: text/plain, Size: 7951 bytes --]

2.4 is fine, thanks
On Mar 30, 2015 7:52 AM, "Stefan Hajnoczi" <stefanha@gmail.com> wrote:

> On Fri, Mar 13, 2015 at 09:09:24PM -0700, sfeldma@gmail.com wrote:
> > From: Scott Feldman <sfeldma@gmail.com>
> >
> > v8:
> >
> >  - From Stefan Hajnoczi's net-pull-request v3, merge in these changes:
> >      - Squash David Ahern's clang struct definition warnings fix
> >      - Squash in Jiri's fix for rocker format string specifiers [Peter]
> >      - Squash in Windows build fix [Peter]
> >
> >  - In addition, fix 2 compile warnings from net-pull-request v4:
> >      - Fix compile issue for min glibc 2.12
> >      - w32: fix 64 bit constant without ULL suffix
> >
> > v7:
> >
> >  - Per Stefan Hajnoczi comments:
> >      - #ifdef CONFIG_ROCKER wrapper around qmp/hmp to fix compile when
> PCI is
> >        disabled or rocker is disabled.
> >
> > v6:
> >
> >  - Per Stefan Hajnoczi review:
> >      - Move tests to tests/rocker
> >      - Fix some mem leaks
> >      - Fix doc grammer/spelling
> >  - Per Eric Blake review:
> >      - Add #optional to optional args comments in qmp interface
> >      - Add "query-" prefix to qmp cmds
> >      - Fix doc grammer/spelling
> >
> > v5:
> >
> >  - Per Jason Wang review:
> >      - Fix some missing/wrong references in the rocker.txt spec
> >      - mark rocker as unmigratable.
> >
> > v4:
> >
> >  - Per Paolo Bonzini review:
> >      - move reg_guide.txt to docs/specs/rocker.txt
> >      - fix some spelling/grammer mistakes in the rocker.txt doc
> >      - fix some misleading/wrong statements in rocker.txt
> >      - add double 4-byte access for 64-bit registers
> >      - define new ROCKER_Exxx to replace usage of errno.h return codes
> >  - Add patch from David Ahern to timestamp debug output
> >
> > v3:
> >
> >  - Per Stefan Hajnoczi review:
> >      - move HMP rocker cmds to "info rocker"
> >      - prefix QMP rocker cmds with query-
> >      - tag QMP cmds as "Since 2.3"
> >      - convert structs to typedef with CamelCase naming
> >  - Remove SDHCI device ID move patch...Paolo Bonzini is addressing
> >    SDHCI move is separate patch.
> >
> > v2:
> >
> >  - Address reg_guide.txt review comments from Eric Blake
> >  - Address QMP review comments from Eric Blake
> >
> > v1:
> >
> > [This is a collaboration between myself and Jiri Pirko].
> >
> > This patch set adds a new ethernet switch device, called rocker.  Rocker
> is
> > intended to emulate HW features of switch ASICs found in today's
> > data-center-class switch/routers.  The original motivation in creating a
> new
> > device is to accelerate device driver development for ethernet switches
> in the
> > Linux kernel.  A device driver for rocker already exists in the Linux
> 3.18
> > kernel and loads against this device.  Basic L2 switching (bridging)
> > functionality is offloaded to the device.  Work continues to enable
> offloading
> > of L3 routing functions and ACLs, as well as support for a flow-based
> modes,
> > such as OpenVSwitch with OpenFlow.  Future support for terminating
> L2-over-L3
> > tunnels is also planned.
> >
> > The core network processing functions are based on the spec of a real
> device:
> > Broadcom's OF-DPA.  Specifically, rocker borrows OF-DPA's network
> processing
> > pipeline comprised of flow match and action tables.  Only the OF-DPA
> spec was
> > used in constructing rocker.  The rocker developers do not have access
> to the
> > real OF-DPA's software source code, so this is a clean-room, ground-up
> > development.
> >
> > Each rocker device is a PCI device with a memory-mapped register space
> and
> > MSI-X interrupts for command and event processing, as well as CPU-bound
> I/O.
> > Each device can support up to 62 "front-panel" ports, which present
> themselves
> > as -netdev attachment points.  The device is programmed using OF-DPA
> flow and
> > group tables to setup the flow pipeline.  The programming defines the
> > forwarding path for packets ingressing on 'front-panel' ports.  The
> forwarding
> > path can look at L2/L3/L4 packet header to forward the packet to its
> > destination.  For the performance path, packets would ingress and egress
> only
> > on the device, and not be passed up to the device driver (or host OS).
> The
> > slow path for control packets will forward packets to the CPU via the
> device
> > driver for host OS processing.
> >
> > A QMP/HMP interface is added to give inside into the device's internal
> port
> > configuration and flow/group tables.
> >
> > A test directory is included with some basic sanity tests to verify the
> device
> > and driver.
> >
> > David Ahern (1):
> >   rocker: timestamp on the debug logs helps correlate with events in
> >     the VM
> >
> > Scott Feldman (8):
> >   net: add MAC address string printer
> >   virtio-net: use qemu_mac_strdup_printf
> >   rocker: add register programming guide
> >   pci: add rocker device ID
> >   pci: add network device class 'other' for network switches
> >   rocker: add new rocker switch device
> >   rocker: add tests
> >   MAINTAINERS: add rocker
> >
> >  MAINTAINERS                   |    6 +
> >  default-configs/pci.mak       |    1 +
> >  docs/specs/pci-ids.txt        |    1 +
> >  docs/specs/rocker.txt         | 1009 ++++++++++++++++++
> >  hw/net/Makefile.objs          |    4 +
> >  hw/net/rocker/rocker.c        | 1480 ++++++++++++++++++++++++++
> >  hw/net/rocker/rocker.h        |   84 ++
> >  hw/net/rocker/rocker_desc.c   |  377 +++++++
> >  hw/net/rocker/rocker_desc.h   |   53 +
> >  hw/net/rocker/rocker_fp.c     |  234 +++++
> >  hw/net/rocker/rocker_fp.h     |   51 +
> >  hw/net/rocker/rocker_hw.h     |  491 +++++++++
> >  hw/net/rocker/rocker_of_dpa.c | 2315
> +++++++++++++++++++++++++++++++++++++++++
> >  hw/net/rocker/rocker_of_dpa.h |   22 +
> >  hw/net/rocker/rocker_tlv.h    |  244 +++++
> >  hw/net/rocker/rocker_world.c  |  106 ++
> >  hw/net/rocker/rocker_world.h  |   60 ++
> >  hw/net/virtio-net.c           |   12 +-
> >  include/hw/pci/pci.h          |    1 +
> >  include/hw/pci/pci_ids.h      |    1 +
> >  include/net/net.h             |    1 +
> >  net/net.c                     |    7 +
> >  tests/rocker/README           |    5 +
> >  tests/rocker/all              |   19 +
> >  tests/rocker/bridge           |   48 +
> >  tests/rocker/bridge-stp       |   57 +
> >  tests/rocker/bridge-vlan      |   57 +
> >  tests/rocker/bridge-vlan-stp  |   69 ++
> >  tests/rocker/port             |   22 +
> >  tests/rocker/tut.dot          |    8 +
> >  30 files changed, 6836 insertions(+), 9 deletions(-)
> >  create mode 100644 docs/specs/rocker.txt
> >  create mode 100644 hw/net/rocker/rocker.c
> >  create mode 100644 hw/net/rocker/rocker.h
> >  create mode 100644 hw/net/rocker/rocker_desc.c
> >  create mode 100644 hw/net/rocker/rocker_desc.h
> >  create mode 100644 hw/net/rocker/rocker_fp.c
> >  create mode 100644 hw/net/rocker/rocker_fp.h
> >  create mode 100644 hw/net/rocker/rocker_hw.h
> >  create mode 100644 hw/net/rocker/rocker_of_dpa.c
> >  create mode 100644 hw/net/rocker/rocker_of_dpa.h
> >  create mode 100644 hw/net/rocker/rocker_tlv.h
> >  create mode 100644 hw/net/rocker/rocker_world.c
> >  create mode 100644 hw/net/rocker/rocker_world.h
> >  create mode 100644 tests/rocker/README
> >  create mode 100755 tests/rocker/all
> >  create mode 100755 tests/rocker/bridge
> >  create mode 100755 tests/rocker/bridge-stp
> >  create mode 100755 tests/rocker/bridge-vlan
> >  create mode 100755 tests/rocker/bridge-vlan-stp
> >  create mode 100755 tests/rocker/port
> >  create mode 100644 tests/rocker/tut.dot
> >
> > --
> > 1.7.10.4
> >
>
> Applied to net-next for QEMU 2.4.  Due to the build issues that have
> been experienced, I'm less confident about pushing this into QEMU 2.3
> right before release.
>
> If there is a strong reason to get it into QEMU 2.3, please let me know.
>
> Thanks, applied to my net-next tree:
> https://github.com/stefanha/qemu/commits/net-next
>
> Stefan
>

[-- Attachment #2: Type: text/html, Size: 9817 bytes --]

      reply	other threads:[~2015-03-30 16:59 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-14  4:09 [Qemu-devel] [PATCH v8 0/9] rocker: add new rocker ethernet switch device sfeldma
2015-03-14  4:09 ` [Qemu-devel] [PATCH v8 1/9] net: add MAC address string printer sfeldma
2015-03-14  4:09 ` [Qemu-devel] [PATCH v8 2/9] virtio-net: use qemu_mac_strdup_printf sfeldma
2015-03-14  4:09 ` [Qemu-devel] [PATCH v8 3/9] rocker: add register programming guide sfeldma
2015-03-14  4:09 ` [Qemu-devel] [PATCH v8 4/9] pci: add rocker device ID sfeldma
2015-03-14  4:09 ` [Qemu-devel] [PATCH v8 5/9] pci: add network device class 'other' for network switches sfeldma
2015-03-14  4:09 ` [Qemu-devel] [PATCH v8 6/9] rocker: add new rocker switch device sfeldma
2015-03-14  4:09 ` [Qemu-devel] [PATCH v8 7/9] rocker: add tests sfeldma
2015-03-14  4:09 ` [Qemu-devel] [PATCH v8 8/9] MAINTAINERS: add rocker sfeldma
2015-03-14  4:09 ` [Qemu-devel] [PATCH v8 9/9] rocker: timestamp on the debug logs helps correlate with events in the VM sfeldma
2015-03-26  7:47 ` [Qemu-devel] [PATCH v8 0/9] rocker: add new rocker ethernet switch device Scott Feldman
2015-03-30 14:52 ` Stefan Hajnoczi
2015-03-30 16:59   ` Scott Feldman [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='CAE4R7bAv3WfmTiWZxPswEH7H=bwc7QudaHeSS3kPqfdTTDBrow@mail.gmail.com' \
    --to=sfeldma@gmail.com \
    --cc=dsahern@gmail.com \
    --cc=jasowang@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=john.fastabend@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=roopa@cumulusnetworks.com \
    --cc=stefanha@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.