9 #include <satcat5/ip_dispatch.h>
10 #include <satcat5/udp_core.h>
42 {
return m_iface->arp(); }
44 {
return m_iface->iface(); }
48 {
return m_iface->ipaddr(); }
50 {
return m_iface->macaddr(); }
52 {
return m_iface->reply_vtag(); }
54 {
return m_iface->reply_mac(); }
55 inline bool reply_is_multicast()
const
56 {
return m_iface->reply_is_multicast(); }
58 {
return m_iface->reply_ip(); }
60 {
return m_reply_src; }
62 {
return m_reply_dst; }
Implemention of "net::Dispatch" for Ethernet frames.
Protocol handler for Ethernet-to-IPv4 ARP queries and replies.
Limited read of next N bytes.
Abstract API for writing byte-streams and packets.
Connection metadata for an IPv4 address.
Protocol handler and dispatch unit for Internet Protocol v4 (IPv4).
The "Dispatch" is a generic interface that knows how to read a designated protocol layer and sort inc...
Dispatch()
Constructor and destructor access restricted to children.
A net::Protocol is the counterpart to net::Dispatch that handles a particular data stream,...
Dispatcher sorts incoming UDP messages by port index.
satcat5::io::Writeable * open_write(satcat5::ip::Address &addr, const satcat5::udp::Port &src, const satcat5::udp::Port &dst, unsigned len)
Send a datagram to the designated UDP address and port.
satcat5::io::Writeable * open_reply(const satcat5::net::Type &type, unsigned nbytes) override
Reply to the sender of the most recent received message.
void frame_rcvd(satcat5::io::LimitedRead &src) override
Dispatch calls frame_rcvd(...) for each incoming frame with with a matching net::Type value.
satcat5::udp::Port next_free_port()
Get the next unclaimed dynamically-allocated port index.
An Ethernet MAC address (with serializable interface).
Header contents for an 802.1Q Virtual-LAN tag.
IPv4 address is a 32-bit unsigned integer.
UDP and TCP ports are both 16-bit unsigned integers.
Multipurpose filter for matching fields in network packets.