lokinet/vendor/libtuntap-master
2019-06-20 10:35:51 -04:00
..
bindings include libtuntap 2018-06-23 05:18:31 -07:00
doc include libtuntap 2018-06-23 05:18:31 -07:00
regress include libtuntap 2018-06-23 05:18:31 -07:00
CMakeLists.txt include libtuntap 2018-06-23 05:18:31 -07:00
Makefile include libtuntap 2018-06-23 05:18:31 -07:00
README.md include libtuntap 2018-06-23 05:18:31 -07:00
TODO.md include libtuntap 2018-06-23 05:18:31 -07:00
tuntap_log.cpp Move lokinet unspecific components to a util/ library 2019-01-10 20:07:24 +00:00
tuntap-unix-aix.c include libtuntap 2018-06-23 05:18:31 -07:00
tuntap-unix-bsd.c that _should_ be just enough to implement TUN on Solaris 2.x 2019-03-25 12:03:55 -05:00
tuntap-unix-darwin.c fix prev commit 2019-02-06 13:34:07 -05:00
tuntap-unix-freebsd.c this? 2018-12-15 12:27:50 -05:00
tuntap-unix-linux.c ipv6 2019-06-11 12:44:05 -04:00
tuntap-unix-netbsd.c we don't need TAP 2018-09-24 12:07:34 -04:00
tuntap-unix-openbsd.c the AVX2 codepaths now appear to be 32-bit clean. 2018-10-01 15:06:07 -05:00
tuntap-unix-sunos.c finally fix solaris 2019-06-18 19:35:10 -05:00
tuntap-unix.c finally fix solaris 2019-06-18 19:35:10 -05:00
tuntap-windows.c seek only the generic TAP device 2019-03-20 21:43:38 -05:00
tuntap.cpp ipv6 2019-06-11 12:44:05 -04:00

libtuntap

Description

libtuntap is a library for configuring TUN or TAP devices in a portable manner.

TUN and TAP are virtual networking devices which allow userland applications to receive packets sent to it. The userland applications can also send their own packets to the devices and they will be forwarded to the kernel.

This is useful for developping tunnels, private networks or virtualisation systems.

Supported Features

  • Creation of TUN and TAP devices;
  • Autodetection of available TUN or TAP devices;
  • Setting and getting the MAC address of the device;
  • Setting and getting the MTU of the device;
  • Setting the status of the device (up/down);
  • Setting the IPv4 address and netmask of the device;
  • Setting the persistence mode of the device;
  • Setting the name of the device (Linux only);
  • Setting the description of the device (OpenBSD and FreeBSD only).

Supported Systems

  • OpenBSD;
  • Linux;
  • NetBSD;
  • Darwin.

Current Porting Efforts

  • Windows;
  • FreeBSD.

In the future

  • AIX;
  • Solaris.

License

All the code is licensed under the ISC License. It's free, not GPLed !