vnet::protocol¶
-
namespace protocol¶
Typedefs
-
using uint_packet_t = uint16_t¶
Enums
-
enum PacketType¶
Values:
-
enumerator HEARTBEAT¶
-
enumerator SWITCH_MIP¶
-
enumerator AGENT_MIP¶
-
enumerator CONNECT_TO_SWITCH¶
-
enumerator AGENT_CONNECTION_TOKEN¶
-
enumerator AUTH_CONNECT_TO_SWITCH¶
-
enumerator CONNECTION_ACCEPTED¶
-
enumerator AGENT_MRP¶
-
enumerator IPV4_RAW¶
-
enumerator AGENT_REGISTERED¶
-
enumerator SWITCH_ROUTE_UPDATE¶
-
enumerator SWITCH_DISCONNECTED¶
-
enumerator SWITCH_HELLO¶
-
enumerator AGENT_UNREGISTERED¶
-
enumerator PEER_TOKEN¶
-
enumerator SWITCH_CONFIG¶
-
enumerator CONFIG_PUSH¶
-
enumerator HEARTBEAT¶
Functions
-
netqueue::NetworkQueueHandler makeNetworkQueueHandler(Dispatch *dispatch)¶
-
PacketType ntoh_packet_type(uint_packet_t type)¶
-
uint_packet_t hton_packet_type(PacketType type)¶
Variables
-
const size_t PACKET_HEADER_SIZE = sizeof(PacketHeader)¶
-
const uint32_t MAX_PAYLOAD_SIZE = NET_BUFFER_SIZE - PACKET_HEADER_SIZE¶
Largest payload a peer may announce in a header.
A packet must fit in a NetworkElement receive buffer, so anything larger is a protocol error and the connection is dropped.
-
struct Dispatch¶
- #include <dispatch.hpp>
Public Functions
-
void onSocketReady(netqueue::socket_data data)¶
-
virtual void onActivity(netqueue::socket_data data)¶
-
virtual void onClose(netqueue::close_data close_content)¶
-
virtual void onConnected(netqueue::socket_data data)¶
A pending connect or TLS handshake finished; packets can flow.
-
virtual void onHeartbeat(netqueue::socket_data data)¶
-
virtual void onSwitchMIP(netqueue::socket_data data, mip::PacketSwitchMIP &packet)¶
Machine Initialization Procedure.
-
virtual void onAgentMIP(netqueue::socket_data data, mip::PacketAgentMIP &packet)¶
-
virtual void onConnectToSwitch(netqueue::socket_data data, mip::PacketConnectToSwitch &packet)¶
-
virtual void onAuthConnectToSwitch(netqueue::socket_data data, mip::PacketAuthConnectToSwitch &packet)¶
-
virtual void onAgentConnectionToken(netqueue::socket_data data, mip::PacketAgentConnectionToken &packet)¶
-
virtual void onConnectionAccepted(netqueue::socket_data data, mip::PacketConnectionAccepted &packet)¶
-
virtual void onAgentMRP(netqueue::socket_data data, mip::PacketAgentMRP &packet)¶
Reconnection.
-
virtual void onIPv4Raw(netqueue::socket_data data, const uint8_t *raw, size_t len)¶
Routing.
One IPv4 datagram, as it was read from a TUN: no protobuf wrapper.
-
virtual void onAgentRegistered(netqueue::socket_data data, mip::PacketAgentRegistered &packet)¶
-
virtual void onSwitchRouteUpdate(netqueue::socket_data data, mip::PacketSwitchRouteUpdate &packet)¶
-
virtual void onSwitchDisconnected(netqueue::socket_data data, mip::PacketSwitchDisconnected &packet)¶
-
virtual void onSwitchHello(netqueue::socket_data data, mip::PacketSwitchHello &packet)¶
-
virtual void onAgentUnregistered(netqueue::socket_data data, mip::PacketAgentUnregistered &packet)¶
-
virtual void onPeerToken(netqueue::socket_data data, mip::PacketPeerToken &packet)¶
-
virtual void onSwitchConfig(netqueue::socket_data data, mip::PacketSwitchConfig &packet)¶
-
virtual void onConfigPush(netqueue::socket_data data, mip::PacketConfigPush &packet)¶
One piece of the switch config, conductor to switch.
-
virtual ~Dispatch() = default¶
-
void onSocketReady(netqueue::socket_data data)¶
-
struct PacketHeader¶
- #include <header.hpp>
Public Functions
-
uint32_t get_payload_size() const¶
-
PacketType get_packet_type() const¶
-
PacketHeader()¶
-
PacketHeader(uint32_t payload_size, PacketType packet_type)¶
-
uint32_t get_payload_size() const¶
-
using uint_packet_t = uint16_t¶