hw/net: e1000: Remove the logic of padding short frames in the receive path
Now that we have implemented unified short frames padding in the QEMU networking codes, remove the same logic in the NIC codes. This actually reverts commit 78aeb23eded2d0b765bf9145c71f80025b568acd. Signed-off-by: Bin Meng <bmeng@tinylab.org> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
4271f40383
commit
140eae9c8f
@ -888,7 +888,6 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
|
||||
uint16_t vlan_special = 0;
|
||||
uint8_t vlan_status = 0;
|
||||
uint8_t min_buf[ETH_ZLEN];
|
||||
struct iovec min_iov;
|
||||
uint8_t *filter_buf = iov->iov_base;
|
||||
size_t size = iov_size(iov, iovcnt);
|
||||
size_t iov_ofs = 0;
|
||||
@ -905,15 +904,7 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Pad to minimum Ethernet frame length */
|
||||
if (size < sizeof(min_buf)) {
|
||||
iov_to_buf(iov, iovcnt, 0, min_buf, size);
|
||||
memset(&min_buf[size], 0, sizeof(min_buf) - size);
|
||||
min_iov.iov_base = filter_buf = min_buf;
|
||||
min_iov.iov_len = size = sizeof(min_buf);
|
||||
iovcnt = 1;
|
||||
iov = &min_iov;
|
||||
} else if (iov->iov_len < MAXIMUM_ETHERNET_HDR_LEN) {
|
||||
if (iov->iov_len < MAXIMUM_ETHERNET_HDR_LEN) {
|
||||
/* This is very unlikely, but may happen. */
|
||||
iov_to_buf(iov, iovcnt, 0, min_buf, MAXIMUM_ETHERNET_HDR_LEN);
|
||||
filter_buf = min_buf;
|
||||
|
Loading…
x
Reference in New Issue
Block a user