GiPHouse / qbaylogic-clash-based-macipudp-stack-spring24

A fully configurable Ethernet core written in Clash.
Other
5 stars 2 forks source link

Implement ICMP transmitter #113

Closed rowanG077 closed 5 months ago

rowanG077 commented 6 months ago

Feature description This component takes a PacketStream including a parsed IP header and parsed ICMP header and packetizes the ICMP header into the PacketStream and keeps the ip header in the metadata.

Expected behaviour PacketStream with the ICMP header prepended and the new metadata is an IPv4HeaderLite.

Expected steps Use the generic packetizerC to write out the header to the stream.

icmpTransmitterC
  :: HiddenClockResetEnable dom
  => Signal dom MacAddress
  -- ^ My MAC address
  -> Circuit (PacketStream dom n (IPv4HeaderLite, IcmpHeaderLite)) (PacketStream dom n IPv4HeaderLite)

Additional Context We only care about ICMP echo requests/responses.