qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 1c0fbf: virtio-net: allow increasing rx queue


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 1c0fbf: virtio-net: allow increasing rx queue size
Date: Tue, 27 Sep 2016 11:30:06 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 1c0fbfa3dedf49115e194e533a7b6a640a28447c
      
https://github.com/qemu/qemu/commit/1c0fbfa3dedf49115e194e533a7b6a640a28447c
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/virtio-net.c
    M include/hw/virtio/virtio-net.h

  Log Message:
  -----------
  virtio-net: allow increasing rx queue size

This allows increasing the rx queue size up to 1024: unlike with tx,
guests don't put in huge S/G lists into RX so the risk of running into
the max 1024 limitation due to some off-by-one seems small.

It's helpful for users like OVS-DPDK which don't do any buffering on the
host - 1K roughly matches 500 entries in tun + 256 in the current rx
queue, which seems to work reasonably well. We could probably make do
with ~750 entries but virtio spec limits us to powers of two.
It might be a good idea to specify an s/g size limit in a future
version.

It also might be possible to make the queue size smaller down the road, 64
seems like the minimal value which will still work (as guests seem to
assume a queue full of 1.5K buffers is enough to process the largest
incoming packet, which is ~64K).  No one actually asked for this, and
with virtio 1 guests can reduce ring size without need for host
configuration, so don't bother with this for now.

Cc: Cornelia Huck <address@hidden>
Cc: Jason Wang <address@hidden>
Suggested-by: Patrik Hermansson <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: a4543b1b37dc05be84c7a95751af9d473f5fb41a
      
https://github.com/qemu/qemu/commit/a4543b1b37dc05be84c7a95751af9d473f5fb41a
  Author: Shmulik Ladkani <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/net.c

  Log Message:
  -----------
  net: hmp_host_net_remove: Del the -net option of the removed host_net

Upon hmp_host_net_remove(), the appropriate -net client is deleted
(according to the given vlan_id and device id), as well as the
corresponsing hub port.

However, the relevant '-net' option that was added by former
hmp_host_net_add() call is still present in "net" options group.

This makes the following legit HMP sequence erroneous:

(qemu) host_net_add tap id=n1,ifname=tap1,script=no,downscript=no,vlan=1
(qemu) host_net_remove 1 n1
(qemu) host_net_add tap id=n1,ifname=tap1,script=no,downscript=no,vlan=1
Duplicate ID 'n1' for net

Fix, by deleting the stored '-net' option associated with the given
device id.

Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: e92aa36ac89fad49dc18d88e1d40f0d0fccdfa83
      
https://github.com/qemu/qemu/commit/e92aa36ac89fad49dc18d88e1d40f0d0fccdfa83
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M include/sysemu/char.h
    M qemu-char.c

  Log Message:
  -----------
  qemu-char: Add qemu_chr_add_handlers_full() for GMaincontext

Add qemu_chr_add_handlers_full() API, we can use
this API pass in a GMainContext,make handler run
in the context rather than main_loop.
This comments from Daniel P . Berrange.

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Reviewed-by: Daniel P. Berrange <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 7dce4e6fd2baa4935074fa03736588017c1a8b84
      
https://github.com/qemu/qemu/commit/7dce4e6fd2baa4935074fa03736588017c1a8b84
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/Makefile.objs
    A net/colo-compare.c
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  colo-compare: introduce colo compare initialization

This a COLO net ascii figure:

 Primary qemu                                                           
Secondary qemu
+--------------------------------------------------------------+       
+----------------------------------------------------------------+
| +----------------------------------------------------------+ |       |  
+-----------------------------------------------------------+ |
| |                                                          | |       |  |     
                                                      | |
| |                        guest                             | |       |  |     
                   guest                              | |
| |                                                          | |       |  |     
                                                      | |
| +-------^--------------------------+-----------------------+ |       |  
+---------------------+--------+----------------------------+ |
|         |                          |                         |       |        
                ^        |                              |
|         |                          |                         |       |        
                |        |                              |
|         |  +------------------------------------------------------+  |        
                |        |                              |
|netfilter|  |                       |                         |    |  |   
netfilter            |        |                              |
| +----------+ +----------------------------+                  |    |  |  
+-----------------------------------------------------------+ |
| |       |  |                       |      |        out       |    |  |  |     
                |        |  filter excute order       | |
| |       |  |          +-----------------------------+        |    |  |  |     
                |        | +------------------->      | |
| |       |  |          |            |      |         |        |    |  |  |     
                |        |   TCP                      | |
| | +-----+--+-+  +-----v----+ +-----v----+ |pri +----+----+sec|    |  |  | 
+------------+  +---+----+---v+rewriter++  +------------+ | |
| | |          |  |          | |          | |in  |         |in |    |  |  | |   
         |  |        |              |  |            | | |
| | |  filter  |  |  filter  | |  filter  +------>  colo   <------+ +-------->  
filter   +--> adjust |   adjust     +-->   filter   | | |
| | |  mirror  |  |redirector| |redirector| |    | compare |   |  |    |  | | 
redirector |  | ack    |   seq        |  | redirector | | |
| | |          |  |          | |          | |    |         |   |  |    |  | |   
         |  |        |              |  |            | | |
| | +----^-----+  +----+-----+ +----------+ |    +---------+   |  |    |  | 
+------------+  +--------+--------------+  +---+--------+ | |
| |      |   tx        |   rx           rx  |                  |  |    |  |     
       tx                        all       |  rx      | |
| |      |             |                    |                  |  |    |  
+-----------------------------------------------------------+ |
| |      |             +--------------+     |                  |  |    |        
                                           |            |
| |      |   filter excute order      |     |                  |  |    |        
                                           |            |
| |      |  +---------------->        |     |                  |  
+--------------------------------------------------------+            |
| +-----------------------------------------+                  |       |        
                                                        |
|        |                            |                        |       |        
                                                        |
+--------------------------------------------------------------+       
+----------------------------------------------------------------+
   |guest receive               | guest send
   |                            |
+--------+----------------------------v------------------------+
|                                                              |                
          NOTE: filter direction is rx/tx/all
|                         tap                                  |                
          rx:receive packets sent to the netdev
|                                                              |                
          tx:receive packets sent by the netdev
+--------------------------------------------------------------+

In COLO-compare, we do packet comparing job.
Packets coming from the primary char indev will be sent to outdev.
Packets coming from the secondary char dev will be dropped after comparing.
colo-comapre need two input chardev and one output chardev:
primary_in=chardev1-id (source: primary send packet)
secondary_in=chardev2-id (source: secondary send packet)
outdev=chardev3-id

usage:

primary:
-netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown
-device e1000,id=e0,netdev=hn0,mac=52:a4:00:12:78:66
-chardev socket,id=mirror0,host=3.3.3.3,port=9003,server,nowait
-chardev socket,id=compare1,host=3.3.3.3,port=9004,server,nowait
-chardev socket,id=compare0,host=3.3.3.3,port=9001,server,nowait
-chardev socket,id=compare0-0,host=3.3.3.3,port=9001
-chardev socket,id=compare_out,host=3.3.3.3,port=9005,server,nowait
-chardev socket,id=compare_out0,host=3.3.3.3,port=9005
-object filter-mirror,id=m0,netdev=hn0,queue=tx,outdev=mirror0
-object filter-redirector,netdev=hn0,id=redire0,queue=rx,indev=compare_out
-object filter-redirector,netdev=hn0,id=redire1,queue=rx,outdev=compare0
-object 
colo-compare,id=comp0,primary_in=compare0-0,secondary_in=compare1,outdev=compare_out0

secondary:
-netdev tap,id=hn0,vhost=off,script=/etc/qemu-ifup,down script=/etc/qemu-ifdown
-device e1000,netdev=hn0,mac=52:a4:00:12:78:66
-chardev socket,id=red0,host=3.3.3.3,port=9003
-chardev socket,id=red1,host=3.3.3.3,port=9004
-object filter-redirector,id=f1,netdev=hn0,queue=tx,indev=red0
-object filter-redirector,id=f2,netdev=hn0,queue=rx,outdev=red1

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 59509ec16b7ee92b3f8261c554023aa1d3169317
      
https://github.com/qemu/qemu/commit/59509ec16b7ee92b3f8261c554023aa1d3169317
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/Makefile.objs
    M net/colo-compare.c
    A net/colo.c
    A net/colo.h
    M trace-events

  Log Message:
  -----------
  net/colo.c: add colo.c to define and handle packet

The net/colo.c is used by colo-compare and filter-rewriter.
this can share common data structure like net packet,
and other functions.

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: ccf0426c09f0989d9874f7c63aff58376e1d972a
      
https://github.com/qemu/qemu/commit/ccf0426c09f0989d9874f7c63aff58376e1d972a
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    A include/qemu/jhash.h
    M net/colo.h

  Log Message:
  -----------
  Jhash: add linux kernel jhashtable in qemu

Jhash will be used by colo-compare and filter-rewriter
to save and lookup net connection info

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: b6540d403d28d9ecbbf0ab76b82fb0fa92dc75ce
      
https://github.com/qemu/qemu/commit/b6540d403d28d9ecbbf0ab76b82fb0fa92dc75ce
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/colo-compare.c
    M net/colo.c
    M net/colo.h

  Log Message:
  -----------
  colo-compare: track connection and enqueue packet

In this patch we use kernel jhash table to track
connection, and then enqueue net packet like this:

+ CompareState ++
|               |
+---------------+   +---------------+         +---------------+
|conn list      +--->conn           +--------->conn           |
+---------------+   +---------------+         +---------------+
|               |     |           |             |          |
+---------------+ +---v----+  +---v----+    +---v----+ +---v----+
            |primary |  |secondary    |primary | |secondary
            |packet  |  |packet  +    |packet  | |packet  +
            +--------+  +--------+    +--------+ +--------+
                |           |             |          |
            +---v----+  +---v----+    +---v----+ +---v----+
            |primary |  |secondary    |primary | |secondary
            |packet  |  |packet  +    |packet  | |packet  +
            +--------+  +--------+    +--------+ +--------+
                |           |             |          |
            +---v----+  +---v----+    +---v----+ +---v----+
            |primary |  |secondary    |primary | |secondary
            |packet  |  |packet  +    |packet  | |packet  +
            +--------+  +--------+    +--------+ +--------+

We use conn_list to record connection info.
When we want to enqueue a packet, firstly get the
connection from connection_track_table. then push
the packet to g_queue(pri/sec) in it's own conn.

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 0682e15b19b2f41c0568142b42518b9471168597
      
https://github.com/qemu/qemu/commit/0682e15b19b2f41c0568142b42518b9471168597
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/colo-compare.c
    M net/colo.c
    M net/colo.h
    M trace-events

  Log Message:
  -----------
  colo-compare: introduce packet comparison thread

If primary packet is same with secondary packet,
we will send primary packet and drop secondary
packet, otherwise notify COLO frame to do checkpoint.
If primary packet comes but secondary packet does not,
after REGULAR_PACKET_CHECK_MS milliseconds we set
the primary packet as old_packet,then do a checkpoint.

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: f4b618360e5a81b097e2e35d52011bec3c63af68
      
https://github.com/qemu/qemu/commit/f4b618360e5a81b097e2e35d52011bec3c63af68
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/colo-compare.c
    M trace-events

  Log Message:
  -----------
  colo-compare: add TCP, UDP, ICMP packet comparison

We add TCP,UDP,ICMP packet comparison to replace
IP packet comparison. This can increase the
accuracy of the package comparison.
Less checkpoint more efficiency.

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: e6eee8ab5148aee369416e5126d6d149319579be
      
https://github.com/qemu/qemu/commit/e6eee8ab5148aee369416e5126d6d149319579be
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/Makefile.objs
    A net/filter-rewriter.c
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  filter-rewriter: introduce filter-rewriter initialization

Filter-rewriter is a part of COLO project.
It will rewrite some of secondary packet to make
secondary guest's tcp connection established successfully.
In this module we will rewrite tcp packet's ack to the secondary
from primary,and rewrite tcp packet's seq to the primary from
secondary.

usage:

colo secondary:
-object filter-redirector,id=f1,netdev=hn0,queue=tx,indev=red0
-object filter-redirector,id=f2,netdev=hn0,queue=rx,outdev=red1
-object filter-rewriter,id=rew0,netdev=hn0,queue=all

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: afe461240940077e7ea8313e9c547a4898263cd2
      
https://github.com/qemu/qemu/commit/afe461240940077e7ea8313e9c547a4898263cd2
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/colo.c
    M net/colo.h
    M net/filter-rewriter.c

  Log Message:
  -----------
  filter-rewriter: track connection and parse packet

We use net/colo.h to track connection and parse packet

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 30656b097e9dd7978d3fe9416cb9f5a421a9e63e
      
https://github.com/qemu/qemu/commit/30656b097e9dd7978d3fe9416cb9f5a421a9e63e
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/colo.c
    M net/colo.h
    M net/filter-rewriter.c
    M trace-events

  Log Message:
  -----------
  filter-rewriter: rewrite tcp packet to keep secondary connection

We will rewrite tcp packet secondary received and sent.
When colo guest is a tcp server.

Firstly, client start a tcp handshake. the packet's seq=client_seq,
ack=0,flag=SYN. COLO primary guest get this pkt and mirror(filter-mirror)
to secondary guest, secondary get it use filter-redirector.
Then,primary guest response pkt
(seq=primary_seq,ack=client_seq+1,flag=ACK|SYN).
secondary guest response pkt
(seq=secondary_seq,ack=client_seq+1,flag=ACK|SYN).
In here,we use filter-rewriter save the secondary_seq to it's tcp connection.
Finally handshake,client send pkt
(seq=client_seq+1,ack=primary_seq+1,flag=ACK).
Here,filter-rewriter can get primary_seq, and rewrite ack from primary_seq+1
to secondary_seq+1, recalculate checksum. So the secondary tcp connection
kept good.

When we send/recv packet.
client send pkt(seq=client_seq+1+data_len,ack=primary_seq+1,flag=ACK|PSH).
filter-rewriter rewrite ack and send to secondary guest.

primary guest response pkt
(seq=primary_seq+1,ack=client_seq+1+data_len,flag=ACK)
secondary guest response pkt
(seq=secondary_seq+1,ack=client_seq+1+data_len,flag=ACK)
we rewrite secondary guest seq from secondary_seq+1 to primary_seq+1.
So tcp connection kept good.

In code We use offset( = secondary_seq - primary_seq )
to rewrite seq or ack.
handle_primary_tcp_pkt: tcp_pkt->th_ack += offset;
handle_secondary_tcp_pkt: tcp_pkt->th_seq -= offset;

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 88f82ed1a774742942fe852b9b57dcaa287a94fb
      
https://github.com/qemu/qemu/commit/88f82ed1a774742942fe852b9b57dcaa287a94fb
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: add maintainer for COLO-proxy

add Zhang Chen and Li zhijian as co-maintainers of COLO-proxy.

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Wen Congyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 46cca4ecb2842e93fff94b78161c03e9943860a8
      
https://github.com/qemu/qemu/commit/46cca4ecb2842e93fff94b78161c03e9943860a8
  Author: Zhang Chen <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    A docs/colo-proxy.txt

  Log Message:
  -----------
  docs: Add documentation for COLO-proxy

Introduce the design of COLO-proxy, and how to use it.

Signed-off-by: Zhang Chen <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: fb56d323e2c9472ba4c25fc0f13f2aaddda62380
      
https://github.com/qemu/qemu/commit/fb56d323e2c9472ba4c25fc0f13f2aaddda62380
  Author: Gonglei <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/e1000e_core.c

  Log Message:
  -----------
  e1000: fix buliding complaint

hw/net/e1000e_core.c:56: warning: e1000e_set_interrupt_cause declared inline 
after being called
hw/net/e1000e_core.c:56: warning: previous declaration of 
e1000e_set_interrupt_cause was here

Signed-off-by: Gonglei <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 584613eacb3840c1803e665ed7edd4ac186deced
      
https://github.com/qemu/qemu/commit/584613eacb3840c1803e665ed7edd4ac186deced
  Author: Alexey Kardashevskiy <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/tap.c
    M qapi-schema.json
    M qemu-options.hx

  Log Message:
  -----------
  tap: Allow specifying a bridge

The tap backend is already using qemu-bridge-helper to attach tap
interface to a bridge but (unlike the bridge backend) it always uses
the default bridge name - br0.

This adds a "br" property support to the tap backend.

Signed-off-by: Alexey Kardashevskiy <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Tested-by: Greg Kurz <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 47f9f15831faa549504ab9b035aaea44a02e5f95
      
https://github.com/qemu/qemu/commit/47f9f15831faa549504ab9b035aaea44a02e5f95
  Author: Peter Lieven <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M net/net.c

  Log Message:
  -----------
  net: limit allocation in nc_sendv_compat

we only need to allocate enough memory to hold the packet. This might be
less than NET_BUFSIZE. Additionally fail early if the packet is larger
than NET_BUFSIZE.

Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 6ee0e20b653817aa0adac89e21704842608e1639
      
https://github.com/qemu/qemu/commit/6ee0e20b653817aa0adac89e21704842608e1639
  Author: Dmitry Fleytman <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/e1000e.c
    M hw/net/e1000e_core.c
    M hw/net/e1000e_core.h

  Log Message:
  -----------
  e1000e: Flush all receive queues on receive enable

Before this patch first netdev queue only was flushed.

Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 40364748ddca8a510de5f345b8f7c1c49d24cd26
      
https://github.com/qemu/qemu/commit/40364748ddca8a510de5f345b8f7c1c49d24cd26
  Author: Dmitry Fleytman <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/e1000e_core.c

  Log Message:
  -----------
  e1000e: Flush receive queues on link up

Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 2d803144a637130b1f167b309bc8ac7142f76b26
      
https://github.com/qemu/qemu/commit/2d803144a637130b1f167b309bc8ac7142f76b26
  Author: Dmitry Fleytman <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/e1000e_core.c
    M hw/net/trace-events

  Log Message:
  -----------
  e1000e: Fix CTRL_EXT.EIAME behavior

CTRL_EXT.EIAME bit controls clearing of IAM bits,
but current code clears IMS bits instead.

See spec. 10.2.2.5 Extended Device Control Register.

Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 680e60b6ba5a26332d684a60a6d9f39c0a999941
      
https://github.com/qemu/qemu/commit/680e60b6ba5a26332d684a60a6d9f39c0a999941
  Author: Dmitry Fleytman <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/e1000e_core.c

  Log Message:
  -----------
  e1000e: Fix PBACLR implementation

This patch fixes incorrect check for
interrypt type being used.

PBSCLR register is valid for MSI-X only.

See spec. 10.2.3.13 MSI—X PBA Clear

Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 8b54c6e1872825c76200bfb419dadeb6a84b3845
      
https://github.com/qemu/qemu/commit/8b54c6e1872825c76200bfb419dadeb6a84b3845
  Author: Dmitry Fleytman <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/e1000e_core.c

  Log Message:
  -----------
  e1000e: Fix OTHER interrupts processing for MSI-X

Interrupt mask for legacy OTHER causes should
not apply to MSI-X OTHER cause.

Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 4100c026b69001f774bfff30b5773a2418306f8c
      
https://github.com/qemu/qemu/commit/4100c026b69001f774bfff30b5773a2418306f8c
  Author: Dmitry Fleytman <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/e1000e_core.c

  Log Message:
  -----------
  e1000e: Fix spurious RX TCP ACK interrupts

Do not raise ACK interrupts when
RFCTL.ACKDIS bit is set (see spec. 10.2.5.16).

Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: b38636b83727d611a354217fa9d17de5872d7da4
      
https://github.com/qemu/qemu/commit/b38636b83727d611a354217fa9d17de5872d7da4
  Author: Dmitry Fleytman <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/e1000e_core.c

  Log Message:
  -----------
  e1000e: Fix EIAC register implementation

This patch fixes 2 issues:

1. Bits set in EIAC register should be cleared
   from IMS when EIAM is not used.
2. Only bit that corresonds to the interrupt being
   raised should be cleared.

See spec. 10.2.4.7 Interrupt Auto Clear

Signed-off-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 070c4b92b8cd5390889716677a0b92444d6e087a
      
https://github.com/qemu/qemu/commit/070c4b92b8cd5390889716677a0b92444d6e087a
  Author: Prasad J Pandit <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/mcf_fec.c

  Log Message:
  -----------
  net: mcf: limit buffer descriptor count

ColdFire Fast Ethernet Controller uses buffer descriptors to manage
data flow to/fro receive & transmit queues. While transmitting
packets, it could continue to read buffer descriptors if a buffer
descriptor has length of zero and has crafted values in bd.flags.
Set upper limit to number of buffer descriptors.

Reported-by: Li Qiang <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: a16d8ef54b8274ce9e7d7d6377a5a11f3c74668b
      
https://github.com/qemu/qemu/commit/a16d8ef54b8274ce9e7d7d6377a5a11f3c74668b
  Author: Paolo Bonzini <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/mcf_fec.c

  Log Message:
  -----------
  mcf_fec: fix error in qemu_send_packet argument

This uses the wrong frame size for packets composed of multiple
descriptors.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: fa26f018393f18f5e91334820546bef07b133b88
      
https://github.com/qemu/qemu/commit/fa26f018393f18f5e91334820546bef07b133b88
  Author: Paolo Bonzini <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M hw/net/imx_fec.c

  Log Message:
  -----------
  imx_fec: fix error in qemu_send_packet argument

This uses the wrong frame size for packets composed of multiple
descriptors.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 333ec4ca6a9f604331e2349cb91e9635f65d6462
      
https://github.com/qemu/qemu/commit/333ec4ca6a9f604331e2349cb91e9635f65d6462
  Author: Peter Maydell <address@hidden>
  Date:   2016-09-27 (Tue, 27 Sep 2016)

  Changed paths:
    M MAINTAINERS
    A docs/colo-proxy.txt
    M hw/net/e1000e.c
    M hw/net/e1000e_core.c
    M hw/net/e1000e_core.h
    M hw/net/imx_fec.c
    M hw/net/mcf_fec.c
    M hw/net/trace-events
    M hw/net/virtio-net.c
    M include/hw/virtio/virtio-net.h
    A include/qemu/jhash.h
    M include/sysemu/char.h
    M net/Makefile.objs
    A net/colo-compare.c
    A net/colo.c
    A net/colo.h
    A net/filter-rewriter.c
    M net/net.c
    M net/tap.c
    M qapi-schema.json
    M qemu-char.c
    M qemu-options.hx
    M trace-events
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into 
staging

# gpg: Signature made Tue 27 Sep 2016 11:05:56 BST
# gpg:                using RSA key 0xEF04965B398D6211
# gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <address@hidden>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211

* remotes/jasowang/tags/net-pull-request: (27 commits)
  imx_fec: fix error in qemu_send_packet argument
  mcf_fec: fix error in qemu_send_packet argument
  net: mcf: limit buffer descriptor count
  e1000e: Fix EIAC register implementation
  e1000e: Fix spurious RX TCP ACK interrupts
  e1000e: Fix OTHER interrupts processing for MSI-X
  e1000e: Fix PBACLR implementation
  e1000e: Fix CTRL_EXT.EIAME behavior
  e1000e: Flush receive queues on link up
  e1000e: Flush all receive queues on receive enable
  net: limit allocation in nc_sendv_compat
  tap: Allow specifying a bridge
  e1000: fix buliding complaint
  docs: Add documentation for COLO-proxy
  MAINTAINERS: add maintainer for COLO-proxy
  filter-rewriter: rewrite tcp packet to keep secondary connection
  filter-rewriter: track connection and parse packet
  filter-rewriter: introduce filter-rewriter initialization
  colo-compare: add TCP, UDP, ICMP packet comparison
  colo-compare: introduce packet comparison thread
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/7cfdc02dae0d...333ec4ca6a9f

reply via email to

[Prev in Thread] Current Thread [Next in Thread]