* [Qemu-devel] [PULL 0/9] Net patches
@ 2015-05-11 15:26 Stefan Hajnoczi
2015-05-12 10:41 ` Peter Maydell
0 siblings, 1 reply; 17+ messages in thread
From: Stefan Hajnoczi @ 2015-05-11 15:26 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi
The following changes since commit b951cda21d6b232f138ccf008e12bce8ddc95465:
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2015-05-11 12:01:09 +0100)
are available in the git repository at:
git://github.com/stefanha/qemu.git tags/net-pull-request
for you to fetch changes up to 7db161f6dd144760b2912026d992837ef80ca7e7:
rocker: timestamp on the debug logs helps correlate with events in the VM (2015-05-11 14:49:04 +0100)
----------------------------------------------------------------
----------------------------------------------------------------
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
--
2.1.0
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL 0/9] Net patches
2015-05-11 15:26 Stefan Hajnoczi
@ 2015-05-12 10:41 ` Peter Maydell
0 siblings, 0 replies; 17+ messages in thread
From: Peter Maydell @ 2015-05-12 10:41 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: QEMU Developers
On 11 May 2015 at 16:26, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit b951cda21d6b232f138ccf008e12bce8ddc95465:
>
> Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2015-05-11 12:01:09 +0100)
>
> are available in the git repository at:
>
> git://github.com/stefanha/qemu.git tags/net-pull-request
>
> for you to fetch changes up to 7db161f6dd144760b2912026d992837ef80ca7e7:
>
> rocker: timestamp on the debug logs helps correlate with events in the VM (2015-05-11 14:49:04 +0100)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 0/9] Net patches
@ 2016-10-26 2:24 Jason Wang
2016-10-27 12:31 ` Peter Maydell
0 siblings, 1 reply; 17+ messages in thread
From: Jason Wang @ 2016-10-26 2:24 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Jason Wang
The following changes since commit ede0cbeb7892bdf4a19128853a3a3c61a17fb068:
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2016-10-25' into staging (2016-10-25 17:03:11 +0100)
are available in the git repository at:
https://github.com/jasowang/qemu.git tags/net-pull-request
for you to fetch changes up to 2061c14c9bea67f8f1fc6bc7acb33c903a0586c1:
colo-proxy: fix memory leak (2016-10-26 09:58:02 +0800)
----------------------------------------------------------------
----------------------------------------------------------------
Brad Smith (1):
tap-bsd: OpenBSD uses tap(4) now
Kevin Wolf (1):
e1000e: Don't zero out buffer address in rx descriptor
Li Qiang (2):
net: eepro100: fix memory leak in device uninit
net: vmxnet: initialise local tx descriptor
Prasad J Pandit (4):
net: pcnet: check rx/tx descriptor ring length
net: pcnet: fix source formatting and indentation
net: rocker: set limit to DMA buffer size
net: rtl8139: limit processing of ring descriptors
Zhang Chen (1):
colo-proxy: fix memory leak
hw/net/e1000e_core.c | 8 +--
hw/net/eepro100.c | 1 +
hw/net/pcnet.c | 133 ++++++++++++++++++++++++++-----------------------
hw/net/rocker/rocker.c | 2 +-
hw/net/rtl8139.c | 2 +-
hw/net/vmxnet3.c | 1 +
net/colo-compare.c | 34 ++++++-------
net/filter-rewriter.c | 17 ++-----
net/tap-bsd.c | 6 ++-
net/trace-events | 1 +
10 files changed, 104 insertions(+), 101 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL 0/9] Net patches
2016-10-26 2:24 Jason Wang
@ 2016-10-27 12:31 ` Peter Maydell
0 siblings, 0 replies; 17+ messages in thread
From: Peter Maydell @ 2016-10-27 12:31 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers
On 26 October 2016 at 03:24, Jason Wang <jasowang@redhat.com> wrote:
> The following changes since commit ede0cbeb7892bdf4a19128853a3a3c61a17fb068:
>
> Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2016-10-25' into staging (2016-10-25 17:03:11 +0100)
>
> are available in the git repository at:
>
> https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to 2061c14c9bea67f8f1fc6bc7acb33c903a0586c1:
>
> colo-proxy: fix memory leak (2016-10-26 09:58:02 +0800)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 0/9] Net patches
@ 2017-05-23 2:43 Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 1/9] net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c Jason Wang
` (9 more replies)
0 siblings, 10 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Jason Wang
The following changes since commit 56821559f0ba682fe6b367815572e6f974d329ab:
Merge remote-tracking branch 'dgilbert/tags/pull-hmp-20170517' into staging (2017-05-18 13:36:15 +0100)
are available in the git repository at:
https://github.com/jasowang/qemu.git tags/net-pull-request
for you to fetch changes up to 82342e91b60a4a078811df4e1a545e57abffa11d:
e1000e: Fix ICR "Other" causes clear logic (2017-05-23 10:10:38 +0800)
----------------------------------------------------------------
----------------------------------------------------------------
Sameeh Jubran (1):
e1000e: Fix ICR "Other" causes clear logic
Thomas Huth (3):
net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c
net/dump: Issue a warning for the deprecated "-net dump"
hmp / net: Mark host_net_add/remove as deprecated
Yunjian Wang (1):
virtio-net: fix wild pointer when remove virtio-net queues
Zhang Chen (4):
COLO-compare: Improve tcp compare trace event readability
net/filter-mirror.c: Remove duplicate check code.
net/filter-mirror.c: Rename filter_mirror_send() and fix codestyle
net/filter-rewriter: Remove unused option in filter-rewriter
hmp-commands.hx | 8 ++--
hw/net/e1000e_core.c | 10 ++++-
hw/net/virtio-net.c | 3 ++
net/Makefile.objs | 15 ++++----
net/colo-compare.c | 33 ++++++++++------
net/dump.c | 3 ++
net/filter-mirror.c | 35 ++++++++---------
net/net.c | 13 +++++++
net/tap-haiku.c | 87 -------------------------------------------
net/{tap-aix.c => tap-stub.c} | 3 +-
net/trace-events | 3 +-
qemu-options.hx | 2 +-
12 files changed, 80 insertions(+), 135 deletions(-)
delete mode 100644 net/tap-haiku.c
rename net/{tap-aix.c => tap-stub.c} (97%)
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 1/9] net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
@ 2017-05-23 2:43 ` Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 2/9] net/dump: Issue a warning for the deprecated "-net dump" Jason Wang
` (8 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Thomas Huth, Jason Wang
From: Thomas Huth <thuth@redhat.com>
The files tap-haiku.c and tap-aix.c are identical (except one line
of error message). We should avoid such code duplication, so replace
these by a generic tap-stub.c file instead.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
net/Makefile.objs | 15 +++++-----
net/tap-aix.c | 88 -------------------------------------------------------
net/tap-haiku.c | 87 ------------------------------------------------------
net/tap-stub.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 95 insertions(+), 182 deletions(-)
delete mode 100644 net/tap-aix.c
delete mode 100644 net/tap-haiku.c
create mode 100644 net/tap-stub.c
diff --git a/net/Makefile.objs b/net/Makefile.objs
index 2e2fd43..67ba5e2 100644
--- a/net/Makefile.objs
+++ b/net/Makefile.objs
@@ -3,13 +3,7 @@ common-obj-y += socket.o
common-obj-y += dump.o
common-obj-y += eth.o
common-obj-$(CONFIG_L2TPV3) += l2tpv3.o
-common-obj-$(CONFIG_POSIX) += tap.o vhost-user.o
-common-obj-$(CONFIG_LINUX) += tap-linux.o
-common-obj-$(CONFIG_WIN32) += tap-win32.o
-common-obj-$(CONFIG_BSD) += tap-bsd.o
-common-obj-$(CONFIG_SOLARIS) += tap-solaris.o
-common-obj-$(CONFIG_AIX) += tap-aix.o
-common-obj-$(CONFIG_HAIKU) += tap-haiku.o
+common-obj-$(CONFIG_POSIX) += vhost-user.o
common-obj-$(CONFIG_SLIRP) += slirp.o
common-obj-$(CONFIG_VDE) += vde.o
common-obj-$(CONFIG_NETMAP) += netmap.o
@@ -20,3 +14,10 @@ common-obj-y += colo-compare.o
common-obj-y += colo.o
common-obj-y += filter-rewriter.o
common-obj-y += filter-replay.o
+
+tap-obj-$(CONFIG_LINUX) = tap-linux.o
+tap-obj-$(CONFIG_BSD) = tap-bsd.o
+tap-obj-$(CONFIG_SOLARIS) = tap-solaris.o
+tap-obj-y ?= tap-stub.o
+common-obj-$(CONFIG_POSIX) += tap.o $(tap-obj-y)
+common-obj-$(CONFIG_WIN32) += tap-win32.o
diff --git a/net/tap-aix.c b/net/tap-aix.c
deleted file mode 100644
index 0e6da63..0000000
--- a/net/tap-aix.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * QEMU System Emulator
- *
- * Copyright (c) 2003-2008 Fabrice Bellard
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#include "qemu/osdep.h"
-#include "qapi/error.h"
-#include "tap_int.h"
-
-int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
- int vnet_hdr_required, int mq_required, Error **errp)
-{
- error_setg(errp, "no tap on AIX");
- return -1;
-}
-
-void tap_set_sndbuf(int fd, const NetdevTapOptions *tap, Error **errp)
-{
-}
-
-int tap_probe_vnet_hdr(int fd)
-{
- return 0;
-}
-
-int tap_probe_has_ufo(int fd)
-{
- return 0;
-}
-
-int tap_probe_vnet_hdr_len(int fd, int len)
-{
- return 0;
-}
-
-void tap_fd_set_vnet_hdr_len(int fd, int len)
-{
-}
-
-int tap_fd_set_vnet_le(int fd, int is_le)
-{
- return -EINVAL;
-}
-
-int tap_fd_set_vnet_be(int fd, int is_be)
-{
- return -EINVAL;
-}
-
-void tap_fd_set_offload(int fd, int csum, int tso4,
- int tso6, int ecn, int ufo)
-{
-}
-
-int tap_fd_enable(int fd)
-{
- return -1;
-}
-
-int tap_fd_disable(int fd)
-{
- return -1;
-}
-
-int tap_fd_get_ifname(int fd, char *ifname)
-{
- return -1;
-}
-
diff --git a/net/tap-haiku.c b/net/tap-haiku.c
deleted file mode 100644
index b27e57e..0000000
--- a/net/tap-haiku.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * QEMU System Emulator
- *
- * Copyright (c) 2003-2008 Fabrice Bellard
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#include "qemu/osdep.h"
-#include "qapi/error.h"
-#include "tap_int.h"
-
-int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
- int vnet_hdr_required, int mq_required, Error **errp)
-{
- error_setg(errp, "no tap on Haiku");
- return -1;
-}
-
-void tap_set_sndbuf(int fd, const NetdevTapOptions *tap, Error **errp)
-{
-}
-
-int tap_probe_vnet_hdr(int fd)
-{
- return 0;
-}
-
-int tap_probe_has_ufo(int fd)
-{
- return 0;
-}
-
-int tap_probe_vnet_hdr_len(int fd, int len)
-{
- return 0;
-}
-
-void tap_fd_set_vnet_hdr_len(int fd, int len)
-{
-}
-
-int tap_fd_set_vnet_le(int fd, int is_le)
-{
- return -EINVAL;
-}
-
-int tap_fd_set_vnet_be(int fd, int is_be)
-{
- return -EINVAL;
-}
-
-void tap_fd_set_offload(int fd, int csum, int tso4,
- int tso6, int ecn, int ufo)
-{
-}
-
-int tap_fd_enable(int fd)
-{
- return -1;
-}
-
-int tap_fd_disable(int fd)
-{
- return -1;
-}
-
-int tap_fd_get_ifname(int fd, char *ifname)
-{
- return -1;
-}
diff --git a/net/tap-stub.c b/net/tap-stub.c
new file mode 100644
index 0000000..a9ab8f8
--- /dev/null
+++ b/net/tap-stub.c
@@ -0,0 +1,87 @@
+/*
+ * QEMU System Emulator
+ *
+ * Copyright (c) 2003-2008 Fabrice Bellard
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "qemu/osdep.h"
+#include "qapi/error.h"
+#include "tap_int.h"
+
+int tap_open(char *ifname, int ifname_size, int *vnet_hdr,
+ int vnet_hdr_required, int mq_required, Error **errp)
+{
+ error_setg(errp, "tap is not supported in this build");
+ return -1;
+}
+
+void tap_set_sndbuf(int fd, const NetdevTapOptions *tap, Error **errp)
+{
+}
+
+int tap_probe_vnet_hdr(int fd)
+{
+ return 0;
+}
+
+int tap_probe_has_ufo(int fd)
+{
+ return 0;
+}
+
+int tap_probe_vnet_hdr_len(int fd, int len)
+{
+ return 0;
+}
+
+void tap_fd_set_vnet_hdr_len(int fd, int len)
+{
+}
+
+int tap_fd_set_vnet_le(int fd, int is_le)
+{
+ return -EINVAL;
+}
+
+int tap_fd_set_vnet_be(int fd, int is_be)
+{
+ return -EINVAL;
+}
+
+void tap_fd_set_offload(int fd, int csum, int tso4,
+ int tso6, int ecn, int ufo)
+{
+}
+
+int tap_fd_enable(int fd)
+{
+ return -1;
+}
+
+int tap_fd_disable(int fd)
+{
+ return -1;
+}
+
+int tap_fd_get_ifname(int fd, char *ifname)
+{
+ return -1;
+}
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 2/9] net/dump: Issue a warning for the deprecated "-net dump"
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 1/9] net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c Jason Wang
@ 2017-05-23 2:43 ` Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 3/9] virtio-net: fix wild pointer when remove virtio-net queues Jason Wang
` (7 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Thomas Huth, Jason Wang
From: Thomas Huth <thuth@redhat.com>
Network dumping should be done with "-object filter-dump" nowadays.
Using "-net dump" via the VLAN mechanism is considered as deprecated
and might be removed in a future release. So warn the users now
to inform them to user the filter-dump method instead.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
net/dump.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/dump.c b/net/dump.c
index 89a149b..442eb53 100644
--- a/net/dump.c
+++ b/net/dump.c
@@ -194,6 +194,9 @@ int net_init_dump(const Netdev *netdev, const char *name,
assert(peer);
+ error_report("'-net dump' is deprecated. "
+ "Please use '-object filter-dump' instead.");
+
if (dump->has_file) {
file = dump->file;
} else {
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 3/9] virtio-net: fix wild pointer when remove virtio-net queues
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 1/9] net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 2/9] net/dump: Issue a warning for the deprecated "-net dump" Jason Wang
@ 2017-05-23 2:43 ` Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 4/9] COLO-compare: Improve tcp compare trace event readability Jason Wang
` (6 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Yunjian Wang, qemu-stable, Jason Wang
From: Yunjian Wang <wangyunjian@huawei.com>
The tx_bh or tx_timer will free in virtio_net_del_queue() function, when
removing virtio-net queues if the guest doesn't support multiqueue. But
it might be still referenced by virtio_net_set_status(), which needs to
be set NULL. And also the tx_waiting needs to be set zero to prevent
virtio_net_set_status() accessing tx_bh or tx_timer.
Cc: qemu-stable@nongnu.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
hw/net/virtio-net.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 7d091c9..98bd683 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1522,9 +1522,12 @@ static void virtio_net_del_queue(VirtIONet *n, int index)
if (q->tx_timer) {
timer_del(q->tx_timer);
timer_free(q->tx_timer);
+ q->tx_timer = NULL;
} else {
qemu_bh_delete(q->tx_bh);
+ q->tx_bh = NULL;
}
+ q->tx_waiting = 0;
virtio_del_queue(vdev, index * 2 + 1);
}
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 4/9] COLO-compare: Improve tcp compare trace event readability
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
` (2 preceding siblings ...)
2017-05-23 2:43 ` [Qemu-devel] [PULL 3/9] virtio-net: fix wild pointer when remove virtio-net queues Jason Wang
@ 2017-05-23 2:43 ` Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 5/9] hmp / net: Mark host_net_add/remove as deprecated Jason Wang
` (5 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Zhang Chen, Jason Wang
From: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Because of previous patch's trace arguments over the limit
of UST backend, so I rewrite the patch.
Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
net/colo-compare.c | 33 ++++++++++++++++++++++-----------
net/trace-events | 3 +--
2 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/net/colo-compare.c b/net/colo-compare.c
index 4ab80b1..2639c7f 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -265,17 +265,28 @@ static int colo_packet_compare_tcp(Packet *spkt, Packet *ppkt)
}
if (res != 0 && trace_event_get_state(TRACE_COLO_COMPARE_MISCOMPARE)) {
- trace_colo_compare_pkt_info_src(inet_ntoa(ppkt->ip->ip_src),
- ntohl(stcp->th_seq),
- ntohl(stcp->th_ack),
- res, stcp->th_flags,
- spkt->size);
-
- trace_colo_compare_pkt_info_dst(inet_ntoa(ppkt->ip->ip_dst),
- ntohl(ptcp->th_seq),
- ntohl(ptcp->th_ack),
- res, ptcp->th_flags,
- ppkt->size);
+ char pri_ip_src[20], pri_ip_dst[20], sec_ip_src[20], sec_ip_dst[20];
+
+ strcpy(pri_ip_src, inet_ntoa(ppkt->ip->ip_src));
+ strcpy(pri_ip_dst, inet_ntoa(ppkt->ip->ip_dst));
+ strcpy(sec_ip_src, inet_ntoa(spkt->ip->ip_src));
+ strcpy(sec_ip_dst, inet_ntoa(spkt->ip->ip_dst));
+
+ trace_colo_compare_ip_info(ppkt->size, pri_ip_src,
+ pri_ip_dst, spkt->size,
+ sec_ip_src, sec_ip_dst);
+
+ trace_colo_compare_tcp_info("pri tcp packet",
+ ntohl(ptcp->th_seq),
+ ntohl(ptcp->th_ack),
+ res, ptcp->th_flags,
+ ppkt->size);
+
+ trace_colo_compare_tcp_info("sec tcp packet",
+ ntohl(stcp->th_seq),
+ ntohl(stcp->th_ack),
+ res, stcp->th_flags,
+ spkt->size);
qemu_hexdump((char *)ppkt->data, stderr,
"colo-compare ppkt", ppkt->size);
diff --git a/net/trace-events b/net/trace-events
index 35198bc..247e5c0 100644
--- a/net/trace-events
+++ b/net/trace-events
@@ -13,8 +13,7 @@ colo_compare_icmp_miscompare(const char *sta, int size) ": %s = %d"
colo_compare_ip_info(int psize, const char *sta, const char *stb, int ssize, const char *stc, const char *std) "ppkt size = %d, ip_src = %s, ip_dst = %s, spkt size = %d, ip_src = %s, ip_dst = %s"
colo_old_packet_check_found(int64_t old_time) "%" PRId64
colo_compare_miscompare(void) ""
-colo_compare_pkt_info_src(const char *src, uint32_t sseq, uint32_t sack, int res, uint32_t sflag, int ssize) "src/dst: %s s: seq/ack=%u/%u res=%d flags=%x spkt_size: %d\n"
-colo_compare_pkt_info_dst(const char *dst, uint32_t dseq, uint32_t dack, int res, uint32_t dflag, int dsize) "src/dst: %s d: seq/ack=%u/%u res=%d flags=%x dpkt_size: %d\n"
+colo_compare_tcp_info(const char *pkt, uint32_t seq, uint32_t ack, int res, uint32_t flag, int size) "side: %s seq/ack= %u/%u res= %d flags= %x pkt_size: %d\n"
# net/filter-rewriter.c
colo_filter_rewriter_debug(void) ""
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 5/9] hmp / net: Mark host_net_add/remove as deprecated
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
` (3 preceding siblings ...)
2017-05-23 2:43 ` [Qemu-devel] [PULL 4/9] COLO-compare: Improve tcp compare trace event readability Jason Wang
@ 2017-05-23 2:43 ` Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 6/9] net/filter-mirror.c: Remove duplicate check code Jason Wang
` (4 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Thomas Huth, Jason Wang
From: Thomas Huth <thuth@redhat.com>
The netdev_add and netdev_del commands should be used nowadays instead.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
hmp-commands.hx | 8 ++++----
net/net.c | 13 +++++++++++++
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 0aca984..baeac47 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1296,7 +1296,7 @@ ETEXI
.name = "host_net_add",
.args_type = "device:s,opts:s?",
.params = "tap|user|socket|vde|netmap|bridge|vhost-user|dump [options]",
- .help = "add host VLAN client",
+ .help = "add host VLAN client (deprecated, use netdev_add instead)",
.cmd = hmp_host_net_add,
.command_completion = host_net_add_completion,
},
@@ -1304,14 +1304,14 @@ ETEXI
STEXI
@item host_net_add
@findex host_net_add
-Add host VLAN client.
+Add host VLAN client. Deprecated, please use @code{netdev_add} instead.
ETEXI
{
.name = "host_net_remove",
.args_type = "vlan_id:i,device:s",
.params = "vlan_id name",
- .help = "remove host VLAN client",
+ .help = "remove host VLAN client (deprecated, use netdev_del instead)",
.cmd = hmp_host_net_remove,
.command_completion = host_net_remove_completion,
},
@@ -1319,7 +1319,7 @@ ETEXI
STEXI
@item host_net_remove
@findex host_net_remove
-Remove host VLAN client.
+Remove host VLAN client. Deprecated, please use @code{netdev_del} instead.
ETEXI
{
diff --git a/net/net.c b/net/net.c
index 0ac3b9e..6235aab 100644
--- a/net/net.c
+++ b/net/net.c
@@ -45,6 +45,7 @@
#include "qapi-visit.h"
#include "qapi/opts-visitor.h"
#include "sysemu/sysemu.h"
+#include "sysemu/qtest.h"
#include "net/filter.h"
#include "qapi/string-output-visitor.h"
@@ -1149,6 +1150,12 @@ void hmp_host_net_add(Monitor *mon, const QDict *qdict)
const char *opts_str = qdict_get_try_str(qdict, "opts");
Error *local_err = NULL;
QemuOpts *opts;
+ static bool warned;
+
+ if (!warned && !qtest_enabled()) {
+ error_report("host_net_add is deprecated, use netdev_add instead");
+ warned = true;
+ }
if (!net_host_check_device(device)) {
monitor_printf(mon, "invalid host network device %s\n", device);
@@ -1175,6 +1182,12 @@ void hmp_host_net_remove(Monitor *mon, const QDict *qdict)
NetClientState *nc;
int vlan_id = qdict_get_int(qdict, "vlan_id");
const char *device = qdict_get_str(qdict, "device");
+ static bool warned;
+
+ if (!warned && !qtest_enabled()) {
+ error_report("host_net_remove is deprecated, use netdev_del instead");
+ warned = true;
+ }
nc = net_hub_find_client_by_name(vlan_id, device);
if (!nc) {
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 6/9] net/filter-mirror.c: Remove duplicate check code.
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
` (4 preceding siblings ...)
2017-05-23 2:43 ` [Qemu-devel] [PULL 5/9] hmp / net: Mark host_net_add/remove as deprecated Jason Wang
@ 2017-05-23 2:43 ` Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 7/9] net/filter-mirror.c: Rename filter_mirror_send() and fix codestyle Jason Wang
` (3 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Zhang Chen, Jason Wang
From: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
The s->outdev have checked in filter_mirror_set_outdev().
Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
net/filter-mirror.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/net/filter-mirror.c b/net/filter-mirror.c
index 72fa7c2..fd0322f 100644
--- a/net/filter-mirror.c
+++ b/net/filter-mirror.c
@@ -194,12 +194,6 @@ static void filter_mirror_setup(NetFilterState *nf, Error **errp)
MirrorState *s = FILTER_MIRROR(nf);
Chardev *chr;
- if (!s->outdev) {
- error_setg(errp, "filter mirror needs 'outdev' "
- "property set");
- return;
- }
-
chr = qemu_chr_find(s->outdev);
if (chr == NULL) {
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 7/9] net/filter-mirror.c: Rename filter_mirror_send() and fix codestyle
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
` (5 preceding siblings ...)
2017-05-23 2:43 ` [Qemu-devel] [PULL 6/9] net/filter-mirror.c: Remove duplicate check code Jason Wang
@ 2017-05-23 2:43 ` Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 8/9] net/filter-rewriter: Remove unused option in filter-rewriter Jason Wang
` (2 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Zhang Chen, Jason Wang
From: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Because filter_mirror_receive_iov() and filter_redirector_receive_iov()
both use the filter_mirror_send() to send packet, so I change
filter_mirror_send() to filter_send() that looks more common.
And fix some codestyle.
Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
net/filter-mirror.c | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/net/filter-mirror.c b/net/filter-mirror.c
index fd0322f..8b1b069 100644
--- a/net/filter-mirror.c
+++ b/net/filter-mirror.c
@@ -43,9 +43,9 @@ typedef struct MirrorState {
SocketReadState rs;
} MirrorState;
-static int filter_mirror_send(CharBackend *chr_out,
- const struct iovec *iov,
- int iovcnt)
+static int filter_send(CharBackend *chr_out,
+ const struct iovec *iov,
+ int iovcnt)
{
int ret = 0;
ssize_t size = 0;
@@ -141,9 +141,9 @@ static ssize_t filter_mirror_receive_iov(NetFilterState *nf,
MirrorState *s = FILTER_MIRROR(nf);
int ret;
- ret = filter_mirror_send(&s->chr_out, iov, iovcnt);
+ ret = filter_send(&s->chr_out, iov, iovcnt);
if (ret) {
- error_report("filter_mirror_send failed(%s)", strerror(-ret));
+ error_report("filter mirror send failed(%s)", strerror(-ret));
}
/*
@@ -164,9 +164,9 @@ static ssize_t filter_redirector_receive_iov(NetFilterState *nf,
int ret;
if (qemu_chr_fe_get_driver(&s->chr_out)) {
- ret = filter_mirror_send(&s->chr_out, iov, iovcnt);
+ ret = filter_send(&s->chr_out, iov, iovcnt);
if (ret) {
- error_report("filter_mirror_send failed(%s)", strerror(-ret));
+ error_report("filter redirector send failed(%s)", strerror(-ret));
}
return iov_size(iov, iovcnt);
} else {
@@ -286,8 +286,9 @@ static char *filter_redirector_get_indev(Object *obj, Error **errp)
return g_strdup(s->indev);
}
-static void
-filter_redirector_set_indev(Object *obj, const char *value, Error **errp)
+static void filter_redirector_set_indev(Object *obj,
+ const char *value,
+ Error **errp)
{
MirrorState *s = FILTER_REDIRECTOR(obj);
@@ -302,8 +303,9 @@ static char *filter_mirror_get_outdev(Object *obj, Error **errp)
return g_strdup(s->outdev);
}
-static void
-filter_mirror_set_outdev(Object *obj, const char *value, Error **errp)
+static void filter_mirror_set_outdev(Object *obj,
+ const char *value,
+ Error **errp)
{
MirrorState *s = FILTER_MIRROR(obj);
@@ -323,8 +325,9 @@ static char *filter_redirector_get_outdev(Object *obj, Error **errp)
return g_strdup(s->outdev);
}
-static void
-filter_redirector_set_outdev(Object *obj, const char *value, Error **errp)
+static void filter_redirector_set_outdev(Object *obj,
+ const char *value,
+ Error **errp)
{
MirrorState *s = FILTER_REDIRECTOR(obj);
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 8/9] net/filter-rewriter: Remove unused option in filter-rewriter
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
` (6 preceding siblings ...)
2017-05-23 2:43 ` [Qemu-devel] [PULL 7/9] net/filter-mirror.c: Rename filter_mirror_send() and fix codestyle Jason Wang
@ 2017-05-23 2:43 ` Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 9/9] e1000e: Fix ICR "Other" causes clear logic Jason Wang
2017-05-23 13:54 ` [Qemu-devel] [PULL 0/9] Net patches Stefan Hajnoczi
9 siblings, 0 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell; +Cc: Zhang Chen, Jason Wang
From: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
qemu-options.hx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index f07a310..f63f7dc 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -4072,7 +4072,7 @@ Create a filter-redirector we need to differ outdev id from indev id, id can not
be the same. we can just use indev or outdev, but at least one of indev or outdev
need to be specified.
-@item -object filter-rewriter,id=@var{id},netdev=@var{netdevid},rewriter-mode=@var{mode}[,queue=@var{all|rx|tx}]
+@item -object filter-rewriter,id=@var{id},netdev=@var{netdevid}[,queue=@var{all|rx|tx}]
Filter-rewriter is a part of COLO project.It will rewrite tcp packet to
secondary from primary to keep secondary tcp connection,and rewrite
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 9/9] e1000e: Fix ICR "Other" causes clear logic
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
` (7 preceding siblings ...)
2017-05-23 2:43 ` [Qemu-devel] [PULL 8/9] net/filter-rewriter: Remove unused option in filter-rewriter Jason Wang
@ 2017-05-23 2:43 ` Jason Wang
2017-05-23 13:54 ` [Qemu-devel] [PULL 0/9] Net patches Stefan Hajnoczi
9 siblings, 0 replies; 17+ messages in thread
From: Jason Wang @ 2017-05-23 2:43 UTC (permalink / raw)
To: qemu-devel, peter.maydell
Cc: Sameeh Jubran, qemu-stable, Sameeh Jubran, Jason Wang
From: Sameeh Jubran <sameeh@daynix.com>
This commit fixes a bug which causes the guest to hang. The bug was
observed upon a "receive overrun" (bit #6 of the ICR register)
interrupt which could be triggered post migration in a heavy traffic
environment. Even though the "receive overrun" bit (#6) is masked out
by the IMS register (refer to the log below) the driver still receives
an interrupt as the "receive overrun" bit (#6) causes the "Other" -
bit #24 of the ICR register - bit to be set as documented below. The
driver handles the interrupt and clears the "Other" bit (#24) but
doesn't clear the "receive overrun" bit (#6) which leads to an
infinite loop. Apparently the Windows driver expects that the "receive
overrun" bit and other ones - documented below - to be cleared when
the "Other" bit (#24) is cleared.
So to sum that up:
1. Bit #6 of the ICR register is set by heavy traffic
2. As a results of setting bit #6, bit #24 is set
3. The driver receives an interrupt for bit 24 (it doesn't receieve an
interrupt for bit #6 as it is masked out by IMS)
4. The driver handles and clears the interrupt of bit #24
5. Bit #6 is still set.
6. 2 happens all over again
The Interrupt Cause Read - ICR register:
The ICR has the "Other" bit - bit #24 - that is set when one or more
of the following ICR register's bits are set:
LSC - bit #2, RXO - bit #6, MDAC - bit #9, SRPD - bit #16, ACK - bit
#17, MNG - bit #18
This bug can occur with any of these bits depending on the driver's
behaviour and the way it configures the device. However, trying to
reproduce it with any bit other than RX0 is challenging and came to
failure as the drivers don't implement most of these bits, trying to
reproduce it with LSC (Link Status Change - bit #2) bit didn't succeed
too as it seems that Windows handles this bit differently.
Log sample of the storm:
27563@1494850819.411877:e1000e_irq_pending_interrupts ICR PENDING: 0x1000000 (ICR: 0x815000c2, IMS: 0x1a00004)
27563@1494850819.411900:e1000e_irq_pending_interrupts ICR PENDING: 0x0 (ICR: 0x815000c2, IMS: 0xa00004)
27563@1494850819.411915:e1000e_irq_pending_interrupts ICR PENDING: 0x0 (ICR: 0x815000c2, IMS: 0xa00004)
27563@1494850819.412380:e1000e_irq_pending_interrupts ICR PENDING: 0x0 (ICR: 0x815000c2, IMS: 0xa00004)
27563@1494850819.412395:e1000e_irq_pending_interrupts ICR PENDING: 0x0 (ICR: 0x815000c2, IMS: 0xa00004)
27563@1494850819.412436:e1000e_irq_pending_interrupts ICR PENDING: 0x0 (ICR: 0x815000c2, IMS: 0xa00004)
27563@1494850819.412441:e1000e_irq_pending_interrupts ICR PENDING: 0x0 (ICR: 0x815000c2, IMS: 0xa00004)
27563@1494850819.412998:e1000e_irq_pending_interrupts ICR PENDING: 0x1000000 (ICR: 0x815000c2, IMS: 0x1a00004)
* This bug behaviour wasn't observed with the Linux driver.
This commit solves:
https://bugzilla.redhat.com/show_bug.cgi?id=1447935
https://bugzilla.redhat.com/show_bug.cgi?id=1449490
Cc: qemu-stable@nongnu.org
Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
hw/net/e1000e_core.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
index 28c5be1..8140564 100644
--- a/hw/net/e1000e_core.c
+++ b/hw/net/e1000e_core.c
@@ -2454,14 +2454,20 @@ e1000e_set_ics(E1000ECore *core, int index, uint32_t val)
static void
e1000e_set_icr(E1000ECore *core, int index, uint32_t val)
{
+ uint32_t icr = 0;
if ((core->mac[ICR] & E1000_ICR_ASSERTED) &&
(core->mac[CTRL_EXT] & E1000_CTRL_EXT_IAME)) {
trace_e1000e_irq_icr_process_iame();
e1000e_clear_ims_bits(core, core->mac[IAM]);
}
- trace_e1000e_irq_icr_write(val, core->mac[ICR], core->mac[ICR] & ~val);
- core->mac[ICR] &= ~val;
+ icr = core->mac[ICR] & ~val;
+ /* Windows driver expects that the "receive overrun" bit and other
+ * ones to be cleared when the "Other" bit (#24) is cleared.
+ */
+ icr = (val & E1000_ICR_OTHER) ? (icr & ~E1000_ICR_OTHER_CAUSES) : icr;
+ trace_e1000e_irq_icr_write(val, core->mac[ICR], icr);
+ core->mac[ICR] = icr;
e1000e_update_interrupt_state(core);
}
--
2.7.4
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL 0/9] Net patches
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
` (8 preceding siblings ...)
2017-05-23 2:43 ` [Qemu-devel] [PULL 9/9] e1000e: Fix ICR "Other" causes clear logic Jason Wang
@ 2017-05-23 13:54 ` Stefan Hajnoczi
9 siblings, 0 replies; 17+ messages in thread
From: Stefan Hajnoczi @ 2017-05-23 13:54 UTC (permalink / raw)
To: Jason Wang; +Cc: qemu-devel, peter.maydell
[-- Attachment #1: Type: text/plain, Size: 2204 bytes --]
On Tue, May 23, 2017 at 10:43:50AM +0800, Jason Wang wrote:
> The following changes since commit 56821559f0ba682fe6b367815572e6f974d329ab:
>
> Merge remote-tracking branch 'dgilbert/tags/pull-hmp-20170517' into staging (2017-05-18 13:36:15 +0100)
>
> are available in the git repository at:
>
> https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to 82342e91b60a4a078811df4e1a545e57abffa11d:
>
> e1000e: Fix ICR "Other" causes clear logic (2017-05-23 10:10:38 +0800)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
> Sameeh Jubran (1):
> e1000e: Fix ICR "Other" causes clear logic
>
> Thomas Huth (3):
> net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c
> net/dump: Issue a warning for the deprecated "-net dump"
> hmp / net: Mark host_net_add/remove as deprecated
>
> Yunjian Wang (1):
> virtio-net: fix wild pointer when remove virtio-net queues
>
> Zhang Chen (4):
> COLO-compare: Improve tcp compare trace event readability
> net/filter-mirror.c: Remove duplicate check code.
> net/filter-mirror.c: Rename filter_mirror_send() and fix codestyle
> net/filter-rewriter: Remove unused option in filter-rewriter
>
> hmp-commands.hx | 8 ++--
> hw/net/e1000e_core.c | 10 ++++-
> hw/net/virtio-net.c | 3 ++
> net/Makefile.objs | 15 ++++----
> net/colo-compare.c | 33 ++++++++++------
> net/dump.c | 3 ++
> net/filter-mirror.c | 35 ++++++++---------
> net/net.c | 13 +++++++
> net/tap-haiku.c | 87 -------------------------------------------
> net/{tap-aix.c => tap-stub.c} | 3 +-
> net/trace-events | 3 +-
> qemu-options.hx | 2 +-
> 12 files changed, 80 insertions(+), 135 deletions(-)
> delete mode 100644 net/tap-haiku.c
> rename net/{tap-aix.c => tap-stub.c} (97%)
>
>
Thanks, applied to my staging tree:
https://github.com/stefanha/qemu/commits/staging
Stefan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Qemu-devel] [PULL 0/9] Net patches
@ 2018-03-05 3:11 Jason Wang
2018-03-05 15:16 ` Peter Maydell
0 siblings, 1 reply; 17+ messages in thread
From: Jason Wang @ 2018-03-05 3:11 UTC (permalink / raw)
To: peter.maydell, qemu-devel; +Cc: Jason Wang
The following changes since commit 136c67e07869227b21b3f627316e03679ce7b738:
Merge remote-tracking branch 'remotes/bkoppelmann/tags/pull-tricore-2018-03-02' into staging (2018-03-02 16:56:20 +0000)
are available in the git repository at:
https://github.com/jasowang/qemu.git tags/net-pull-request
for you to fetch changes up to 46d4d36d0bf2b24b205f2f604f0905db80264eef:
tap: setting error appropriately when calling net_init_tap_one() (2018-03-05 10:30:16 +0800)
----------------------------------------------------------------
----------------------------------------------------------------
Jay Zhou (1):
tap: setting error appropriately when calling net_init_tap_one()
Thomas Huth (8):
net: Move error reporting from net_init_client/netdev to the calling site
net: List available netdevs with "-netdev help"
net: Only show vhost-user in the help text if CONFIG_POSIX is defined
net: Make net_client_init() static
net: Remove the deprecated way of dumping network packets
net: Remove the deprecated 'host_net_add' and 'host_net_remove' HMP commands
net: Add a new convenience option "--nic" to configure default/on-board NICs
hw/net: Remove unnecessary header includes
hmp-commands.hx | 30 ------
hmp.h | 3 -
hw/net/e1000.c | 1 -
hw/net/lance.c | 3 -
hw/net/ne2000.c | 2 -
hw/net/pcnet-pci.c | 1 -
hw/net/pcnet.c | 1 -
hw/net/rtl8139.c | 2 -
hw/net/xgmac.c | 1 -
include/net/net.h | 4 +-
include/net/vhost_net.h | 3 +
include/sysemu/sysemu.h | 1 +
monitor.c | 61 ------------
net/dump.c | 102 +--------------------
net/net.c | 239 +++++++++++++++++++++++-------------------------
net/tap.c | 22 ++++-
qapi/net.json | 29 ++----
qemu-doc.texi | 16 ----
qemu-options.hx | 48 +++++++---
tests/test-hmp.c | 2 -
vl.c | 10 +-
21 files changed, 190 insertions(+), 391 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] [PULL 0/9] Net patches
2018-03-05 3:11 Jason Wang
@ 2018-03-05 15:16 ` Peter Maydell
0 siblings, 0 replies; 17+ messages in thread
From: Peter Maydell @ 2018-03-05 15:16 UTC (permalink / raw)
To: Jason Wang; +Cc: QEMU Developers
On 5 March 2018 at 03:11, Jason Wang <jasowang@redhat.com> wrote:
> The following changes since commit 136c67e07869227b21b3f627316e03679ce7b738:
>
> Merge remote-tracking branch 'remotes/bkoppelmann/tags/pull-tricore-2018-03-02' into staging (2018-03-02 16:56:20 +0000)
>
> are available in the git repository at:
>
> https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to 46d4d36d0bf2b24b205f2f604f0905db80264eef:
>
> tap: setting error appropriately when calling net_init_tap_one() (2018-03-05 10:30:16 +0800)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------
> Jay Zhou (1):
> tap: setting error appropriately when calling net_init_tap_one()
>
> Thomas Huth (8):
> net: Move error reporting from net_init_client/netdev to the calling site
> net: List available netdevs with "-netdev help"
> net: Only show vhost-user in the help text if CONFIG_POSIX is defined
> net: Make net_client_init() static
> net: Remove the deprecated way of dumping network packets
> net: Remove the deprecated 'host_net_add' and 'host_net_remove' HMP commands
> net: Add a new convenience option "--nic" to configure default/on-board NICs
> hw/net: Remove unnecessary header includes
>
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2018-03-05 15:16 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-23 2:43 [Qemu-devel] [PULL 0/9] Net patches Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 1/9] net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 2/9] net/dump: Issue a warning for the deprecated "-net dump" Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 3/9] virtio-net: fix wild pointer when remove virtio-net queues Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 4/9] COLO-compare: Improve tcp compare trace event readability Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 5/9] hmp / net: Mark host_net_add/remove as deprecated Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 6/9] net/filter-mirror.c: Remove duplicate check code Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 7/9] net/filter-mirror.c: Rename filter_mirror_send() and fix codestyle Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 8/9] net/filter-rewriter: Remove unused option in filter-rewriter Jason Wang
2017-05-23 2:43 ` [Qemu-devel] [PULL 9/9] e1000e: Fix ICR "Other" causes clear logic Jason Wang
2017-05-23 13:54 ` [Qemu-devel] [PULL 0/9] Net patches Stefan Hajnoczi
-- strict thread matches above, loose matches on Subject: below --
2018-03-05 3:11 Jason Wang
2018-03-05 15:16 ` Peter Maydell
2016-10-26 2:24 Jason Wang
2016-10-27 12:31 ` Peter Maydell
2015-05-11 15:26 Stefan Hajnoczi
2015-05-12 10:41 ` Peter Maydell
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).