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: