6 #include <hal_test/eth_crosslink.h>
20 Crosslink::Crosslink(
const char* filename, u16 type)
42 CrosslinkEth::CrosslinkEth(
const char* filename)
44 , net0(MAC0, ð0, ð0)
45 , net1(MAC1, ð1, ð1)
50 CrosslinkIp::CrosslinkIp(
const char* filename)
52 , net0(MAC0, IP0, ð0, ð0, &timer)
53 , net1(MAC1, IP1, ð1, ð1, &timer)
58 CrosslinkSpp::CrosslinkSpp(
const char* filename)
59 :
Crosslink(filename, satcat5::io::LINKTYPE_USER0)
void open(const char *filename, u16 type=LINKTYPE_ETHERNET)
Open the specified file, and optionally specify LinkType.
void set_zero_pad(unsigned len)
Set minimum frame length. Runt frames are zero-padded.
void set_loss_rate(float rate)
Set rate for randomized drops of outgoing packets.
void connect(satcat5::test::EthernetInterface *dst)
Crosslink to specified destination object.
std::string sim_filename(const char *pre, const char *ext)
Generate a unique filename for storing unit-test results.
An Ethernet MAC address (with serializable interface).
IPv4 address is a 32-bit unsigned integer.
Crosslink plus Ethernet dispatch.
Container for a pair of back-to-back network interfaces.
static constexpr satcat5::eth::MacAddr MAC0
Set preferred addresses for each interface.
satcat5::test::EthernetInterface eth0
Define each network interface (usually Ethernet).
static constexpr satcat5::ip::Addr IP1
Set preferred addresses for each interface.
satcat5::test::EthernetInterface eth1
Define each network interface (usually Ethernet).
void set_zero_pad(unsigned len)
Shortcut for setting zero-padding on both interfaces.
void set_loss_rate(float rate)
Shortcut for setting loss rate on both interfaces.
static constexpr satcat5::ip::Addr IP0
Set preferred addresses for each interface.
static constexpr satcat5::eth::MacAddr MAC1
Set preferred addresses for each interface.
satcat5::io::WritePcap pcap
Packet-capture logging system.
Crosslink plus full IPv4+UDP stack.
Crosslink plus CCSDS-SPP dispatch.