C++ API reference

The classes and functions of the vNet sources, generated from the comments in include/ by Doxygen and Breathe. This part is for people who change vNet; organizers do not need it.

Module

Contents

vnet::blackbox

vnet::blackbox: the switch’s packet engine. The access list (Config), the machines attached to a switch (AgentRegistry), the routes to other switches (RoutingTable), the rate limiter and the decision for each packet (BlackBox). No I/O.

vnet::netqueue

vnet::netqueue: the event loop shared by the three programs. Non-blocking sockets and TUN devices in one epoll loop, framing, TLS sessions, write buffers.

vnet::protocol

vnet::protocol: the frame header, the message type numbers and the dispatch interface each program implements.

vnet::tls

vnet::tls: the TLS context, handshakes and the role check.

Common functions

Free functions shared by the programs: sockets, TUN devices, the bypass file, system helpers.