[PULL 00/33] Net patches

Jason Wang posted 33 patches 3 years, 11 months ago
Test FreeBSD passed
Test asan passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1592289944-13727-1-git-send-email-jasowang@redhat.com
Maintainers: Jason Wang <jasowang@redhat.com>, Sven Schnelle <svens@stackframe.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Zhang Chen <chen.zhang@intel.com>, Eric Blake <eblake@redhat.com>, Alistair Francis <alistair@alistair23.me>, Markus Armbruster <armbru@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Li Zhijian <lizhijian@cn.fujitsu.com>, Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
There is a newer version of this series
chardev/char.c                 |   7 +-
docs/system/deprecated.rst     |  15 +-
hw/net/cadence_gem.c           | 458 +++++++++++++++++++++++------------------
hw/net/e1000e_core.c           |  10 +-
hw/net/trace-events            |   3 +
hw/net/tulip.c                 |  12 +-
hw/net/tulip.h                 |   2 +-
hw/net/virtio-net.c            | 387 ++++++++++++++++++++++++++++++----
include/hw/net/cadence_gem.h   |   6 +
include/hw/virtio/virtio-net.h |  16 ++
include/migration/vmstate.h    |  10 +
net/colo-compare.c             | 277 ++++++++++++++++++-------
net/colo.c                     |   7 +
net/colo.h                     |   1 +
net/net.c                      |  89 ++------
net/tap.c                      |   3 +-
net/trace-events               |   1 +
qapi/net.json                  |  49 -----
18 files changed, 904 insertions(+), 449 deletions(-)
[PULL 00/33] Net patches
Posted by Jason Wang 3 years, 11 months ago
The following changes since commit 7d3660e79830a069f1848bb4fa1cdf8f666424fb:

  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2020-06-12 23:06:22 +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 955aab203f932b8a7c23ff9c58ba036997cb3ed8:

  net: Drop the NetLegacy structure, always use Netdev instead (2020-06-16 14:40:40 +0800)

----------------------------------------------------------------

----------------------------------------------------------------
Derek Su (1):
      colo-compare: Fix memory leak in packet_enqueue()

Helge Deller (1):
      Fix tulip breakage

Jason Wang (1):
      net: use peer when purging queue in qemu_flush_or_purge_queue_packets()

Lukas Straub (6):
      net/colo-compare.c: Create event_bh with the right AioContext
      chardev/char.c: Use qemu_co_sleep_ns if in coroutine
      net/colo-compare.c: Fix deadlock in compare_chr_send
      net/colo-compare.c: Only hexdump packets if tracing is enabled
      net/colo-compare.c: Check that colo-compare is active
      net/colo-compare.c: Correct ordering in complete and finalize

Philippe Mathieu-Daudé (3):
      hw/net/tulip: Fix 'Descriptor Error' definition
      hw/net/tulip: Log descriptor overflows
      hw/net/e1000e: Do not abort() on invalid PSRCTL register value

Sai Pavan Boddu (11):
      net: cadence_gem: Fix debug statements
      net: cadence_gem: Fix the queue address update during wrap around
      net: cadence_gem: Fix irq update w.r.t queue
      net: cadence_gem: Define access permission for interrupt registers
      net: cadence_gem: Set ISR according to queue in use
      net: cadence_gem: Move tx/rx packet buffert to CadenceGEMState
      net: cadence_gem: Fix up code style
      net: cadence_gem: Add support for jumbo frames
      net: cadnece_gem: Update irq_read_clear field of designcfg_debug1 reg
      net: cadence_gem: Update the reset value for interrupt mask register
      net: cadence_gem: TX_LAST bit should be set by guest

Thomas Huth (2):
      net: Drop the legacy "name" parameter from the -net option
      net: Drop the NetLegacy structure, always use Netdev instead

Tong Ho (1):
      net: cadence_gem: Fix RX address filtering

Yuri Benditovich (7):
      virtio-net: implement RSS configuration command
      virtio-net: implement RX RSS processing
      tap: allow extended virtio header with hash info
      virtio-net: reference implementation of hash report
      vmstate.h: provide VMSTATE_VARRAY_UINT16_ALLOC macro
      virtio-net: add migration support for RSS and hash report
      virtio-net: align RSC fields with updated virtio-net header

 chardev/char.c                 |   7 +-
 docs/system/deprecated.rst     |  15 +-
 hw/net/cadence_gem.c           | 458 +++++++++++++++++++++++------------------
 hw/net/e1000e_core.c           |  10 +-
 hw/net/trace-events            |   3 +
 hw/net/tulip.c                 |  12 +-
 hw/net/tulip.h                 |   2 +-
 hw/net/virtio-net.c            | 387 ++++++++++++++++++++++++++++++----
 include/hw/net/cadence_gem.h   |   6 +
 include/hw/virtio/virtio-net.h |  16 ++
 include/migration/vmstate.h    |  10 +
 net/colo-compare.c             | 277 ++++++++++++++++++-------
 net/colo.c                     |   7 +
 net/colo.h                     |   1 +
 net/net.c                      |  89 ++------
 net/tap.c                      |   3 +-
 net/trace-events               |   1 +
 qapi/net.json                  |  49 -----
 18 files changed, 904 insertions(+), 449 deletions(-)



Re: [PULL 00/33] Net patches
Posted by Peter Maydell 3 years, 11 months ago
On Tue, 16 Jun 2020 at 07:45, Jason Wang <jasowang@redhat.com> wrote:
>
> The following changes since commit 7d3660e79830a069f1848bb4fa1cdf8f666424fb:
>
>   Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2020-06-12 23:06:22 +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 955aab203f932b8a7c23ff9c58ba036997cb3ed8:
>
>   net: Drop the NetLegacy structure, always use Netdev instead (2020-06-16 14:40:40 +0800)
>
> ----------------------------------------------------------------
>
> ----------------------------------------------------------------

Hi; I'm afraid this fails to build (all hosts):

hw/net/virtio-net.o: In function `virtio_net_device_realize':
/home/pm215/qemu/hw/net/virtio-net.c:3380: undefined reference to
`net_rx_pkt_init'
hw/net/virtio-net.o: In function `virtio_net_device_unrealize':
/home/pm215/qemu/hw/net/virtio-net.c:3418: undefined reference to
`net_rx_pkt_uninit'
hw/net/virtio-net.o: In function `virtio_net_process_rss':
/home/pm215/qemu/hw/net/virtio-net.c:1607: undefined reference to
`net_rx_pkt_set_protocols'
/home/pm215/qemu/hw/net/virtio-net.c:1609: undefined reference to
`net_rx_pkt_get_protocols'
/home/pm215/qemu/hw/net/virtio-net.c:1625: undefined reference to
`net_rx_pkt_calc_rss_hash'
/home/pm215/qemu/hw/net/virtio-net.c:1613: undefined reference to
`net_rx_pkt_get_ip6_info'
/home/pm215/qemu/hw/net/virtio-net.c:1610: undefined reference to
`net_rx_pkt_get_ip4_info'
collect2: error: ld returned 1 exit status

thanks
-- PMM

Re: [PULL 00/33] Net patches
Posted by Jason Wang 3 years, 11 months ago
On 2020/6/16 下午8:32, Peter Maydell wrote:
> On Tue, 16 Jun 2020 at 07:45, Jason Wang <jasowang@redhat.com> wrote:
>> The following changes since commit 7d3660e79830a069f1848bb4fa1cdf8f666424fb:
>>
>>    Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2020-06-12 23:06:22 +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 955aab203f932b8a7c23ff9c58ba036997cb3ed8:
>>
>>    net: Drop the NetLegacy structure, always use Netdev instead (2020-06-16 14:40:40 +0800)
>>
>> ----------------------------------------------------------------
>>
>> ----------------------------------------------------------------
> Hi; I'm afraid this fails to build (all hosts):
>
> hw/net/virtio-net.o: In function `virtio_net_device_realize':
> /home/pm215/qemu/hw/net/virtio-net.c:3380: undefined reference to
> `net_rx_pkt_init'
> hw/net/virtio-net.o: In function `virtio_net_device_unrealize':
> /home/pm215/qemu/hw/net/virtio-net.c:3418: undefined reference to
> `net_rx_pkt_uninit'
> hw/net/virtio-net.o: In function `virtio_net_process_rss':
> /home/pm215/qemu/hw/net/virtio-net.c:1607: undefined reference to
> `net_rx_pkt_set_protocols'
> /home/pm215/qemu/hw/net/virtio-net.c:1609: undefined reference to
> `net_rx_pkt_get_protocols'
> /home/pm215/qemu/hw/net/virtio-net.c:1625: undefined reference to
> `net_rx_pkt_calc_rss_hash'
> /home/pm215/qemu/hw/net/virtio-net.c:1613: undefined reference to
> `net_rx_pkt_get_ip6_info'
> /home/pm215/qemu/hw/net/virtio-net.c:1610: undefined reference to
> `net_rx_pkt_get_ip4_info'
> collect2: error: ld returned 1 exit status
>
> thanks
> -- PMM
>

Sorry for the failure.

This is because net_rx_pkt.c and net_tx_pkt.c are not complied when 
CONFIG_VIRTIO_NET is set. And it may work by chance if E1000E and 
VMXNET3 is enabled which is the case I test.

Will send V2.

Thanks