Provided by: libvdeslirp0_0.1.1-1_amd64 bug

NAME

       vdeslirp_add_fwd,   vdeslirp_remove_fwd,   vdeslirp_add_unixfwd,  vdeslirp_remove_unixfwd,
       vdeslirp_add_cmdexec - simple API for slirp, port forwarding

SYNOPSIS

       #include <libvdeslirp.h>

       int vdeslirp_add_fwd(struct vdeslirp *slirp, int is_udp,  struct  in_addr  host_addr,  int
       host_port, struct in_addr guest_addr, int guest_port);

       int  vdeslirp_remove_fwd(struct vdeslirp *slirp, int is_udp, struct in_addr host_addr, int
       host_port);

       int vdeslirp_add_unixfwd(struct vdeslirp *slirp, char *path,  struct  in_addr  guest_addr,
       int guest_port);

       int   vdeslirp_remove_unixfwd(struct  vdeslirp  *slirp,  struct  in_addr  guest_addr,  int
       guest_port);

       int vdeslirp_add_cmdexec(struct vdeslirp  *slirp,  const  char  *cmdline,  struct  in_addr
       *guest_addr, int guest_port);

       int   vdeslirp_remove_cmdexec(struct  vdeslirp  *slirp,  struct  in_addr  guest_addr,  int
       guest_port);

DESCRIPTION

       Slirp, see libvdelirp(3), is a TCP/IP emulator. Slirp generates a  virtual  network  using
       standard  user  privileges  (no  need  for  root access of CAP_NET_ADMIN). These functions
       manage port forwarding services.

       vdeslirp_add_fwd and vdeslirp_remove_fwd respectively add  and  remove  udp  or  tcp  port
       forwarding  services (depending upon the value of is_udp). host_addr and host_port are the
       IP address and port number bound for the service in the host system. All  the  connections
       or  datagrams  to host_addr and host_port will be diverted to guest_addr and guest_port in
       the slirp virtual network.

       vdeslirp_add_unixfwd and vdeslirp_remove_unixfwd respectively add and remove a  forwarding
       service  towards a PF_UNIX stream socket on the hosting system. All the connections from a
       node of the virtual network to guest_addr and guest_port will be diverted to  the  PF_UNIX
       bound  to  the pathname path. This feature is commonly used to run X-window clients in the
       virtual network (e.g. the value of path could be /tmp/.X11-unix/X0).

       If libslirp does not support slirp_add_unix,  vdeslirp_add_unixfwd  is  implemented  by  a
       workaround based on nc(1).

       vdeslirp_cmd_fwd  adds  a  forwarding service to a command. A TCP connection to guest_addr
       and guest_port activates the command cmdline. Data exchanged  on  the  TCP  connection  is
       forwarded as stdin/stdout to the command.

       vdeslirp_remove_cmdexec removes a command forwarding service.

RETURN VALUE

       All  these  functions  return  0  in  case  of  success,  -1  otherwise  (and errno is set
       consequently). vdeslirp_remove_cmdexec and vdeslirp_remove_unixfwd return -1 and set errno
       to ENOSYS if libslirp does not support slirp_remove_guestfwd.

SEE ALSO

       libvdeslirp(3), libvdeslirpcfg(3)

BUGS

       Bug reports should be addressed to <info@virtualsquare.org>

AUTHOR

       VirtualSquare. Project leader: Renzo Davoli.