Changes between Initial Version and Version 1 of Tapctl


Ignore:
Timestamp:
01/19/19 22:17:13 (5 years ago)
Author:
rozmansi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Tapctl

    v1 v1  
     1{{{
     2#!rst
     3Tapctl Network Interface Management Utility
     4===========================================
     5
     6
     7Introduction
     8------------
     9
     10The Tapctl or ``tapctl.exe`` is a command line utility introduced to manage TAP network interfaces on Windows. It was developed to replace the ``tapinstall.exe`` utility.
     11
     12
     13User Manual
     14-----------
     15
     16The Tapctl utility requires elevation. Please, run it from an elevated command prompt (Run as Administrator).
     17
     18
     19Creating a TAP/TUN network interface
     20^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     21
     22Usage::
     23
     24  tapctl create [--name <desired interface name>]
     25
     26A new virtual network interface is created.
     27
     28When the ``--name`` parameter is omitted, Windows selects a name automatically (e.g. "Ethernet 2").
     29
     30When the ``--name`` parameter is specified, the utility will rename the newly created interface to the name given. Should the interface with the given name already exist, an error is returned. If the name contains spaces, enclose it in quotes.
     31
     32Upon successful creation, the newly created interface's GUID is output to stdout.
     33
     34Notes:
     35  1. The name specified using ``--name`` parameter can also be specified as OpenVPN's ``--dev-node`` option.
     36  2. Tapctl does not install or update TAP-Windows driver. It assumes the driver is already installed. The TAP-Windows NDIS 6 driver is installed as a part of OpenVPN MSI setup or may be installed manually using the INF file.
     37
     38
     39Listing installed network interfaces
     40^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     41
     42Usage::
     43
     44  tapctl list
     45
     46This command prints *all* network interfaces to stdout. The list will contain interface GUIDs and names. 3rd party interfaces and system internal interfaces will also be included on the list.
     47
     48
     49Removing a network interface
     50^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     51
     52Usage::
     53
     54  tapctl delete <interface GUID | interface name>
     55
     56Deletes the specified network interface. Please note, that the Tapctl utility does not check the interface type and as such can be used to remove any network interface from your system. Use with care.
     57
     58
     59Developer Notes
     60---------------
     61
     62The Tapctl utility was developed to compile using Microsoft Visual Studio 2017 and later upgraded to support building as a part of the OpenVPN-build system.
     63
     64Source files
     65^^^^^^^^^^^^
     66
     67``basic.h``
     68  Basic macro declarations
     69
     70``error.c`` and ``error.h``
     71  OpenVPN compatible error reporting API. Though the Tapctl utility does not rely on ``openvpn.exe``'s source code, it borrows the run-time information output scheme from it. This tries to keep the source code style and best practices as close to OpenVPN as possible.
     72
     73``main.c``
     74  Main utility logic. It also includes implementation of ``msg()`` function to output any messages to stdout and stderr.
     75
     76``tap.c`` and ``tap.h``
     77  Windows network interface management functions. All definitions in ``tap.h`` include description and usage instructions in a Doxygen form.
     78
     79Some of these source files are reused by the ``openvpnmsica`` DLL.
     80}}}