SatCat5
port_adapter.h File Reference

Detailed Description

Adapter definitions for using generic I/O objects with eth::SwitchCore.

The software-defined Ethernet switch (i.e., eth::SwitchCore) defines a specific port interface (i.e., eth::SwitchPort). This file defines adapters that apply egress conversions required for VLAN support and convert that data to/from various streaming formats.

This includes:

  • port::MailAdapter Use this adapter with packetized Ethernet streams that have already had the FCS field verified and removed, such as "port::MailMap". This adapter accepts data from a Readable interface and copies it to the switch, and it copies data from the switch to a Writeable interface after applying required modifications to the VLAN tag.
  • port::CobsAdapter Use this adapter with byte-streams containing COBS-encoded Ethernet frames with an FCS, such as "cfg:Spi" or "cfg::Uart". The adapter decodes COBS data from a Readable interface, verifies the FCS, and copies to the switch. Egress data updates VLAN tags before appending an FCS, applying COBS encoding, and relaying to a Writeable interface.
  • port::SlipAdapter Use this adapter with byte-streams containing SLIP-encoded Ethernet frames with an FCS, such as "cfg:Spi" or "cfg::Uart". The adapter decodes SLIP data from a Readable interface, verifies the FCS, and copies to the switch. Egress data updates VLAN tags before appending an FCS, applying SLIP encoding, and relaying to a Writeable interface.
  • port::NullAdapter Use this adapter with SatCat5 network interfaces such as "ip::Stack" or "eth::Dispatch". It presents the virtual switch port as a direct Readable and Writeable interface with no inline modifications.
  • port::SwitchAdapter Use this adapter as a crossover port to connect two networking devices together. e.g., switch <-> switch or switch <-> router.

Definition in file port_adapter.h.

Include dependency graph for port_adapter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  satcat5::port::VlanAdapter
 Parent class for handling switch egress and VLAN functions. More...
 
class  satcat5::port::MailAdapter
 Port adapter for MailBox, MailMap, etc. More...
 
class  satcat5::port::CobsAdapter
 Port adapter for COBS-encoded serial ports. More...
 
class  satcat5::port::SlipAdapter
 Port adapter for SLIP-encoded serial ports. More...
 
class  satcat5::port::NullAdapter
 Minimalist port adapter with no VLAN conversion. More...
 
class  satcat5::port::BufferAdapter< SIZE >
 Minimalist port adapter with VLAN conversion. More...
 
class  satcat5::port::SwitchAdapter
 Back-to-back connection of one SwitchCore to another SwitchCore. More...