morpheus_network::driver::virtio::tx

Function transmit

Source
pub fn transmit(
    tx_state: &mut VirtqueueState,
    tx_pool: &mut BufferPool,
    frame: &[u8],
) -> Result<(), TxError>
Expand description

Transmit a packet via VirtIO.

§Arguments

  • tx_state: TX virtqueue state
  • tx_pool: TX buffer pool
  • frame: Ethernet frame (without VirtIO header)

§Returns

  • Ok(()): Frame queued (fire-and-forget)
  • Err(TxError): Transmission failed

§Contract

  • MUST return immediately (no completion wait)
  • Caller should call collect_tx_completions periodically