mirror of https://github.com/xemu-project/xemu.git
hw/net: sungem: 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. Signed-off-by: Bin Meng <bmeng@tinylab.org> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
63b901bfd3
commit
aee87b43fe
hw/net
|
@ -550,7 +550,6 @@ static ssize_t sungem_receive(NetClientState *nc, const uint8_t *buf,
|
|||
PCIDevice *d = PCI_DEVICE(s);
|
||||
uint32_t mac_crc, done, kick, max_fsize;
|
||||
uint32_t fcs_size, ints, rxdma_cfg, rxmac_cfg, csum, coff;
|
||||
uint8_t smallbuf[60];
|
||||
struct gem_rxd desc;
|
||||
uint64_t dbase, baddr;
|
||||
unsigned int rx_cond;
|
||||
|
@ -584,19 +583,6 @@ static ssize_t sungem_receive(NetClientState *nc, const uint8_t *buf,
|
|||
return size;
|
||||
}
|
||||
|
||||
/* We don't drop too small frames since we get them in qemu, we pad
|
||||
* them instead. We should probably use the min frame size register
|
||||
* but I don't want to use a variable size staging buffer and I
|
||||
* know both MacOS and Linux use the default 64 anyway. We use 60
|
||||
* here to account for the non-existent FCS.
|
||||
*/
|
||||
if (size < 60) {
|
||||
memcpy(smallbuf, buf, size);
|
||||
memset(&smallbuf[size], 0, 60 - size);
|
||||
buf = smallbuf;
|
||||
size = 60;
|
||||
}
|
||||
|
||||
/* Get MAC crc */
|
||||
mac_crc = net_crc32_le(buf, ETH_ALEN);
|
||||
|
||||
|
|
Loading…
Reference in New Issue