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 --]
prev parent 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 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).