mbox

[PULL,V2,00/20] Net patches

Message ID 1464076197-8574-1-git-send-email-jasowang@redhat.com
State New
Headers show

Pull-request

https://github.com/jasowang/qemu.git tags/net-pull-request

Message

Jason Wang May 24, 2016, 7:49 a.m. UTC
The following changes since commit 3a2da52a99582ac2c0e29e548bb1fc28e2cdb84a:

  net/tap: Allocating Large sized arrays to heap (2016-05-24 15:30:41 +0800)

are available in the git repository at:

  https://github.com/jasowang/qemu.git tags/net-pull-request

for you to fetch changes up to f99d30aaf53e5b501dd3405007232db963ba65c6:

  net/net: Add SocketReadState for reuse codes (2016-05-24 15:30:42 +0800)

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

Main changes:
- e1000e emulation
- convet vmxnet3 to use DMA api
Changes from V1:
- fix 32bit build

----------------------------------------------------------------
Dmitry Fleytman (14):
      msix: make msix_clr_pending() visible for clients
      pci: Introduce define for PM capability version 1.1
      pcie: Add support for PCIe CAP v1
      pcie: Introduce function for DSN capability creation
      vmxnet3: Use generic function for DSN capability definition
      net: Introduce Toeplitz hash calculator
      net: Add macros for MAC address tracing
      vmxnet3: Use common MAC address tracing macros
      net_pkt: Name vmxnet3 packet abstractions more generic
      rtl8139: Move more TCP definitions to common header
      vmxnet3: Use pci_dma_* API instead of cpu_physical_memory_*
      e1000_regs: Add definitions for Intel 82574-specific bits
      e1000: Move out code that will be reused in e1000e
      e1000e: Introduce qtest for e1000e device

Eduardo Habkost (1):
      net: vl: Move default_net to vl.c

Jason Wang (2):
      net_pkt: Extend packet abstraction as required by e1000e functionality
      net: Introduce e1000e device emulation

Prasad J Pandit (1):
      net: mipsnet: check packet length against buffer

Zhang Chen (1):
      net/net: Add SocketReadState for reuse codes

 MAINTAINERS                              |   18 +
 default-configs/pci.mak                  |    1 +
 hw/net/Makefile.objs                     |    5 +-
 hw/net/e1000.c                           |  411 +---
 hw/net/e1000_regs.h                      |  349 ++-
 hw/net/e1000e.c                          |  739 +++++++
 hw/net/e1000e_core.c                     | 3478 ++++++++++++++++++++++++++++++
 hw/net/e1000e_core.h                     |  146 ++
 hw/net/e1000x_common.c                   |  267 +++
 hw/net/e1000x_common.h                   |  213 ++
 hw/net/mipsnet.c                         |    3 +
 hw/net/net_rx_pkt.c                      |  600 ++++++
 hw/net/net_rx_pkt.h                      |  363 ++++
 hw/net/{vmxnet_tx_pkt.c => net_tx_pkt.c} |  358 +--
 hw/net/net_tx_pkt.h                      |  191 ++
 hw/net/rtl8139.c                         |    5 -
 hw/net/vmxnet3.c                         |  155 +-
 hw/net/vmxnet_debug.h                    |    3 -
 hw/net/vmxnet_rx_pkt.c                   |  187 --
 hw/net/vmxnet_rx_pkt.h                   |  174 --
 hw/net/vmxnet_tx_pkt.h                   |  146 --
 hw/pci/msix.c                            |    2 +-
 hw/pci/pcie.c                            |   94 +-
 include/hw/pci/msix.h                    |    1 +
 include/hw/pci/pci_regs.h                |    2 +
 include/hw/pci/pcie.h                    |    5 +
 include/hw/pci/pcie_regs.h               |    5 +-
 include/net/checksum.h                   |   49 +-
 include/net/eth.h                        |  161 +-
 include/net/net.h                        |   19 +-
 net/checksum.c                           |    7 +-
 net/eth.c                                |  410 +++-
 net/filter-mirror.c                      |   66 +-
 net/net.c                                |   93 +-
 net/socket.c                             |   77 +-
 tests/Makefile                           |    7 +-
 tests/e1000e-test.c                      |  480 +++++
 trace-events                             |  211 ++
 vl.c                                     |   24 +-
 39 files changed, 8217 insertions(+), 1308 deletions(-)
 create mode 100644 hw/net/e1000e.c
 create mode 100644 hw/net/e1000e_core.c
 create mode 100644 hw/net/e1000e_core.h
 create mode 100644 hw/net/e1000x_common.c
 create mode 100644 hw/net/e1000x_common.h
 create mode 100644 hw/net/net_rx_pkt.c
 create mode 100644 hw/net/net_rx_pkt.h
 rename hw/net/{vmxnet_tx_pkt.c => net_tx_pkt.c} (53%)
 create mode 100644 hw/net/net_tx_pkt.h
 delete mode 100644 hw/net/vmxnet_rx_pkt.c
 delete mode 100644 hw/net/vmxnet_rx_pkt.h
 delete mode 100644 hw/net/vmxnet_tx_pkt.h
 create mode 100644 tests/e1000e-test.c

Comments

Peter Maydell May 24, 2016, 1:41 p.m. UTC | #1
On 24 May 2016 at 08:49, Jason Wang <jasowang@redhat.com> wrote:
> The following changes since commit 3a2da52a99582ac2c0e29e548bb1fc28e2cdb84a:
>
>   net/tap: Allocating Large sized arrays to heap (2016-05-24 15:30:41 +0800)
>
> are available in the git repository at:
>
>   https://github.com/jasowang/qemu.git tags/net-pull-request
>
> for you to fetch changes up to f99d30aaf53e5b501dd3405007232db963ba65c6:
>
>   net/net: Add SocketReadState for reuse codes (2016-05-24 15:30:42 +0800)
>
> ----------------------------------------------------------------
>
> Main changes:
> - e1000e emulation
> - convet vmxnet3 to use DMA api
> Changes from V1:
> - fix 32bit build

Hi; I'm afraid this doesn't build on clang, which dislikes duplicate
typedefs:

In file included from /home/petmay01/linaro/qemu-for-merges/hw/net/e1000e.c:47:
/home/petmay01/linaro/qemu-for-merges/hw/net/e1000e_core.h:110:3:
error: redefinition of typedef 'E1000ECore' is a C11 feature
[-Werror,-Wtypedef-redefinition]
} E1000ECore;
  ^
/home/petmay01/linaro/qemu-for-merges/hw/net/e1000e_core.h:43:29:
note: previous definition is here
typedef struct E1000Core_st E1000ECore;
                            ^

thanks
-- PMM
Jason Wang May 25, 2016, 8:04 a.m. UTC | #2
On 2016年05月24日 21:41, Peter Maydell wrote:
> On 24 May 2016 at 08:49, Jason Wang <jasowang@redhat.com> wrote:
>> The following changes since commit 3a2da52a99582ac2c0e29e548bb1fc28e2cdb84a:
>>
>>    net/tap: Allocating Large sized arrays to heap (2016-05-24 15:30:41 +0800)
>>
>> are available in the git repository at:
>>
>>    https://github.com/jasowang/qemu.git tags/net-pull-request
>>
>> for you to fetch changes up to f99d30aaf53e5b501dd3405007232db963ba65c6:
>>
>>    net/net: Add SocketReadState for reuse codes (2016-05-24 15:30:42 +0800)
>>
>> ----------------------------------------------------------------
>>
>> Main changes:
>> - e1000e emulation
>> - convet vmxnet3 to use DMA api
>> Changes from V1:
>> - fix 32bit build
> Hi; I'm afraid this doesn't build on clang, which dislikes duplicate
> typedefs:
>
> In file included from /home/petmay01/linaro/qemu-for-merges/hw/net/e1000e.c:47:
> /home/petmay01/linaro/qemu-for-merges/hw/net/e1000e_core.h:110:3:
> error: redefinition of typedef 'E1000ECore' is a C11 feature
> [-Werror,-Wtypedef-redefinition]
> } E1000ECore;
>    ^
> /home/petmay01/linaro/qemu-for-merges/hw/net/e1000e_core.h:43:29:
> note: previous definition is here
> typedef struct E1000Core_st E1000ECore;
>                              ^
>
> thanks
> -- PMM
>

Have a try on my machine, but looks like it works for me (./configure 
--cc=clang).  version is

clang version 3.8.0-2ubuntu3 (tags/RELEASE_380/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1
Candidate multilib: .;@m64
Selected multilib: .;@m64

Looks like "-Werror,-Wtypedef-redefinition" was not used by default. 
After I add them to extra_cflags, e1000e can still build successfully.

Is there anything I missed?

Thanks