From: Jason Wang <jasowang@redhat.com>
To: sfeldma@gmail.com, qemu-devel@nongnu.org, jiri@resnulli.us,
roopa@cumulusnetworks.com, john.fastabend@gmail.com,
eblake@redhat.com, pbonzini@redhat.com, stefanha@gmail.com
Subject: Re: [Qemu-devel] [PATCH v3 7/9] qmp: add rocker device support
Date: Fri, 16 Jan 2015 17:26:17 +0800 [thread overview]
Message-ID: <54B8D939.2020603@redhat.com> (raw)
In-Reply-To: <1420948672-50103-8-git-send-email-sfeldma@gmail.com>
On 01/11/2015 11:57 AM, sfeldma@gmail.com wrote:
> From: Scott Feldman <sfeldma@gmail.com>
>
> Add QMP/HMP support for rocker devices. This is mostly for debugging purposes
> to see inside the device's tables and port configurations. Some examples:
>
> (qemu) info rocker sw1
> name: sw1
> id: 0x0000013512005452
> ports: 4
>
> (qemu) info rocker-ports sw1
> ena/ speed/ auto
> port link duplex neg?
> sw1.1 up 10G FD No
> sw1.2 up 10G FD No
> sw1.3 !ena 10G FD No
> sw1.4 !ena 10G FD No
>
> (qemu) info rocker-of-dpa-flows sw1
> prio tbl hits key(mask) --> actions
> 2 60 lport 1 vlan 1 LLDP src 00:02:00:00:02:00 dst 01:80:c2:00:00:0e
> 2 60 lport 1 vlan 1 ARP src 00:02:00:00:02:00 dst 00:02:00:00:03:00
> 2 60 lport 2 vlan 2 IPv6 src 00:02:00:00:03:00 dst 33:33:ff:00:00:02 proto 58
> 3 50 vlan 2 dst 33:33:ff:00:00:02 --> write group 0x32000001 goto tbl 60
> 2 60 lport 2 vlan 2 IPv6 src 00:02:00:00:03:00 dst 33:33:ff:00:03:00 proto 58
> 3 50 1 vlan 2 dst 33:33:ff:00:03:00 --> write group 0x32000001 goto tbl 60
> 2 60 lport 2 vlan 2 ARP src 00:02:00:00:03:00 dst 00:02:00:00:02:00
> 3 50 2 vlan 2 dst 00:02:00:00:02:00 --> write group 0x02000001 goto tbl 60
> 2 60 1 lport 2 vlan 2 IP src 00:02:00:00:03:00 dst 00:02:00:00:02:00 proto 1
> 3 50 2 vlan 1 dst 00:02:00:00:03:00 --> write group 0x01000002 goto tbl 60
> 2 60 1 lport 1 vlan 1 IP src 00:02:00:00:02:00 dst 00:02:00:00:03:00 proto 1
> 2 60 lport 1 vlan 1 IPv6 src 00:02:00:00:02:00 dst 33:33:ff:00:00:01 proto 58
> 3 50 vlan 1 dst 33:33:ff:00:00:01 --> write group 0x31000000 goto tbl 60
> 2 60 lport 1 vlan 1 IPv6 src 00:02:00:00:02:00 dst 33:33:ff:00:02:00 proto 58
> 3 50 1 vlan 1 dst 33:33:ff:00:02:00 --> write group 0x31000000 goto tbl 60
> 1 60 173 lport 2 vlan 2 LLDP src <any> dst 01:80:c2:00:00:0e --> write group 0x02000000
> 1 60 6 lport 2 vlan 2 IPv6 src <any> dst <any> --> write group 0x02000000
> 1 60 174 lport 1 vlan 1 LLDP src <any> dst 01:80:c2:00:00:0e --> write group 0x01000000
> 1 60 174 lport 2 vlan 2 IP src <any> dst <any> --> write group 0x02000000
> 1 60 6 lport 1 vlan 1 IPv6 src <any> dst <any> --> write group 0x01000000
> 1 60 181 lport 2 vlan 2 ARP src <any> dst <any> --> write group 0x02000000
> 1 10 715 lport 2 --> apply new vlan 2 goto tbl 20
> 1 60 177 lport 1 vlan 1 ARP src <any> dst <any> --> write group 0x01000000
> 1 60 174 lport 1 vlan 1 IP src <any> dst <any> --> write group 0x01000000
> 1 10 717 lport 1 --> apply new vlan 1 goto tbl 20
> 1 0 1432 lport 0(0xffff) --> goto tbl 10
>
> (qemu) info rocker-of-dpa-groups sw1
> id (decode) --> buckets
> 0x32000001 (type L2 multicast vlan 2 index 1) --> groups [0x02000001,0x02000000]
> 0x02000001 (type L2 interface vlan 2 lport 1) --> pop vlan out lport 1
> 0x01000002 (type L2 interface vlan 1 lport 2) --> pop vlan out lport 2
> 0x02000000 (type L2 interface vlan 2 lport 0) --> pop vlan out lport 0
> 0x01000000 (type L2 interface vlan 1 lport 0) --> pop vlan out lport 0
> 0x31000000 (type L2 multicast vlan 1 index 0) --> groups [0x01000002,0x01000000]
>
> Signed-off-by: Scott Feldman <sfeldma@gmail.com>
> Signed-off-by: Jiri Pirko <jiri@resnulli.us>
> ---
> hmp-commands.hx | 24 ++++
> hmp.c | 303 ++++++++++++++++++++++++++++++++++++++++
> hmp.h | 4 +
> hw/net/rocker/rocker.c | 45 ++++++
> hw/net/rocker/rocker_fp.c | 10 ++
> hw/net/rocker/rocker_fp.h | 1 +
> hw/net/rocker/rocker_of_dpa.c | 308 +++++++++++++++++++++++++++++++++++++++++
> monitor.c | 28 ++++
> qapi-schema.json | 3 +
> qapi/rocker.json | 259 ++++++++++++++++++++++++++++++++++
> qmp-commands.hx | 97 +++++++++++++
> 11 files changed, 1082 insertions(+)
> create mode 100644 qapi/rocker.json
I don't object this method but not sure it was worth (especially
consider it needs nearly a thousand lines of codes).
Could we just do this through remote controller or agent?
Thanks
next prev parent reply other threads:[~2015-01-16 9:26 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-11 3:57 [Qemu-devel] [PATCH v3 0/9] rocker: add new rocker ethernet switch device sfeldma
2015-01-11 3:57 ` [Qemu-devel] [PATCH v3 1/9] net: add MAC address string printer sfeldma
2015-01-11 3:57 ` [Qemu-devel] [PATCH v3 2/9] virtio-net: use qemu_mac_strdup_printf sfeldma
2015-01-11 3:57 ` [Qemu-devel] [PATCH v3 3/9] rocker: add register programming guide sfeldma
2015-01-12 11:40 ` Paolo Bonzini
2015-01-16 8:14 ` Scott Feldman
2015-01-11 3:57 ` [Qemu-devel] [PATCH v3 4/9] pci: add rocker device ID sfeldma
2015-01-11 3:57 ` [Qemu-devel] [PATCH v3 5/9] pci: add network device class 'other' for network switches sfeldma
2015-01-11 3:57 ` [Qemu-devel] [PATCH v3 6/9] rocker: add new rocker switch device sfeldma
2015-01-12 12:57 ` Paolo Bonzini
2015-01-14 23:20 ` Scott Feldman
2015-01-15 9:08 ` Paolo Bonzini
2015-01-16 9:15 ` Jason Wang
2015-01-16 9:48 ` Scott Feldman
2015-01-21 3:36 ` Jason Wang
2015-01-11 3:57 ` [Qemu-devel] [PATCH v3 7/9] qmp: add rocker device support sfeldma
2015-01-16 9:26 ` Jason Wang [this message]
2015-01-16 9:59 ` Scott Feldman
2015-01-11 3:57 ` [Qemu-devel] [PATCH v3 8/9] rocker: add tests sfeldma
2015-01-11 3:57 ` [Qemu-devel] [PATCH v3 9/9] MAINTAINERS: add rocker sfeldma
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=54B8D939.2020603@redhat.com \
--to=jasowang@redhat.com \
--cc=eblake@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=sfeldma@gmail.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.