aboutsummaryrefslogtreecommitdiff
path: root/hw/net/allwinner-sun8i-emac.c
diff options
context:
space:
mode:
authorBin Meng <bin.meng@windriver.com>2020-12-11 17:35:12 +0800
committerJason Wang <jasowang@redhat.com>2021-01-25 17:04:56 +0800
commitf574633529926697ced51b6865e5c50bbb78bf1b (patch)
tree98d77919083dfcbec0247c6980c479d08bc07d3b /hw/net/allwinner-sun8i-emac.c
parentd97f11590a0f60cd911ace8bb68180b5a09a068d (diff)
downloadqemu-f574633529926697ced51b6865e5c50bbb78bf1b.zip
qemu-f574633529926697ced51b6865e5c50bbb78bf1b.tar.gz
qemu-f574633529926697ced51b6865e5c50bbb78bf1b.tar.bz2
net: checksum: Introduce fine control over checksum type
At present net_checksum_calculate() blindly calculates all types of checksums (IP, TCP, UDP). Some NICs may have a per type setting in their BDs to control what checksum should be offloaded. To support such hardware behavior, introduce a 'csum_flag' parameter to the net_checksum_calculate() API to allow fine control over what type checksum is calculated. Existing users of this API are updated accordingly. Signed-off-by: Bin Meng <bin.meng@windriver.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw/net/allwinner-sun8i-emac.c')
-rw-r--r--hw/net/allwinner-sun8i-emac.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/net/allwinner-sun8i-emac.c b/hw/net/allwinner-sun8i-emac.c
index 38d3285..0427689 100644
--- a/hw/net/allwinner-sun8i-emac.c
+++ b/hw/net/allwinner-sun8i-emac.c
@@ -514,7 +514,7 @@ static void allwinner_sun8i_emac_transmit(AwSun8iEmacState *s)
/* After the last descriptor, send the packet */
if (desc.status2 & TX_DESC_STATUS2_LAST_DESC) {
if (desc.status2 & TX_DESC_STATUS2_CHECKSUM_MASK) {
- net_checksum_calculate(packet_buf, packet_bytes);
+ net_checksum_calculate(packet_buf, packet_bytes, CSUM_ALL);
}
qemu_send_packet(nc, packet_buf, packet_bytes);