diff --git a/liteeth/core/icmp.py b/liteeth/core/icmp.py index d9d7cc2..d9817ab 100644 --- a/liteeth/core/icmp.py +++ b/liteeth/core/icmp.py @@ -46,11 +46,14 @@ class LiteEthICMPTX(Module): NextState("SEND") ) ) - fsm.act("SEND", - packetizer.source.connect(source), + self.comb += [ + packetizer.source.connect(source, omit={"valid", "ready"}), source.length.eq(sink.length + icmp_header.length), source.protocol.eq(icmp_protocol), source.ip_address.eq(sink.ip_address), + ] + fsm.act("SEND", + packetizer.source.connect(source, keep={"valid", "ready"}), If(source.valid & source.last & source.ready, NextState("IDLE") )