SatCat5
router2_stack.h File Reference

Detailed Description

Top-level classes for the the IPv4 router.

The classes defined here are the preferred top-level container for the entire IPv4 router. It instantiates all required subsystems:

  • A local IP/UDP stack for ARP and ICMP handling.
  • router2::Dispatch for buffering and bulk packet handling.
  • router2::DeferFwd for deferred forwarding to unknown MAC addresses.
  • router2::Offload for hardware-accerated HDL/SW interfacing.
  • router2::Table for synchronizing HDL/SW routing-table contents.

Variants are available for an all-software solution and a hybrid solution:

  • router2::StackCommon is the shared parent for other variants.
  • router2::StackGateware creates a gateware-only or hybrid router.
  • router2::StackSoftware creates a software-only router.

As with the ip::Stack class, these classes connect various building blocks but have no logic beyond initialization. The intent is a monolithic turnkey system suitable for the most common use-cases (especially for new users) that doubles as a checklist for advanced or specialized cases.

Software ports and IP routing tables MUST be configured manually after instantiating any of the router variants. See "ip_table.h".

Definition in file router2_stack.h.

#include <satcat5/igmp_server.h>
#include <satcat5/ip_stack.h>
#include <satcat5/router2_deferfwd.h>
#include <satcat5/router2_dispatch.h>
#include <satcat5/router2_offload.h>
#include <satcat5/router2_table.h>
Include dependency graph for router2_stack.h:

Go to the source code of this file.

Classes

class  satcat5::router2::StackCommon
 Common parent for StackGateware and StackSoftware. More...
 
class  satcat5::router2::StackGateware< BSIZE >
 Router implementation where some or all ports are gateware. More...
 
class  satcat5::router2::StackSoftware< BSIZE >
 Router implementation where all ports are software-defined. More...