Access Restricted

This page contains internal documentation that is not publicly available.


DHWCtrl.EthRecvFrame

Block until the next Ethernet frame is received on Index, or until TimeoutMs milliseconds elapse. Promiscuous: any frame on the wire is returned; host filters. Returns the L2 frame without CRC plus per-frame metadata.

Properties

Parameters (request frame)

Name Type/Size Description
Index Integer (8 bits) Zero-based instance index within this peripheral category. The valid range is firmware / hardware-variant specific; discoverable via ListPeripherals.
TimeoutMs Integer (16 bits) Maximum time to wait for a frame, in milliseconds.

Returned values (response frame)

Name Type/Size Description
TimestampUs Integer (32 bits) Boot-relative monotonic microseconds at RX completion. Wraps every ~71 minutes; caller must handle wrap.
Seq Integer (32 bits) Monotonic frame counter since EthActivate(Index). Increments by 1 per delivered frame; gaps imply RX-queue drops since the previous EthRecvFrame.
Flags Bit mask (8 bits) -
RxOverflow Boolean (bit 0x80) Firmware dropped frames between the previous EthRecvFrame and this one.
CrcError Boolean (bit 0x40) Frame had a CRC error. Only set when firmware is in error-frame-accept mode; normally such frames are dropped silently in hardware.
Truncated Boolean (bit 0x20) Frame exceeded firmware's RX buffer; Payload contains the leading bytes only.
RFU Integer (bit mask area 0x1F) Zero padding
DstMac Raw data (length 6 Bytes) Destination MAC address (6 bytes).
SrcMac Raw data (length 6 Bytes) Source MAC address (6 bytes).
EtherType Enumeration (16 bits) Outer EtherType of the received frame.
EtherType field of an Ethernet II frame header, identifying the upper-layer protocol carried in the payload. IEEE 802.3 distinguishes by value: <= 1500 (0x05DC) is interpreted as a legacy LLC frame length; >= 1536 (0x0600) is an EtherType per the IANA registry. The enum lists the common values seen on the bench; the field is extendable so any 16-bit value can be sent / received for bench tests (malformed-frame scenarios, experimental protocols).
Values (12):
  • IPv4 (0x0800)
    Internet Protocol version 4.
  • ARP (0x0806)
    Address Resolution Protocol.
  • ReverseARP (0x8035)
    Reverse Address Resolution Protocol.
  • IPv6 (0x86DD)
    Internet Protocol version 6.
  • VlanTagged (0x8100)
    IEEE 802.1Q VLAN tag (TPID). The 2 bytes following the EtherType slot carry the TCI (priority + DEI + VLAN ID); the inner EtherType identifying the actual payload protocol follows after that.
  • ServiceVlanTagged (0x88A8)
    IEEE 802.1ad service VLAN tag ("QinQ"). Outer provider tag in stacked-VLAN frames.
  • LACP (0x8809)
    Link Aggregation Control Protocol (IEEE 802.3ad).
  • MplsUnicast (0x8847)
    MPLS unicast.
  • MplsMulticast (0x8848)
    MPLS multicast.
  • LLDP (0x88CC)
    Link Layer Discovery Protocol (IEEE 802.1AB).
  • MACsec (0x88E5)
    MAC Security (IEEE 802.1AE).
  • Loopback (0x9000)
    Ethernet Configuration Testing Protocol (loopback).
Payload Raw data (until end of frame) Bytes following the EtherType, up to the end of the captured frame.