VxWorks Reference Manual : Libraries
proxyArpLib - proxy Address Resolution Protocol (ARP) library
proxyArpLibInit( ) - initialize proxy ARP
proxyNetCreate( ) - create a proxy ARP network
proxyNetDelete( ) - delete a proxy network
proxyNetShow( ) - show proxy ARP networks
proxyPortFwdOn( ) - enable broadcast forwarding for a particular port
proxyPortFwdOff( ) - disable broadcast forwarding for a particular port
proxyPortShow( ) - show enabled ports
This library provides transparent network access by using the Address Resolution Protocol (ARP) to make logically distinct networks appear as one logical network (that is, the networks share the same address space). This module implements a proxy ARP scheme which provides an alternate method (to subnets) of access to the WRS backplane.
This module implements the proxy server. The proxy server is the multi-homed target which provides network transparency over the backplane by watching for and answering ARP requests.
This implementation supports only a single tier of backplane networks (that is, only targets on directly attached interfaces are proxied for). Only one proxy server resides on a particular backplane network.
This library is initialized by calling proxyArpLibInit( ). Proxy networks are created by calling proxyNetCreate( ) and deleted by calling proxyNetDelete( ). The proxyNetShow( ) routine displays the proxy and main networks and the clients that reside on them.
A VxWorks backplane target registers itself as a target (proxy client) on the proxy network by calling proxyReg( ). It unregisters itself by calling proxyUnreg( ). These routines are provided in proxyLib.
To minimize and control backplane (proxy network) broadcast traffic, the proxy server must be configured to pass through broadcasts to a certain set of destination ports. Ports are enabled with the call proxyPortFwdOn( ) and are disabled with the call proxyPortFwdOff( ). To see the ports currently enabled use proxyPortShow( ). By default, only the BOOTP server port is enabled.
For more information on proxy ARP, see the VxWorks Programmer's Guide: Network
proxyArpLib.h
proxyLib, RFC 925, RFC 1027, RFC 826, Network Programmer's Guide VxWorks Programmer's Guide: Network
proxyArpLibInit( ) - initialize proxy ARP
STATUS proxyArpLibInit ( int clientSizeLog2, /* client table size as power of two */ int portSizeLog2 /* port table size as power of two */ )
This routine initializes the proxy ARP library by initializing tables and structures and adding the hooks to process ARP, proxy messages, and broadcasts. clientSizeLog2 specifies the client hash table size as a power of two. portSizeLog2 specifies the port hash table as a power of two. If either of these parameters is zero, a default value will be used. By default, proxyArpLibInit( ) enables broadcast forwarding of the BOOTP server port.
This routine should be called only once; subsequent calls have no effect.
OK, or ERROR if unsuccessful.
proxyNetCreate( ) - create a proxy ARP network
STATUS proxyNetCreate ( char * proxyAddr, /* address of proxy network interface */ char * mainAddr /* address of main network interface */ )
This routine activates proxy services between the proxy network connected to the interface with the proxyAddr IP address and the main network connected to the interface with the mainAddr address. Once registration is complete, the proxy server will disguise the physically separated networks as a single logical network.
The corresponding interfaces must be attached and configured with IP addresses before calling this routine. If the proxy network shares the same logical subnet number as the main network, the corresponding interface to the proxy network must use a value of 255.255.255.255 for the netmask.
OK, or ERROR if unsuccessful.
S_proxyArpLib_INVALID_ADDRESS
proxyNetDelete( ) - delete a proxy network
STATUS proxyNetDelete ( char * proxyAddr /* proxy net address */ )
This routine deletes the proxy network specified by proxyAddr. It also removes all the proxy clients that exist on that network.
OK, or ERROR if unsuccessful.
proxyNetShow( ) - show proxy ARP networks
void proxyNetShow (void)
This routine displays the proxy networks and their associated clients.
-> proxyNetShow main interface 147.11.1.182 proxy interface 147.11.1.183 client 147.11.1.184
N/A
proxyPortFwdOn( ) - enable broadcast forwarding for a particular port
STATUS proxyPortFwdOn ( int port /* port number */ )
This routine enables broadcasts destined for the port, port, to be forwarded to and from the proxy network. To enable all ports, specify zero for port.
OK, or ERROR if unsuccessful.
proxyPortFwdOff( ) - disable broadcast forwarding for a particular port
STATUS proxyPortFwdOff ( int port /* port number */ )
This routine disables broadcast forwarding on port number port. To disable the (previously enabled) forwarding of all ports via proxyPortFwdOn( ), specify zero for port.
OK, or ERROR if unsuccessful.
proxyPortShow( ) - show enabled ports
void proxyPortShow (void)
This routine displays the ports currently enabled.
-> proxyPortShow enabled ports: port 67
N/A