VxWorks Reference Manual : Libraries

proxyArpLib

NAME

proxyArpLib - proxy Address Resolution Protocol (ARP) library

ROUTINES

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

DESCRIPTION

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

INCLUDE FILES

proxyArpLib.h

SEE ALSO

proxyLib, RFC 925, RFC 1027, RFC 826, Network Programmer's Guide VxWorks Programmer's Guide: Network


Libraries : Routines

proxyArpLibInit( )

NAME

proxyArpLibInit( ) - initialize proxy ARP

SYNOPSIS

STATUS proxyArpLibInit
    (
    int clientSizeLog2, /* client table size as power of two */
    int portSizeLog2    /* port table size as power of two */
    )

DESCRIPTION

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.

RETURNS

OK, or ERROR if unsuccessful.

SEE ALSO

proxyArpLib


Libraries : Routines

proxyNetCreate( )

NAME

proxyNetCreate( ) - create a proxy ARP network

SYNOPSIS

STATUS proxyNetCreate
    (
    char * proxyAddr, /* proxy network address */
    char * mainAddr   /* main network address */
    )

DESCRIPTION

This routine creates a proxy network with the interface proxyAddr as the proxy network and the interface mainAddr as the main network. The interfaces and the routing tables must be set up correctly, prior to calling this routine. That is, the interfaces must be attached, addresses must be set, and there should be a network route to mainAddr and no routes to proxyAddr.

proxyAddr and mainAddr must reside in the same network address space.

RETURNS

OK, or ERROR if unsuccessful.

ERRNO

 S_proxyArpLib_INVALID_INTERFACE
 S_proxyArpLib_INVALID_ADDRESS

SEE ALSO

proxyArpLib


Libraries : Routines

proxyNetDelete( )

NAME

proxyNetDelete( ) - delete a proxy network

SYNOPSIS

STATUS proxyNetDelete
    (
    char * proxyAddr /* proxy net address */
    )

DESCRIPTION

This routine deletes the proxy network specified by proxyAddr. It also removes all the proxy clients that exist on that network.

RETURNS

OK, or ERROR if unsuccessful.

SEE ALSO

proxyArpLib


Libraries : Routines

proxyNetShow( )

NAME

proxyNetShow( ) - show proxy ARP networks

SYNOPSIS


void proxyNetShow (void)

DESCRIPTION

This routine displays the proxy networks and their associated clients.

EXAMPLE

    -> proxyNetShow
    main interface 147.11.1.182 proxy interface 147.11.1.183
       client 147.11.1.184

RETURNS

N/A

SEE ALSO

proxyArpLib


Libraries : Routines

proxyPortFwdOn( )

NAME

proxyPortFwdOn( ) - enable broadcast forwarding for a particular port

SYNOPSIS

STATUS proxyPortFwdOn
    (
    int port /* port number */
    )

DESCRIPTION

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.

RETURNS

OK, or ERROR if unsuccessful.

SEE ALSO

proxyArpLib


Libraries : Routines

proxyPortFwdOff( )

NAME

proxyPortFwdOff( ) - disable broadcast forwarding for a particular port

SYNOPSIS

STATUS proxyPortFwdOff
    (
    int port /* port number */
    )

DESCRIPTION

This routine disables broadcast forwarding on port number port. To disable the (previously enabled) forwarding of all ports via proxyPortFwdOn( ), specify zero for port.

RETURNS

OK, or ERROR if unsuccessful.

SEE ALSO

proxyArpLib


Libraries : Routines

proxyPortShow( )

NAME

proxyPortShow( ) - show enabled ports

SYNOPSIS


void proxyPortShow (void)

DESCRIPTION

This routine displays the ports currently enabled.

EXAMPLE

    -> proxyPortShow
    enabled ports:
       port 67

RETURNS

N/A

SEE ALSO

proxyArpLib