SPECIFICATION
VNET is a virtual protocol which manages multiple physical network
protocols.
When opened with an IP address, VNET determines if the host can be
reached directly on one of its physical networks. If it can, a
session on that network is opened. If it can not be directly reached,
an ERR_XOBJis returned.
SYNOPSIS
VNET sits above pairs of network protocols (one per interface) and ARP
protocols. When opened with a remote IP address, VNET compares the
net number with that of its lower protocols to determine if the host
can be reached directly on a local network, opening the appropriate
interface protocol (if possible.)
If opened with an IP broadcast address, VNET will determine which networks are matched by the broadcast address and will open a lower session on each of those networks. A push on a VNET broadcast session will result in a push on all of these lower network sessions.
Use of the IP broadcast address 255.255.255.255 will result in a VNET session which broadcasts on all of the local networks.
REALM
VNET is in the ASYNC realm.
PARTICIPANTS
VNET removes a pointer to an IPhost from the top of the stack of the
remote participant. Only the remote participant is processed. New
participants are created for opening the lower network protocols.
CONTROL OPERATIONS
Determines the address class of the given IP host. The address class is one of the following:
Indicate the number of interfaces used by the VNET protocol (protocol only.)
Indicates (through the xControl return value) whether the given host is on one of VNET's interfaces. When performed on a session, only those interfaces active on that session will be considered (a typical VNET session only uses one interface, though a broadcast session may have more than one.) When performed on a protocol, all interfaces are considered.
Returns sizeof(IPhost) if it is on a local network, 0 if it is not.
Indicates (through the xControl return value) whether the given host is an address which might be used to reach this host on VNET's local networks (i.e., if the address is one of this host's IP addresses or is a broadcast address.) Returns sizeof(IPhost) if it is local (or broadcast), 0 if it is not.
CONFIGURATION
VNET expects its lower protocols to be configured in network/ARP
pairs:
name=vnet protocols=eth/1,arp/1,eth/2,arp/2;
AUTHOR
Ed Menze