diff options
author | Ed Swierk via Qemu-devel <qemu-devel@nongnu.org> | 2017-11-14 15:23:33 -0800 |
---|---|---|
committer | Jason Wang <jasowang@redhat.com> | 2017-12-22 09:53:23 +0800 |
commit | 7d08c73e7bdc39b10e5f2f5acdce700f17ffe962 (patch) | |
tree | 0fd1481f29ca9201afd24c30a6f500e554ded42e /hw/net/e1000x_common.h | |
parent | 43ab9a5376c95c61ae898a222c4d04bdf60e239b (diff) |
e1000, e1000e: Move per-packet TX offload flags out of context state
sum_needed and cptse flags are received from the guest within each
transmit data descriptor. They are not part of the offload context;
instead, they determine how to apply a previously received context to
the packet being transmitted:
- If cptse is set, perform both segmentation and checksum offload
using the parameters in the TSO context; otherwise just do checksum
offload. (Currently the e1000 device incorrectly stores only one
context, which will be fixed in a subsequent patch.)
- Depending on the bits set in sum_needed, possibly perform L4
checksum offload and/or IP checksum offload, using the parameters in
the appropriate context.
Move these flags out of struct e1000x_txd_props, which is otherwise
dedicated to storing values from a context descriptor, and into the
per-packet TX struct.
Signed-off-by: Ed Swierk <eswierk@skyportsystems.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw/net/e1000x_common.h')
-rw-r--r-- | hw/net/e1000x_common.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/hw/net/e1000x_common.h b/hw/net/e1000x_common.h index 3072ce9d50..0268884e72 100644 --- a/hw/net/e1000x_common.h +++ b/hw/net/e1000x_common.h @@ -193,7 +193,6 @@ void e1000x_update_regs_on_autoneg_done(uint32_t *mac, uint16_t *phy); void e1000x_increase_size_stats(uint32_t *mac, const int *size_regs, int size); typedef struct e1000x_txd_props { - unsigned char sum_needed; uint8_t ipcss; uint8_t ipcso; uint16_t ipcse; @@ -206,7 +205,6 @@ typedef struct e1000x_txd_props { int8_t ip; int8_t tcp; bool tse; - bool cptse; } e1000x_txd_props; void e1000x_read_tx_ctx_descr(struct e1000_context_desc *d, |