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, /* address of proxy network interface */
    char * mainAddr   /* address of main network interface */
    )

DESCRIPTION

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.

RETURNS

OK, or ERROR if unsuccessful.

ERRNO

 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