Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
hw/net: sungem: Remove the logic of padding short frames in the recei…
…ve 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>
  • Loading branch information
lbmeng authored and jasowang committed Jul 7, 2023
1 parent 63b901b commit aee87b4
Showing 1 changed file with 0 additions and 14 deletions.
14 changes: 0 additions & 14 deletions hw/net/sungem.c
Expand Up @@ -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;
Expand Down Expand Up @@ -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);

Expand Down

0 comments on commit aee87b4

Please sign in to comment.