[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] a7278b: net/vmxnet3: Refine l2 header validat
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] a7278b: net/vmxnet3: Refine l2 header validation |
Date: |
Mon, 12 Oct 2015 08:00:09 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: a7278b36fcab9af469563bd7b9dadebe2ae25e48
https://github.com/qemu/qemu/commit/a7278b36fcab9af469563bd7b9dadebe2ae25e48
Author: Dana Rubin <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M hw/net/vmxnet3.c
M hw/net/vmxnet_tx_pkt.c
Log Message:
-----------
net/vmxnet3: Refine l2 header validation
Validation of l2 header length assumed minimal packet size as
eth_header + 2 * vlan_header regardless of the actual protocol.
This caused crash for valid non-IP packets shorter than 22 bytes, as
'tx_pkt->packet_type' hasn't been assigned for such packets, and
'vmxnet3_on_tx_done_update_stats()' expects it to be properly set.
Refine header length validation in 'vmxnet_tx_pkt_parse_headers'.
Check its return value during packet processing flow.
As a side effect, in case IPv4 and IPv6 header validation failure,
corrupt packets will be dropped.
Signed-off-by: Dana Rubin <address@hidden>
Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: c6048f849c7e3f009786df76206e895a69de032c
https://github.com/qemu/qemu/commit/c6048f849c7e3f009786df76206e895a69de032c
Author: Shmulik Ladkani <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M hw/net/vmxnet3.c
Log Message:
-----------
vmxnet3: Support reading IMR registers on bar0
Instead of asserting, return the actual IMR register value.
This is aligned with what's returned on ESXi.
Signed-off-by: Shmulik Ladkani <address@hidden>
Tested-by: Dana Rubin <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 8304402033e8dbe8e379017d51ed1dd8344f1dce
https://github.com/qemu/qemu/commit/8304402033e8dbe8e379017d51ed1dd8344f1dce
Author: Jason Wang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M hw/net/e1000.c
M qdev-monitor.c
Log Message:
-----------
e1000: use alias for default model
Instead of duplicating the "e1000-82540em" device model as "e1000",
make the latter an alias for the former.
Cc: Markus Armbruster <address@hidden>
Signed-off-by: Jason Wang <address@hidden
Reviewed-by: Markus Armbruster <address@hidden>
Commit: d62241eb6da9bd2517f07b3219ba4208b90b4e0d
https://github.com/qemu/qemu/commit/d62241eb6da9bd2517f07b3219ba4208b90b4e0d
Author: Shmulik Ladkani <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M hw/net/vmxnet3.c
M hw/net/vmxnet3.h
Log Message:
-----------
vmxnet3: Add support for VMXNET3_CMD_GET_ADAPTIVE_RING_INFO command
Some drivers (e.g. vmware-tools) issue the VMXNET3_CMD_GET_ADAPTIVE_RING_INFO
command.
Currently, due to lack of support, a bogus value (-1) is returned.
Support this command, returning the "adaptive-ring disabled" flag.
Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 9abce56d7b319b0c78b487720d128706272e0a0c
https://github.com/qemu/qemu/commit/9abce56d7b319b0c78b487720d128706272e0a0c
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M vl.c
Log Message:
-----------
vl.c: init delayed object after net_init_clients
Init delayed object after net_init_clients, because netfilters need
to be initialized after net clients initialized.
Signed-off-by: Yang Hongyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: fdccce4596218e49ca4d0f5d4b3f0c453bd99ba0
https://github.com/qemu/qemu/commit/fdccce4596218e49ca4d0f5d4b3f0c453bd99ba0
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
A include/net/filter.h
M include/net/net.h
M include/qemu/typedefs.h
M net/Makefile.objs
A net/filter.c
M net/net.c
M qapi-schema.json
Log Message:
-----------
init/cleanup of netfilter object
Add a netfilter object based on QOM.
A netfilter is attached to a netdev, captures all network packets
that pass through the netdev. When we delete the netdev, we also
delete the netfilter object attached to it, because if the netdev is
removed, the filter which attached to it is useless.
Signed-off-by: Yang Hongyang <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: e64c770d1fa859bd8ee583d339b085fe345ac02b
https://github.com/qemu/qemu/commit/e64c770d1fa859bd8ee583d339b085fe345ac02b
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M include/net/filter.h
M net/filter.c
M net/net.c
Log Message:
-----------
netfilter: hook packets before net queue send
Capture packets that will be sent.
Signed-off-by: Yang Hongyang <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: fefe2a78abde932e0f340b21bded2c86def1d242
https://github.com/qemu/qemu/commit/fefe2a78abde932e0f340b21bded2c86def1d242
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M include/net/net.h
M net/net.c
M net/queue.c
Log Message:
-----------
net: merge qemu_deliver_packet and qemu_deliver_packet_iov
qemu_deliver_packet_iov already have the compat delivery, we
can drop qemu_deliver_packet.
Signed-off-by: Yang Hongyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 3e033a46a7e39ea31e15f1b53402df990977115a
https://github.com/qemu/qemu/commit/3e033a46a7e39ea31e15f1b53402df990977115a
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M include/net/queue.h
M net/net.c
M net/queue.c
Log Message:
-----------
net/queue: introduce NetQueueDeliverFunc
net/queue.c has logic to send/queue/flush packets but a
qemu_deliver_packet_iov() call is hardcoded. Abstract this
func so that we can use our own deliver function in netfilter.
Signed-off-by: Yang Hongyang <address@hidden>
Cc: Stefan Hajnoczi <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 7ef7bc8586fb0d41742a896b532c7afa2bbb7f84
https://github.com/qemu/qemu/commit/7ef7bc8586fb0d41742a896b532c7afa2bbb7f84
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M include/net/filter.h
M net/filter.c
Log Message:
-----------
netfilter: add an API to pass the packet to next filter
add an API qemu_netfilter_pass_to_next() to pass the packet
to next filter.
Signed-off-by: Yang Hongyang <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: a4960f52e7f402a4b7402ace204283de7b9d4879
https://github.com/qemu/qemu/commit/a4960f52e7f402a4b7402ace204283de7b9d4879
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M include/net/filter.h
M net/filter.c
M net/net.c
Log Message:
-----------
netfilter: print filter info associate with the netdev
When execute "info network", print filter info also.
add a info_str member to NetFilterState, store specific filters
info.
Signed-off-by: Yang Hongyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: b68c7f76926dee3f234ccee88f3167b640d9318e
https://github.com/qemu/qemu/commit/b68c7f76926dee3f234ccee88f3167b640d9318e
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M include/net/queue.h
M net/queue.c
Log Message:
-----------
net/queue: export qemu_net_queue_append_iov
This will be used by buffer filter implementation later to
queue packets.
Signed-off-by: Yang Hongyang <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 7dbb11c84f25e20301b47a77102db00d68a2c4a4
https://github.com/qemu/qemu/commit/7dbb11c84f25e20301b47a77102db00d68a2c4a4
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M net/Makefile.objs
A net/filter-buffer.c
M qemu-options.hx
M vl.c
Log Message:
-----------
netfilter: add a netbuffer filter
This filter is to buffer/release packets. Can be used when using
MicroCheckpointing or other Remus like VM FT solutions.
You can also use it to crudely simulate network delay. Doesn't
actually delay individual packets, but batches them together, which is
a delay of sorts.
Usage:
-netdev tap,id=bn0
-object filter-buffer,id=f0,netdev=bn0,queue=rx,interval=1000
NOTE:
Interval is in microseconds, it can't be omitted currently, and can't be 0.
Signed-off-by: Yang Hongyang <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 89b1273742f45c30927df203532fca0d9a3e1af7
https://github.com/qemu/qemu/commit/89b1273742f45c30927df203532fca0d9a3e1af7
Author: Yang Hongyang <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M tests/.gitignore
M tests/Makefile
A tests/test-netfilter.c
Log Message:
-----------
tests: add test cases for netfilter object
Using qtest qmp interface to implement following cases:
1) add/remove netfilter
2) add a netfilter then delete the netdev
3) add/remove more than one netfilters
4) add more than one netfilters and then delete the netdev
Signed-off-by: Yang Hongyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Commit: 0bf224d5da41967a775b328234cda2d19f303908
https://github.com/qemu/qemu/commit/0bf224d5da41967a775b328234cda2d19f303908
Author: Peter Maydell <address@hidden>
Date: 2015-10-12 (Mon, 12 Oct 2015)
Changed paths:
M hw/net/e1000.c
M hw/net/vmxnet3.c
M hw/net/vmxnet3.h
M hw/net/vmxnet_tx_pkt.c
A include/net/filter.h
M include/net/net.h
M include/net/queue.h
M include/qemu/typedefs.h
M net/Makefile.objs
A net/filter-buffer.c
A net/filter.c
M net/net.c
M net/queue.c
M qapi-schema.json
M qdev-monitor.c
M qemu-options.hx
M tests/.gitignore
M tests/Makefile
A tests/test-netfilter.c
M vl.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into
staging
# gpg: Signature made Mon 12 Oct 2015 08:56:47 BST using RSA key ID 398D6211
# 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:
tests: add test cases for netfilter object
netfilter: add a netbuffer filter
net/queue: export qemu_net_queue_append_iov
netfilter: print filter info associate with the netdev
netfilter: add an API to pass the packet to next filter
net/queue: introduce NetQueueDeliverFunc
net: merge qemu_deliver_packet and qemu_deliver_packet_iov
netfilter: hook packets before net queue send
init/cleanup of netfilter object
vl.c: init delayed object after net_init_clients
vmxnet3: Add support for VMXNET3_CMD_GET_ADAPTIVE_RING_INFO command
e1000: use alias for default model
vmxnet3: Support reading IMR registers on bar0
net/vmxnet3: Refine l2 header validation
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/768492239014...0bf224d5da41
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] a7278b: net/vmxnet3: Refine l2 header validation,
GitHub <=