lokinet/vendor/libtuntap-master
2019-02-26 15:48:03 -06: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 fix macos tun name 2019-01-10 17:50:20 -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 add initial jni stuff for lokinet android. i fucking hate android so god damn much. 2018-11-26 17:46:22 -05: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 hmm some BSDs implement SIOCSIFNAME, Solaris (being SVR4 UNIX) definitely does. 2018-08-23 13:44:44 -05:00
tuntap-unix.c fix macos tun name 2019-01-10 17:50:20 -05:00
tuntap-windows.c clang-format 2019-02-26 15:48:03 -06:00
tuntap.cpp Move lokinet unspecific components to a util/ library 2019-01-10 20:07:24 +00: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 !