From 11c1e47724eee10e9b84fe3b9cbd39a35a9b16ce 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 54fbcab..cd11920 100644 --- a/src/manta/ethernet/__init__.py +++ b/src/manta/ethernet/__init__.py @@ -602,7 +602,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!") @@ -614,7 +614,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: @@ -648,6 +649,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: