From c5d23aba7641824d468297c71bec67bb71a7f36e Mon Sep 17 00:00:00 2001 From: Fischer Moseley <42497969+fischermoseley@users.noreply.github.com> Date: Sun, 11 Jan 2026 20:36:56 -0700 Subject: [PATCH] ethernet: fix host-side perf bug causing unneccesary retransmits --- src/manta/ethernet/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/manta/ethernet/__init__.py b/src/manta/ethernet/__init__.py index 3f6369e..c2a5ec1 100644 --- a/src/manta/ethernet/__init__.py +++ b/src/manta/ethernet/__init__.py @@ -610,7 +610,7 @@ class EthernetInterface(Elaboratable): while retry_count < self._max_retries: request = self._read_request_bytes(self._seq_num, addr, length) sock.sendto(request, (self._fpga_ip_addr, self._udp_port)) - data, ip_addr = sock.recvfrom(4 + (length * 4)) + data, (ip_addr, port) = sock.recvfrom(4 + (length * 4)) if ip_addr != self._fpga_ip_addr: raise ValueError("Non-Manta traffic detected on this UDP port!") @@ -622,7 +622,8 @@ class EthernetInterface(Elaboratable): response_type = MessageTypes(part_select(data[0], 29, 31)) if response_type == MessageTypes.READ_RESPONSE: - assert len(data) == length - 1 + assert len(data) - 1 == length + self._seq_num += 1 return data[1:] elif response_type == MessageTypes.NACK: @@ -656,6 +657,7 @@ class EthernetInterface(Elaboratable): response_type = MessageTypes(part_select(data[0], 29, 31)) if response_type == MessageTypes.WRITE_RESPONSE: + self._seq_num += 1 return elif response_type == MessageTypes.NACK: