aboutsummaryrefslogtreecommitdiff
path: root/hw/net
diff options
context:
space:
mode:
authorBin Meng <bmeng@tinylab.org>2023-06-25 09:53:15 +0800
committerJason Wang <jasowang@redhat.com>2023-07-07 16:35:12 +0800
commitc58da33f2f8410b6f22cd1d33377dadf3a4d8867 (patch)
tree531bc52b66e92eb1818b4ad619d1f3330a15d2c9 /hw/net
parentc445f200ad241b443aa7a61a5381b26f56a18f0e (diff)
downloadqemu-c58da33f2f8410b6f22cd1d33377dadf3a4d8867.zip
qemu-c58da33f2f8410b6f22cd1d33377dadf3a4d8867.tar.gz
qemu-c58da33f2f8410b6f22cd1d33377dadf3a4d8867.tar.bz2
hw/net: i82596: 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>
Diffstat (limited to 'hw/net')
-rw-r--r--hw/net/i82596.c18
1 files changed, 0 insertions, 18 deletions
diff --git a/hw/net/i82596.c b/hw/net/i82596.c
index ec21e26..ab26f8b 100644
--- a/hw/net/i82596.c
+++ b/hw/net/i82596.c
@@ -72,10 +72,6 @@ enum commands {
#define I596_EOF 0x8000
#define SIZE_MASK 0x3fff
-#define ETHER_TYPE_LEN 2
-#define VLAN_TCI_LEN 2
-#define VLAN_HLEN (ETHER_TYPE_LEN + VLAN_TCI_LEN)
-
/* various flags in the chip config registers */
#define I596_PREFETCH (s->config[0] & 0x80)
#define I596_PROMISC (s->config[8] & 0x01)
@@ -488,8 +484,6 @@ bool i82596_can_receive(NetClientState *nc)
return true;
}
-#define MIN_BUF_SIZE 60
-
ssize_t i82596_receive(NetClientState *nc, const uint8_t *buf, size_t sz)
{
I82596State *s = qemu_get_nic_opaque(nc);
@@ -500,7 +494,6 @@ ssize_t i82596_receive(NetClientState *nc, const uint8_t *buf, size_t sz)
size_t bufsz = sz; /* length of data in buf */
uint32_t crc;
uint8_t *crc_ptr;
- uint8_t buf1[MIN_BUF_SIZE + VLAN_HLEN];
static const uint8_t broadcast_macaddr[6] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
@@ -583,17 +576,6 @@ ssize_t i82596_receive(NetClientState *nc, const uint8_t *buf, size_t sz)
}
}
- /* if too small buffer, then expand it */
- if (len < MIN_BUF_SIZE + VLAN_HLEN) {
- memcpy(buf1, buf, len);
- memset(buf1 + len, 0, MIN_BUF_SIZE + VLAN_HLEN - len);
- buf = buf1;
- if (len < MIN_BUF_SIZE) {
- len = MIN_BUF_SIZE;
- }
- bufsz = len;
- }
-
/* Calculate the ethernet checksum (4 bytes) */
len += 4;
crc = cpu_to_be32(crc32(~0, buf, sz));