Cesnet Liberouter
  • Projects
  • Liberouter
  • Scampi
  • FlowMon
  • NIC
  • NIFIC
  • IDS
  • NetCOPE
  • VHDL design
  • System software
  • Testing
  • Formal verification
  • Netopeer
  • Documents
  • Our hardware
  • Card Availability
  • Our partners
Main page -> VHDL
InfoHW sectionSW sectionAddr spaceInterfaceVersions

Author: Tomas Martinek


The Output Buffer is used as a storage for outgoing packets dedicated to software driver. The input packets arrive in format of "command protocol", which splits packet data from its control data. The Output Buffer decapsulates this protocol and stores packet and control data into the output memory separately at different memory positions. The control data are typically stored at beginning of memory buffer and packet data are stored from specified memory offset. The Output Buffer supports generic number of memory blocks and it also is responsible for interrupt (IRQ) generation, when packet arrive into the buffer.

Input/Output Data Stream Format

DISP Output

{Start}{Data}{Term}{Ctrl}{Data+SAU and PCK record}{Term} or

{PCK}{Data}{Term}{Start}{Data}{Term}{Ctrl}{Data+SAU and PCK record}{Term}

Functional Description

1. If "PCK Command" is received, the next packet is intended for Payload Checker and Output Buffer has to wait for PCK acknowledge at the end of the packet transfer.

2. Packet data are stored into the packet buffer from offset 32. Next, Control information are saved from offset 0.

3. If packet was intended for PCK, OBUF has to wait until PCK Result is received. If PCK doesn't require a packet, the packet is removed from buffer.


Pictures not supported anymore.
Output Buffer Architecture

Main Page About Liberouter Team Mailing list SVN Contacts