Socket wrapper library ======================= This library makes possible to run several instances of the full software stack on the same machine and perform locally functional testing of complex network configurations. It passes all socket communication over unix domain sockets. The user defines a directory where to put all the unix sockets using the envionment variable "SOCKET_WRAPPER_DIR=/path/to/socket_dir". When a server opens a port or a client wants to connect, socket_wrapper will translate IP addresses to a special socket_wrapper name and look for the relevant unix socket in the SOCKET_WRAPPER_DIR. Additionally, the default interface to be used by an application is defined with "SOCKET_WRAPPER_DEFAULT_IFACE=" where is between 2 and 254. This is analogous to use the IPv4 addresses "127.0.0." or IPv6 addresses "fd00::5357:5f" (where is a hexadecimal presentation of ). You should always set the default interface. If you listen on INADDR_ANY then it will use the default interface to listen on. Example: LD_PRELOAD=libsocket_wrapper.so \ SOCKET_WRAPPER_DIR=/path/to/socket_dir \ ./mydaemon The following environment variables could also be set: SOCKET_WRAPPER_DEFAULT_IFACE The default interface to use if nothing has been set trough the functions. Set it to '11' for '127.0.0.11'. SOCKET_WRAPPER_PCAP_FILE If set then all traffic will be written to the specified pcap file. SOCKET_WRAPPER_DEBUGLEVEL If you socket_wrapper with with debug symbols you can turn on logging by setting this to an integer between 1 and 3. 0 = ERROR 1 = WARNING 2 = DEBUG 3 = TRACE