SatCat5
satcat5::ip::Stack Class Reference

Detailed Description

All-in-one Internet Protocol stack with all basic services.

This file defines an all-in-one wrapper that makes it easier to use the SatCat5 IPv4 protocol stack. Users can instantiate the contained objects directly for a slimmer design, but this class provides a more accessible basket of commonly-used services. The only prerequisites are an Ethernet connection (e.g., port::MailMap) and a time reference (e.g., cfg::Timer).

The wrapper includes all of the basic IPv4 services:

  • Address Resolution Protocol (ARP)
  • Internet Control Message Protocol (ICMP)
  • User Datagraph Protocol (UDP)
  • User-facing services including Ping and UDP-echo.

Definition at line 32 of file ip_stack.h.

#include <ip_stack.h>

Collaboration diagram for satcat5::ip::Stack:
[legend]

Public Member Functions

 Stack (const satcat5::eth::MacAddr &local_mac, const satcat5::ip::Addr &local_ip, satcat5::io::Writeable *dst, satcat5::io::Readable *src, satcat5::util::TimeRef *timer=0)
 Create a complete IPv4/UDP protocol stack.
 
satcat5::ip::Addr ipaddr () const
 
satcat5::eth::MacAddr macaddr () const
 
void set_addr (const satcat5::ip::Addr &addr)
 DEPRECATED. More...
 
void set_ipaddr (const satcat5::ip::Addr &addr)
 
void set_macaddr (const satcat5::eth::MacAddr &macaddr)
 

Public Attributes

satcat5::eth::Dispatch m_eth
 Ethernet layer.
 
satcat5::ip::Table m_route
 IPv4 routing table.
 
satcat5::ip::Dispatch m_ip
 IPv4 and ICMP layer.
 
satcat5::udp::Dispatch m_udp
 UDP layer.
 
satcat5::udp::ProtoEcho m_echo
 Echo on UDP port 7.
 
satcat5::ip::Ping m_ping
 Ping+Arping utilities.
 

Member Function Documentation

◆ set_addr()

void satcat5::ip::Stack::set_addr ( const satcat5::ip::Addr addr)
inline

DEPRECATED.

See also
set_ipaddr

Definition at line 57 of file ip_stack.h.


The documentation for this class was generated from the following files: