aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-11-27 18:27:58 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-11-27 18:27:58 +0100
commit2b7a860ffb493aef75e7fc6f67574e1eb3663761 (patch)
treeda7a90d7d8013c03ed4ac7017ece271f3f310ce7
parentb0b9c2828431d5c3266c59aec484c1e0b37c6496 (diff)
parent932eeec240586a461c5c68f8584392eb1ea44850 (diff)
Merge history from osmo-gsm-manuals.git
-rw-r--r--doc/manuals/Makefile10
-rw-r--r--doc/manuals/chapters/configuration.adoc335
-rw-r--r--doc/manuals/chapters/overview.adoc145
-rw-r--r--doc/manuals/chapters/running.adoc82
-rw-r--r--doc/manuals/osmoggsn-usermanual-docinfo.xml46
-rw-r--r--doc/manuals/osmoggsn-usermanual.adoc29
-rw-r--r--doc/manuals/osmoggsn-vty-reference.xml38
-rw-r--r--doc/manuals/vty/ggsn_vty_additions.xml30
-rw-r--r--doc/manuals/vty/ggsn_vty_reference.xml1447
9 files changed, 2162 insertions, 0 deletions
diff --git a/doc/manuals/Makefile b/doc/manuals/Makefile
new file mode 100644
index 0000000..e809632
--- /dev/null
+++ b/doc/manuals/Makefile
@@ -0,0 +1,10 @@
+TOPDIR = ..
+
+ASCIIDOC = osmoggsn-usermanual.adoc
+ASCIIDOC_DEPS = chapters/*.adoc
+include $(TOPDIR)/build/Makefile.asciidoc.inc
+
+VTY_REFERENCE = osmoggsn-vty-reference.xml
+include $(TOPDIR)/build/Makefile.vty-reference.inc
+
+include $(TOPDIR)/build/Makefile.common.inc
diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc
new file mode 100644
index 0000000..657a014
--- /dev/null
+++ b/doc/manuals/chapters/configuration.adoc
@@ -0,0 +1,335 @@
+== Configuring OsmoGGSN
+
+All configuration of OsmoGGSN is performed using the VTY. For more
+general information on the VTY interface, see <<vty>>.
+
+=== Configuring a virtual GGSN instance
+
+OsmoGGSN can run multiple GGSN instances inside one program/process.
+Each GGSN instance binds to its own transport-layer GTP IP address and
+has its own set of APNs and associated IP address pools + tun/gtp
+devices.
+
+In most usage cases, yo will only have a single GGSN instance inside
+your configuration file, like in below example:
+
+.Example: Single GGSN configuration section
+----
+ggsn ggsn0
+ gtp state-dir /tmp
+ gtp bind-ip 127.0.0.6
+ apn internet
+ gtpu-mode tun
+ tun-device tun4
+ type-support v4
+ ip prefix dynamic 176.16.222.0/24
+ ip dns 0 192.168.100.1
+ ip dns 1 8.8.8.8
+ ip ifconfig 176.16.222.0/24
+ no shutdown
+----
+
+
+==== Creating/Editing a GGSN instance
+
+Creating/Editing a GGSN instance can be done by the following sequence
+of VTY commands:
+
+----
+OsmoGGSN> enable <1>
+OsmoGGSN# configure terminal <2>
+OsmoGGSN(config)# ggsn ggsn0 <3>
+OsmoGGSN(config-ggsn)# <4>
+----
+<1> Change into privileged mode
+<2> Enter the interactive configuration mode
+<3> Create or edit the GGSN instance `ggsn0`. The name can be any ASCII
+ string, its significance is only to the local user.
+<4> Your prompt is now in the `ggsn` config node, where you can
+ configure the properties of this GGSN instance.
+
+NOTE:: After creating a new GGSN instance, it is in `shutdown` mode. See
+<<unshutdown_apn>> to take it out of shutdown, but make sure to configure it fully
+before taking it out of shutdown.
+
+==== Configuring a GGSN instance
+
+The following two mandatory configuration statements have to be given
+for every GGSN instance:
+
+----
+OsmoGGSN(config-ggsn)# gtp state-dir /var/lib/ggsn/ggsn0 <1>
+OsmoGGSN(config-ggsn)# gtp bind-ip 127.0.0.6 <2>
+----
+<1> Store the GSN restart state in the specified directory
+<2> Bind the GGSN instance to the specified local IPv4 address
+
+There are some further configuration statements that can be used at the
+GGSN node, some examples are given below. For a full list, see the
+_OsmoGGSN VTY reference manual_ <<vty-ref-osmoggsn>>.
+
+----
+OsmoGGSN(config-ggsn)# default-apn foobar <1>
+----
+<1> Configure a default APN to be used if the user-requested APN is not
+ found. The named APN must previously be configured
+
+
+==== Deleting a GGSN instance
+
+A GGSN instance can be removed like this
+
+.Example: Deleting a GGSN instance
+----
+OsmoGGSN> enable <1>
+OsmoGGSN# configure terminal <2>
+OsmoGGSN(config)# no ggsn ggsn0 <3>
+----
+<1> Change into privileged mode
+<2> Enter the interactive configuration mode
+<3> Delete the GGSN instance
+
+
+==== Taking a GGSN instance out of shutdown
+
+.Example: Taking a GGSN instance out of shutdown
+----
+OsmoGGSN> enable <1>
+OsmoGGSN# configure terminal <2>
+OsmoGGSN(config)# ggsn ggsn0 <3>
+OsmoGGSN(config-ggsn)# no shutdown ggsn <4>
+----
+<1> Change into privileged mode
+<2> Enter the interactive configuration mode
+<3> Enter the config ndoe of the GGSN instance `ggsn0`
+<4> Take the GGSN instance out of shutdown
+
+
+==== Shutting a GGSN instance down
+
+If you would like to take a GGSN instance out of service, you can
+put it into shutdown mode. This will make the entire GGSN unavailable
+to user traffic and permit you to e.g. reconfigure it before taking it
+out of shutdown again.
+
+.Example: Shutting down a GGSN instance
+----
+OsmoGGSN> enable <1>
+OsmoGGSN# configure terminal <2>
+OsmoGGSN(config)# ggsn ggsn0 <3>
+OsmoGGSN(config-ggsn)# shutdown ggsn <4>
+----
+<1> Change into privileged mode
+<2> Enter the interactive configuration mode
+<3> Enter the config ndoe of the GGSN instance `ggsn0`
+<4> Shut down the GGSN instance
+
+
+=== Configuring an Access Point Name
+
+An Access Point Name (APN) represents a connection to an external packet
+data network, such as the public Internet or private corporate networsk.
+
+APNs are selected by terminals (MS/UE) when establishing PDP contexts.
+
+Each OsmoGGSN GGSN instance can have any number of APNs configured.
+Each APN is identified by a string name.
+
+==== Creating/Editing an APN
+
+.Example: Creating a new APN
+----
+OsmoGGSN> enable <1>
+OsmoGGSN# configure terminal <2>
+OsmoGGSN(config)# ggsn ggsn0 <3>
+OsmoGGSN(config-ggsn)# apn internet <4>
+OsmoGGSN(config-ggsn-apn)# <5>
+----
+<1> Change into privileged mode
+<2> Enter the interactive configuration mode
+<3> Enter the config node of the GGSN instance `ggsn0`
+<4> Create or Edit an APN called `internet`
+<5> Your prompt is now in the `ggsn` config node, where you can
+ configure the properties of this GGSN instance.
+
+NOTE:: The newly-create APN is created in `shutdown` mode. See <<unshutdown_apn>> to take it
+out of shutdown.
+
+
+==== Configuring an APN
+
+.Example: Configuring an APN
+----
+OsmoGGSN(config-ggsn-apn)# gtpu-mode tun <1>
+OsmoGGSN(config-ggsn-apn)# type-support v4 <2>
+OsmoGGSN(config-ggsn-apn)# ip prefix dynamic 176.16.222.0/24 <3>
+OsmoGGSN(config-ggsn-apn)# ip dns 0 192.168.100.1 <4>
+OsmoGGSN(config-ggsn-apn)# ip dns 1 8.8.8.8 <5>
+OsmoGGSN(config-ggsn-apn)# ip ifconfig 176.16.222.0/24 <6>
+----
+<1> Use the userspace GTP-U handling using a TUN device
+<2> Support (only) IPv4 Addresses
+<3> Specify the pool of dynamic IPv4 addresses to be allocated to PDP
+ contexts
+<4> Specify the primary DNS server to be provided using IPCP/PCO
+<5> Specify the secondary DNS server to be provided using IPCP/PCO
+<6> Request OsmoGGSN to configure the `tun4` device network/netmask
+
+NOTE:: If you use the optional `ip ifconfig` command to set the network
+device address/mask, OsmoGGSN must run with root or `CAP_NET_ADMIN`
+support. It might be better to configure related tun devices at system
+startup and run OsmoGGSN as non-privileged user. See <<ggsn_no_root>> for more
+details.
+
+
+==== Deleting an APN
+
+An APN configuration can be removed like this
+
+.Example: Deleting an APN
+----
+OsmoGGSN> enable <1>
+OsmoGGSN# configure terminal <2>
+OsmoGGSN(config)# ggsn ggsn0 <3>
+OsmoGGSN(config-ggsn)# no apn internet <4>
+----
+<1> Change into privileged mode
+<2> Enter the interactive configuration mode
+<3> Enter the config node of the GGSN instance `ggsn0`
+<4> Delete the APN `internet`
+
+[[unshutdown_apn]]
+==== Taking an APN out of shutdown
+
+In order to bring a deactived APN in `shutdown` state into active
+operation, use the `no shutdown` command at the APN node as explained in
+the following example:
+
+.Example: Taking an APN out of shutdown
+----
+OsmoGGSN> enable <1>
+OsmoGGSN# configure terminal <2>
+OsmoGGSN(config)# ggsn ggsn0 <3>
+OsmoGGSN(config-ggsn)# apn internet <4>
+OsmoGGSN(config-ggsn-apn)# no shutdown <5>
+----
+<1> Change into privileged mode
+<2> Enter the interactive configuration mode
+<3> Enter the config ndoe of the GGSN instance `ggsn0`
+<4> Enter the config ndoe of the APN `internet`
+<5> Take the APN out of shutdown
+
+
+==== Shutting an APN down
+
+If you would like to take an APN instance out of service, you can
+put it into shutdown mode. This will make the APN unavailable
+to user traffic and permit you to e.g. reconfigure it before taking it
+out of shutdown again.
+
+.Example: Shutting down an APN
+----
+OsmoGGSN> enable <1>
+OsmoGGSN# configure terminal <2>
+OsmoGGSN(config)# ggsn ggsn0 <3>
+OsmoGGSN(config-ggsn)# apn internet <4>
+OsmoGGSN(config-ggsn-apn)# shutdown <5>
+----
+<1> Change into privileged mode
+<2> Enter the interactive configuration mode
+<3> Enter the config ndoe of the GGSN instance `ggsn0`
+<4> Enter the config ndoe of the APN `internet`
+<5> Shut down the APN
+
+[[ggsn_no_root]]
+=== Configuring for running without root privileges
+
+It's possible to run OsmoGGSN without root privileges if the tun devices are already configured.
+
+The interface creation + configuration must then happen before osmo-ggsn starting up. This can be
+achieved by means such as
+
+* a custom shell script run as root before starting osmo-ggsn (e.g. as init script)
+* systemd .netdev and .network files, if your system is using systemd-networkd (see `networkctl status`).
+
+==== Manual TUN device creation / configuration
+
+If you chose to go for custom shell/init scripts, you may use the `ip` program which is the standard
+tool for network interface configuration on Linux, part of the `iproute2` package. In order to
+create a tun device, you must call it like this:
+
+.Example: iproute2 command to create a tun device
+----
+# ip tuntap add dev apn0 mode tun user username group groupname
+----
+
+Where _username_ and _groupname_ correspond to the User and Group that will have ownership over the
+device, i.e. the privileges which you intend to run osmo-ggsn under, and _apn0_ will be the
+name of the network device created. After creating the interface, you can configure its addresses
+using standard means like `ip addr add` or your distribution-specific utilities/tools
+to match the `ip prefix dynamic` config item, and activate the link, for example:
+
+----
+# ip addr add 192.168.7.0/24 dev apn0
+# ip link set apn0 up
+----
+
+==== systemd based TUN device creation+configuration
+
+If you want to have systemd take care of creating and configuring a tun device for you,
+you can use the below example config files.
+
+.Example: device config via systemd-networkd using apn0.netdev
+----
+[NetDev]
+Name=apn0 <1>
+Kind=tun
+
+[Tun]
+User=username <2>
+Group=username <3>
+----
+<1> The network interface name of the newly-created device
+<2> The username under which you will run OsmoGGSN
+<3> The group name under which you will run OsmoGGSN
+
+.Example: network settings via systemd-networkd using ggsn.network
+----
+[Match]
+Name=apn0 <1>
+
+[Network]
+Address=192.168.7.1 <2>
+IPMasquerade=yes <3>
+----
+<1> The netowrk device name, which must match the one in the apn0.netdev unit file above
+<2> The local IP address configured on the device
+<3> Requesting systemd to configure IP masquerading for this interface. Depending on your needs,
+ You may not want this if you have proper end-to-end routing set up, and want to have transparent
+ inbound IP access to your GPRS-attached devices.
+
+==== Config Changes
+
+With the tun device pre-configured in one of the ways outlined above, the main
+changes in your osmo-ggsn.cfg file are:
+
+* remove `ip ifconfig` directive,
+* make sure that `no shutdown` is present in the `apn` section as well as
+ `no shutdown ggsn` in the `ggsn` section.
+
+.Example: using externally configured tun device `apn0` as non-root
+----
+ggsn ggsn0
+ gtp state-dir /tmp
+ gtp bind-ip 127.0.0.6
+ apn internet
+ gtpu-mode tun
+ tun-device apn0
+ type-support v4
+ ip prefix dynamic 192.168.7.0/24
+ ip dns 0 192.168.100.1
+ ip dns 1 8.8.8.8
+ no shutdown
+ default-apn internet
+ no shutdown ggsn
+----
diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc
new file mode 100644
index 0000000..632db5e
--- /dev/null
+++ b/doc/manuals/chapters/overview.adoc
@@ -0,0 +1,145 @@
+[[chapter_introduction]]
+== Overview
+
+[[intro_overview]]
+=== About OsmoGGSN
+
+OsmoGGSN is a Free / Open Source Software implementation of the GPRS
+GGSN (Gateway GPRS support node) element in side the packet switched
+core network of 2G and 3G cellular networks.
+
+The GGSN function is the tunnel endpoint on the core network side,
+from where the external (IP) packet data network
+
+=== Software Components
+
+==== GTP Implementation (libgtp)
+
+The OsmoGGSN source code includes a shared library implementation of
+the GTP protocol used on the GGSN-SGSN interface. This library
+and associated header files are installed system-wide and are
+available to other programs/applications.
+
+In fact, libgtp is what the OsmoSGSN also uses for its use of GTP.
+
+==== sgsnemu
+
+In order to test OsmoGGSN without running a SGSN and other elements
+of a cellular network, there is a small command-line utility called
+*sgsnemu* which is able to simulate the customary operations of a SGSN
+towards the GGSN, such as a PDP Context Activation.
+
+*sgsnemu* can even be used for testing against other GGSNs, as the GTP
+protocol is standardized across implementations.
+
+==== osmo-ggsn
+
+*osmo-ggsn* is the actual name of the OsmoGGSN executable program. It
+implements the GGSN functionality. All parameters are set using the
+configuration file, by default located in *./osmo-ggsn.cfg*
+
+==== systemd service file
+
+In *contrib/osmo-ggsn.service* you can find a sample service file for
+OsmoGGSN which can be used with systemd.
+
+==== init script
+
+In *contrib/osmo-ggsn.init* you can find a sample init script to be used
+on systems with classic init process.
+
+=== Limitations
+
+OsmoGGSN supports both GTP0 (GSM 09.60) and GTP1 (3GPP 29.060). In the
+following tables the support of each individual message type is
+detailed. The numbers before each feature indicates the relevant
+section in the standard.
+
+==== GSM 09.60 (GTPv0)
+
+[options="header",cols="50%,15%,15%,15%,5%"]
+|===
+| Feature | gtplib | osmo-ggsn | sgsnemu | notes
+5+<|*7.4 Path Management Messages*
+|7.4.1 Echo Request |Supported |Supported |Supported |
+|7.4.2 Echo Response |Supported |Supported |Supported |
+|7.4.3 Version Not Supported |Supported |Supported |Supported |
+5+<| *7.5 Tunnel Management Messages*
+|7.5.1 Create PDP Context Request|Supported |Supported |Supported |
+|7.5.2 Create PDP Context Response|Supported |Supported |Supported |
+|7.5.3 Update PDP Context Request|Supported |Supported |Not |
+|7.5.4 Update PDP Context Response|Supported |Supported |Not |
+|7.5.5 Delete PDP Context Request|Supported |Supported |Supported |
+|7.5.6 Delete PDP Context Response|Supported |Supported |Supported |
+|7.5.7 Create AA PDP Context Request|Unsupported |Unsupported |Unsupported |
+|7.5.8 Create AA PDP Response|Unsupported |Unsupported |Unsupported |
+|7.5.9 Delete AA PDP Context Request|Unsupported |Unsupported |Unsupported |
+|7.5.10 Delete AA PDP Context Response|Unsupported |Unsupported |Unsupported |
+|7.5.11 Error Indication |Supported |Supported |Supported |
+|7.5.12 PDU Notification Request|Unsupported |Unsupported |Unsupported |
+|7.5.13 PDU Notification Response|Unsupported |Unsupported |Unsupported |
+|7.5.14 PDU Notification Reject Request|Unsupported |Unsupported |Unsupported |
+|7.5.15 PDU Notification Reject Response|Unsupported |Unsupported |Unsupported |
+5+<| *7.6 Location Management Messages*
+|7.6.1 Send Routeing Information for GPRS Request|Unsupported |Unsupported |Not applicable |
+|7.6.2 Send Routeing Information for GPRS Response|Unsupported |Unsupported |Not applicable |
+|7.6.3 Failure Report Request|Unsupported |Unsupported |Not applicable |
+|7.6.3 Failure Report Response|Unsupported |Unsupported |Not applicable |
+|7.6.5 Note MS GPRS Present Request|Unsupported |Unsupported |Not applicable|
+|7.6.6 Note MS GPRS Present Response|Unsupported |Unsupported |Not applicable|
+5+<| *7.5 Mobility Management Messages*
+|7.5.1 Identification Request|Unsupported |Not applicable|Not applicable|
+|7.5.2 Identification Response|Unsupported |Not applicable|Not applicable |
+|7.5.3 SGSN Context Request|Unsupported |Not applicable|Not applicable|
+|7.5.4 SGSN Context Response|Unsupported |Not applicable|Not applicable|
+|7.5.5 SGSN Context Acknowledge|Unsupported |Not applicable|Not applicable|
+|===
+
+==== 3GPP 29.060 (GTPv1)
+
+[options="header",cols="50%,15%,15%,15%,5%"]
+|===
+|Feature |gtplib |osmo-ggsn |sgsnemu |notes
+5+<|*7.2 Path Management Messages*
+|7.2.1 Echo Request |Supported |Supported |Supported |
+|7.2.2 Echo Response |Supported |Supported |Supported |
+|7.2.3 Version Not Supported|Supported |Supported |Supported |
+|7.2.4 Extension Headers Notification|Supported |Supported |Supported |
+5+<|*7.3 Tunnel Management Messages*
+|7.3.1 Create PDP Context Request|Supported |Supported |Supported |1
+|7.3.2 Create PDP Context Response|Supported |Supported |Supported |
+|7.3.3 Update PDP Context Request|Supported |Supported |Not applicable|1
+|7.3.4 Update PDP Context Response|Supported |Supported |Not applicable|
+|7.3.5 Delete PDP Context Request|Supported |Supported |Supported |
+|7.3.6 Delete PDP Context Response|Supported |Supported |Supported |
+|7.3.7 Error Indication |Supported |Supported |Supported |
+|7.3.8 PDU Notification Request|Unsupported |Unsupported |Unsupported |
+|7.3.9 PDU Notification Response|Unsupported |Unsupported |Unsupported |
+|7.3.10 PDU Notification Reject Request|Unsupported |Unsupported |Unsupported |
+|7.3.10 PDU Notification Reject Response|Unsupported |Unsupported |Unsupported |
+5+<|*7.4 Location Management Messages*
+|7.4.1 Send Routeing Information for GPRS Request|Unsupported |Unsupported |Not applicable |
+|7.4.2 Send Routeing Information for GPRS Response|Unsupported |Unsupported |Not applicable |
+|7.4.3 Failure Report Request|Unsupported |Unsupported |Not applicable|
+|7.4.3 Failure Report Response|Unsupported |Unsupported |Not applicable|
+|7.4.5 Note MS GPRS Present Request|Unsupported |Unsupported |Not applicable|
+|7.4.6 Note MS GPRS Present Response|Unsupported |Unsupported |Not applicable|
+5+<|*7.5 Mobility Management Messages*
+|7.5.1 Identification Request|Unsupported |Not applicable|Not applicable|
+|7.5.2 Identification Response|Unsupported |Not applicable |Not applicable|
+|7.5.3 SGSN Context Request|Unsupported |Not applicable|Not applicable|
+|7.5.4 SGSN Context Response|Unsupported |Not applicable |Not applicable|
+|7.5.5 SGSN Context Acknowledge|Unsupported |Not applicable|Not applicable|
+|7.5.6 Forward Relocation Request|Unsupported |Not applicable|Not applicable|
+|7.5.7 Forward Relocation Response|Unsupported |Not applicable|Not applicable|
+|7.5.8 Forward Relocation Complete|Unsupported |Not applicable|Not applicable|
+|7.5.9 Relocation Cancel Request|Unsupported |Not applicable|Not applicable|
+|7.5.10 Relocation Cancel Response|Unsupported |Not applicable|Not applicable|
+|7.5.11 Forward Relocation Complete |Unsupported |Not applicable |Not applicable |
+|7.5.12 Forward SRNS Context Acknowledge|Unsupported |Not applicable|Not applicable|
+|7.5.13 Forward SRNS Context|Unsupported |Not applicable|Not applicable|
+|===
+
+Notes
+
+1) The "Secondary PDP Context Activation Procedure" is not supported.
diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc
new file mode 100644
index 0000000..83470e8
--- /dev/null
+++ b/doc/manuals/chapters/running.adoc
@@ -0,0 +1,82 @@
+== Running OsmoGGSN
+
+The OsmoGGSN executable (`osmo-ggsn`) offers the following command-line
+arguments:
+
+=== SYNOPSIS
+
+*osmo-ggsn* [-h|-V] [-D] [-c 'CONFIGFILE']
+
+=== OPTIONS
+
+*-h, --help*::
+ Print a short help message about the supported options
+*-V, --version*::
+ Print the compile-time version number of the OsmoBTS program
+*-D, --daemonize*::
+ Fork the process as a daemon into background.
+*-c, --config-file 'CONFIGFILE'*::
+ Specify the file and path name of the configuration file to be
+ used. If none is specified, use `osmo-ggsn.cfg` in the current
+ working directory.
+
+=== Routing
+
+Operating the OpenGGSN tun device naturally creates a network setup with
+multiple interfaces. Consider:
+
+* Typical Linux setups prevent forwarding of packets between separate
+ interfaces by default. To let subscribers reach the internet uplink from the
+ tun device, it may be required to enable IP forwarding.
+
+* Having a locally defined address range assigned to the tun device requires
+ either sensible routing for this address range, or that masquerading is
+ enabled to allow your single uplink IP address to "proxy" for the tun.
+
+These are decisions to be made on a network administration level.
+
+In a trivial case where you have a single box serving GPRS to few subscribers
+on an arbitrary IP address range not known in the larger network, the easiest
+way to enable GPRS uplink would be to enable IP forwarding and masquerading.
+
+To manually enable IPv4 forwarding and masquerading ad-hoc, you can do:
+
+----
+sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
+iptables -t nat -A POSTROUTING -o '*' -j MASQUERADE
+----
+
+(You may want to replace `*` with the network device name, like `-o eth0`)
+
+There are various ways to enable these settings persistently, please refer to
+your distribution's documentation -- e.g. look for @net.ipv4.ip_forward=1@ in
+@/etc/sysctl.d/@, and https://wiki.debian.org/iptables for masquerading.
+
+=== Multiple instances
+
+Running multiple instances of `osmo-ggsn` is possible if all GGSN instances
+are binding to different local IP addresse and all other interfaces (VTY,
+OML) are separated using the appropriate configuration options. The IP based
+interfaces are binding to local host by default. In order to separate the
+processes, the user has to bind those services to specific but different
+IP addresses.
+
+The VTY and the control interface can be bound to IP addresses from the loopback
+address range.
+
+.Example: Binding VTY and control interface to a specific ip-address
+----
+line vty
+ bind 127.0.0.2
+ctrl
+ bind 127.0.0.2
+----
+
+Also make sure to place each instance's GTP bind on a separate IP address (GTP
+uses a port number that is fixed in the GTP specifications, so it will not be
+possible to pick differing ports on the same IP address), like:
+
+----
+ggsn ggsn0
+ gtp bind-ip 127.0.0.2
+----
diff --git a/doc/manuals/osmoggsn-usermanual-docinfo.xml b/doc/manuals/osmoggsn-usermanual-docinfo.xml
new file mode 100644
index 0000000..c93d5e1
--- /dev/null
+++ b/doc/manuals/osmoggsn-usermanual-docinfo.xml
@@ -0,0 +1,46 @@
+<revhistory>
+ <revision>
+ <revnumber>1</revnumber>
+ <date>August 2017</date>
+ <authorinitials>HW</authorinitials>
+ <revremark>
+ Initial version.
+ </revremark>
+ </revision>
+ </revhistory>
+
+<authorgroup>
+ <author>
+ <firstname>Harald</firstname>
+ <surname>Welte</surname>
+ <email>hwelte@sysmocom.de</email>
+ <authorinitials>HW</authorinitials>
+ <affiliation>
+ <shortaffil>sysmocom</shortaffil>
+ <orgname>sysmocom - s.f.m.c. GmbH</orgname>
+ <jobtitle>Managing Director</jobtitle>
+ </affiliation>
+ </author>
+</authorgroup>
+
+<copyright>
+ <year>2013-2017</year>
+ <holder>sysmocom - s.f.m.c. GmbH</holder>
+</copyright>
+
+<legalnotice>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.3 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, no Front-Cover Texts,
+ and no Back-Cover Texts. A copy of the license is included in
+ the section entitled "GNU Free Documentation License".
+ </para>
+ <para>
+ The Asciidoc source code of this manual can be found at
+ <ulink url="http://git.osmocom.org/osmo-gsm-manuals/">
+ http://git.osmocom.org/osmo-gsm-manuals/
+ </ulink>
+ </para>
+</legalnotice>
diff --git a/doc/manuals/osmoggsn-usermanual.adoc b/doc/manuals/osmoggsn-usermanual.adoc
new file mode 100644
index 0000000..efa2c8f
--- /dev/null
+++ b/doc/manuals/osmoggsn-usermanual.adoc
@@ -0,0 +1,29 @@
+OsmoGGSN User Manual
+====================
+Harald Welte <hwelte@sysmocom.de>
+
+
+include::../common/chapters/preface.adoc[]
+
+include::chapters/overview.adoc[]
+
+include::chapters/running.adoc[]
+
+//include::chapters/control.adoc[]
+
+include::../common/chapters/vty.adoc[]
+
+include::../common/chapters/logging.adoc[]
+
+
+include::chapters/configuration.adoc[]
+
+include::../common/chapters/control_if.adoc[]
+
+include::../common/chapters/port_numbers.adoc[]
+
+include::../common/chapters/bibliography.adoc[]
+
+include::../common/chapters/glossary.adoc[]
+
+include::../common/chapters/gfdl.adoc[]
diff --git a/doc/manuals/osmoggsn-vty-reference.xml b/doc/manuals/osmoggsn-vty-reference.xml
new file mode 100644
index 0000000..c9aea03
--- /dev/null
+++ b/doc/manuals/osmoggsn-vty-reference.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ex:ts=2:sw=42sts=2:et
+ -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+-->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML 5.0//EN"
+"http://docbook.org/xml/5.0/dtd/docbook.dtd" [
+<!ENTITY chapter-vty SYSTEM "../common/chapters/vty.xml" >
+<!ENTITY sections-vty SYSTEM "generated/docbook_vty.xml" >
+]>
+
+<book>
+ <info>
+ <revhistory>
+ <revision>
+ <revnumber>v1</revnumber>
+ <date>06th September 2017</date>
+ <authorinitials>hw</authorinitials>
+ <revremark>Initial version as of OsmoGGSN v1.0.0</revremark>
+ </revision>
+ </revhistory>
+
+ <title>OsmoGGSN VTY Reference</title>
+
+ <copyright>
+ <year>2017</year>
+ </copyright>
+
+ <legalnotice>
+ <para>This work is copyright by <orgname>sysmocom - s.f.m.c. GmbH</orgname>. All rights reserved.
+ </para>
+ </legalnotice>
+ </info>
+
+ <!-- Main chapters-->
+ &chapter-vty;
+</book>
+
diff --git a/doc/manuals/vty/ggsn_vty_additions.xml b/doc/manuals/vty/ggsn_vty_additions.xml
new file mode 100644
index 0000000..b0e8a39
--- /dev/null
+++ b/doc/manuals/vty/ggsn_vty_additions.xml
@@ -0,0 +1,30 @@
+<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'>
+ <node id='config-line'>
+ <child_of nodeid='config' />
+ <name>Telnet/VTY Configuration Node</name>
+ <description>
+ Configure parameters of the Telnet/VTY Interface, such as to which IP address it should bind/listen to.
+ </description>
+ </node>
+ <node id='config-ctrl'>
+ <child_of nodeid='config' />
+ <name>CTRL Configuration Node</name>
+ <description>
+ Configure parameters of the CTRL Interface, such as to which IP address it should bind/listen to.
+ </description>
+ </node>
+ <node id='config-ggsn'>
+ <child_of nodeid='config' />
+ <name>GGSN Instance Configuration Node</name>
+ <description>
+ Configure an Instance of a (virtual) GGSN
+ </description>
+ </node>
+ <node id='config-ggsn-apn'>
+ <child_of nodeid='config-ggsn' />
+ <name>APN Configuration Node</name>
+ <description>
+ Configure an Access Point Name (APN) inside a GGSN Instance
+ </description>
+ </node>
+</vtydoc>
diff --git a/doc/manuals/vty/ggsn_vty_reference.xml b/doc/manuals/vty/ggsn_vty_reference.xml
new file mode 100644
index 0000000..7460026
--- /dev/null
+++ b/doc/manuals/vty/ggsn_vty_reference.xml
@@ -0,0 +1,1447 @@
+<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'>
+ <node id='_common_cmds_'>
+ <name>Common Commands</name>
+ <description>These commands are available on all VTY nodes. They are listed here only once, to unclutter the VTY reference.</description>
+ <command id='help'>
+ <params>
+ <param name='help' doc='Description of the interactive help system' />
+ </params>
+ </command>
+ <command id='list'>
+ <params>
+ <param name='list' doc='Print command list' />
+ </params>
+ </command>
+ <command id='write terminal'>
+ <params>
+ <param name='write' doc='Write running configuration to memory, network, or terminal' />
+ <param name='terminal' doc='Write to terminal' />
+ </params>
+ </command>
+ <command id='write file'>
+ <params>
+ <param name='write' doc='Write running configuration to memory, network, or terminal' />
+ <param name='file' doc='Write to configuration file' />
+ </params>
+ </command>
+ <command id='write memory'>
+ <params>
+ <param name='write' doc='Write running configuration to memory, network, or terminal' />
+ <param name='memory' doc='Write configuration to the file (same as write file)' />
+ </params>
+ </command>
+ <command id='write'>
+ <params>
+ <param name='write' doc='Write running configuration to memory, network, or terminal' />
+ </params>
+ </command>
+ <command id='show running-config'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='running-config' doc='running configuration' />
+ </params>
+ </command>
+ <command id='exit'>
+ <params>
+ <param name='exit' doc='Exit current mode and down to previous mode' />
+ </params>
+ </command>
+ <command id='end'>
+ <params>
+ <param name='end' doc='End current mode and change to enable mode.' />
+ </params>
+ </command>
+ </node>
+ <node id='view'>
+ <name>view</name>
+ <command id='show version'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='version' doc='Displays program version' />
+ </params>
+ </command>
+ <command id='show online-help'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='online-help' doc='Online help' />
+ </params>
+ </command>
+ <command id='enable'>
+ <params>
+ <param name='enable' doc='Turn on privileged mode command' />
+ </params>
+ </command>
+ <command id='terminal length &lt;0-512&gt;'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='length' doc='Set number of lines on a screen' />
+ <param name='&lt;0-512&gt;' doc='Number of lines on screen (0 for no pausing)' />
+ </params>
+ </command>
+ <command id='terminal no length'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='length' doc='Set number of lines on a screen' />
+ </params>
+ </command>
+ <command id='who'>
+ <params>
+ <param name='who' doc='Display who is on vty' />
+ </params>
+ </command>
+ <command id='show history'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='history' doc='Display the session command history' />
+ </params>
+ </command>
+ <command id='logging enable'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='all' doc='Do you want to log all messages?' />
+ <param name='0' doc='Only print messages matched by other filters' />
+ <param name='1' doc='Bypass filter and print all messages' />
+ </params>
+ </command>
+ <command id='logging color (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='color' doc='Configure color-printing for log messages' />
+ <param name='0' doc='Don&apos;t use color for printing messages' />
+ <param name='1' doc='Use color for printing messages' />
+ </params>
+ </command>
+ <command id='logging timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp' />
+ </params>
+ </command>
+ <command id='logging print extended-timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='extended-timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn' />
+ </params>
+ </command>
+ <command id='logging print category (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem name' />
+ </params>
+ </command>
+ <command id='logging print category-hex (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category-hex' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem nr in hex (&apos;&lt;000b&gt;&apos;)' />
+ </params>
+ </command>
+ <command id='logging print level (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='level' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the log level name' />
+ </params>
+ </command>
+ <command id='logging print file (0|1|basename) [last]'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='file' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the source file and line' />
+ <param name='basename' doc='Prefix each log message with the source file&apos;s basename (strip leading paths) and line' />
+ <param name='[last]' doc='Log source file info at the end of a log line. If omitted, log source file info just before the log text.' />
+ </params>
+ </command>
+ <command id='logging set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='List of logging categories to log, e.g. &apos;abc:mno:xyz&apos;. Available log categories depend on the specific application, refer to the &apos;logging level&apos; command. Optionally add individual log levels like &apos;abc,1:mno,3:xyz,5&apos;, where the level numbers are LOGL_DEBUG=1 LOGL_INFO=3 LOGL_NOTICE=5 LOGL_ERROR=7 LOGL_FATAL=8' />
+ </params>
+ </command>
+ <command id='logging level (ip|tun|ggsn|sgsn|icmp6|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='ip' doc='IP Pool and other groups' />
+ <param name='tun' doc='Tunnel interface' />
+ <param name='ggsn' doc='GGSN' />
+ <param name='sgsn' doc='SGSN Emulator' />
+ <param name='icmp6' doc='ICMPv6' />
+ <param name='lglobal' doc='Library-internal global log family' />
+ <param name='llapd' doc='LAPD in libosmogsm' />
+ <param name='linp' doc='A-bis Intput Subsystem' />
+ <param name='lmux' doc='A-bis B-Subchannel TRAU Frame Multiplex' />
+ <param name='lmi' doc='A-bis Input Driver for Signalling' />
+ <param name='lmib' doc='A-bis Input Driver for B-Channels (voice)' />
+ <param name='lsms' doc='Layer3 Short Message Service (SMS)' />
+ <param name='lctrl' doc='Control Interface' />
+ <param name='lgtp' doc='GPRS GTP library' />
+ <param name='lstats' doc='Statistics messages and logging' />
+ <param name='lgsup' doc='Generic Subscriber Update Protocol' />
+ <param name='loap' doc='Osmocom Authentication Protocol' />
+ <param name='lss7' doc='libosmo-sigtran Signalling System 7' />
+ <param name='lsccp' doc='libosmo-sigtran SCCP Implementation' />
+ <param name='lsua' doc='libosmo-sigtran SCCP User Adaptation' />
+ <param name='lm3ua' doc='libosmo-sigtran MTP3 User Adaptation' />
+ <param name='lmgcp' doc='libosmo-mgcp Media Gateway Control Protocol' />
+ <param name='ljibuf' doc='libosmo-netif Jitter Buffer' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='logging level set-all (debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='set-all' doc='Once-off set all categories to the given log level. There is no single command to take back these changes -- each category is set to the given level, period.' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='logging level force-all (debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='force-all' doc='Globally force all logging categories to a specific level. This is released by the &apos;no logging level force-all&apos; command. Note: any &apos;logging level &lt;category&gt; &lt;level&gt;&apos; commands will have no visible effect after this, until the forced level is released.' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='no logging level force-all'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='force-all' doc='Release any globally forced log level set with &apos;logging level force-all &lt;level&gt;&apos;' />
+ </params>
+ </command>
+ <command id='show logging vty'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='logging' doc='Show current logging configuration' />
+ <param name='vty' doc='Show current logging configuration for this vty' />
+ </params>
+ </command>
+ <command id='show alarms'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='alarms' doc='Show current logging configuration' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH)'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH) tree ADDRESS'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ <param name='tree' doc='Display only a specific memory chunk' />
+ <param name='ADDRESS' doc='Chunk address (e.g. 0xdeadbeef)' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH) filter REGEXP'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ <param name='filter' doc='Filter chunks using regular expression' />
+ <param name='REGEXP' doc='Regular expression' />
+ </params>
+ </command>
+ <command id='show stats'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='stats' doc='Show statistical values' />
+ </params>
+ </command>
+ <command id='show stats level (global|peer|subscriber)'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='stats' doc='Show statistical values' />
+ <param name='level' doc='Set the maximum group level' />
+ <param name='global' doc='Show global groups only' />
+ <param name='peer' doc='Show global and network peer related groups' />
+ <param name='subscriber' doc='Show global, peer, and subscriber groups' />
+ </params>
+ </command>
+ <command id='show asciidoc counters'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='asciidoc' doc='Asciidoc generation' />
+ <param name='counters' doc='Generate table of all registered counters' />
+ </params>
+ </command>
+ <command id='show rate-counters'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='rate-counters' doc='Show all rate counters' />
+ </params>
+ </command>
+ <command id='show pdp-context ggsn NAME [apn APN]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='pdp-context' doc='Show PDP Context Information' />
+ <param name='ggsn' doc='Gateway GPRS Support NODE (GGSN)' />
+ <param name='NAME' doc='GGSN Name' />
+ <param name='[apn' doc='(null)' />
+ <param name='APN]' doc='(null)' />
+ </params>
+ </command>
+ <command id='show pdp-context imsi IMSI [&lt;0-15&gt;]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='pdp-context' doc='Display information on PDP Context' />
+ <param name='imsi' doc='PDP contexts for given IMSI' />
+ <param name='IMSI' doc='PDP context for given NSAPI' />
+ <param name='[&lt;0-15&gt;]' doc='(null)' />
+ </params>
+ </command>
+ <command id='show ggsn [NAME]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='ggsn' doc='Display information on the GGSN' />
+ <param name='[NAME]' doc='(null)' />
+ </params>
+ </command>
+ </node>
+ <node id='enable'>
+ <name>enable</name>
+ <command id='disable'>
+ <params>
+ <param name='disable' doc='Turn off privileged mode command' />
+ </params>
+ </command>
+ <command id='configure terminal'>
+ <params>
+ <param name='configure' doc='Configuration from vty interface' />
+ <param name='terminal' doc='Configuration terminal' />
+ </params>
+ </command>
+ <command id='copy running-config startup-config'>
+ <params>
+ <param name='copy' doc='Copy configuration' />
+ <param name='running-config' doc='Copy running config to... ' />
+ <param name='startup-config' doc='Copy running config to startup config (same as write file)' />
+ </params>
+ </command>
+ <command id='show startup-config'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='startup-config' doc='Contentes of startup configuration' />
+ </params>
+ </command>
+ <command id='show version'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='version' doc='Displays program version' />
+ </params>
+ </command>
+ <command id='show online-help'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='online-help' doc='Online help' />
+ </params>
+ </command>
+ <command id='terminal length &lt;0-512&gt;'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='length' doc='Set number of lines on a screen' />
+ <param name='&lt;0-512&gt;' doc='Number of lines on screen (0 for no pausing)' />
+ </params>
+ </command>
+ <command id='terminal no length'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='length' doc='Set number of lines on a screen' />
+ </params>
+ </command>
+ <command id='who'>
+ <params>
+ <param name='who' doc='Display who is on vty' />
+ </params>
+ </command>
+ <command id='show history'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='history' doc='Display the session command history' />
+ </params>
+ </command>
+ <command id='terminal monitor'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='monitor' doc='Copy debug output to the current terminal line' />
+ </params>
+ </command>
+ <command id='terminal no monitor'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='monitor' doc='Copy debug output to the current terminal line' />
+ </params>
+ </command>
+ <command id='logging enable'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='all' doc='Do you want to log all messages?' />
+ <param name='0' doc='Only print messages matched by other filters' />
+ <param name='1' doc='Bypass filter and print all messages' />
+ </params>
+ </command>
+ <command id='logging color (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='color' doc='Configure color-printing for log messages' />
+ <param name='0' doc='Don&apos;t use color for printing messages' />
+ <param name='1' doc='Use color for printing messages' />
+ </params>
+ </command>
+ <command id='logging timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp' />
+ </params>
+ </command>
+ <command id='logging print extended-timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='extended-timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn' />
+ </params>
+ </command>
+ <command id='logging print category (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem name' />
+ </params>
+ </command>
+ <command id='logging print category-hex (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category-hex' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem nr in hex (&apos;&lt;000b&gt;&apos;)' />
+ </params>
+ </command>
+ <command id='logging print level (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='level' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the log level name' />
+ </params>
+ </command>
+ <command id='logging print file (0|1|basename) [last]'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='file' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the source file and line' />
+ <param name='basename' doc='Prefix each log message with the source file&apos;s basename (strip leading paths) and line' />
+ <param name='[last]' doc='Log source file info at the end of a log line. If omitted, log source file info just before the log text.' />
+ </params>
+ </command>
+ <command id='logging set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='List of logging categories to log, e.g. &apos;abc:mno:xyz&apos;. Available log categories depend on the specific application, refer to the &apos;logging level&apos; command. Optionally add individual log levels like &apos;abc,1:mno,3:xyz,5&apos;, where the level numbers are LOGL_DEBUG=1 LOGL_INFO=3 LOGL_NOTICE=5 LOGL_ERROR=7 LOGL_FATAL=8' />
+ </params>
+ </command>
+ <command id='logging level (ip|tun|ggsn|sgsn|icmp6|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='ip' doc='IP Pool and other groups' />
+ <param name='tun' doc='Tunnel interface' />
+ <param name='ggsn' doc='GGSN' />
+ <param name='sgsn' doc='SGSN Emulator' />
+ <param name='icmp6' doc='ICMPv6' />
+ <param name='lglobal' doc='Library-internal global log family' />
+ <param name='llapd' doc='LAPD in libosmogsm' />
+ <param name='linp' doc='A-bis Intput Subsystem' />
+ <param name='lmux' doc='A-bis B-Subchannel TRAU Frame Multiplex' />
+ <param name='lmi' doc='A-bis Input Driver for Signalling' />
+ <param name='lmib' doc='A-bis Input Driver for B-Channels (voice)' />
+ <param name='lsms' doc='Layer3 Short Message Service (SMS)' />
+ <param name='lctrl' doc='Control Interface' />
+ <param name='lgtp' doc='GPRS GTP library' />
+ <param name='lstats' doc='Statistics messages and logging' />
+ <param name='lgsup' doc='Generic Subscriber Update Protocol' />
+ <param name='loap' doc='Osmocom Authentication Protocol' />
+ <param name='lss7' doc='libosmo-sigtran Signalling System 7' />
+ <param name='lsccp' doc='libosmo-sigtran SCCP Implementation' />
+ <param name='lsua' doc='libosmo-sigtran SCCP User Adaptation' />
+ <param name='lm3ua' doc='libosmo-sigtran MTP3 User Adaptation' />
+ <param name='lmgcp' doc='libosmo-mgcp Media Gateway Control Protocol' />
+ <param name='ljibuf' doc='libosmo-netif Jitter Buffer' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='logging level set-all (debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='set-all' doc='Once-off set all categories to the given log level. There is no single command to take back these changes -- each category is set to the given level, period.' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='logging level force-all (debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='force-all' doc='Globally force all logging categories to a specific level. This is released by the &apos;no logging level force-all&apos; command. Note: any &apos;logging level &lt;category&gt; &lt;level&gt;&apos; commands will have no visible effect after this, until the forced level is released.' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='no logging level force-all'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='force-all' doc='Release any globally forced log level set with &apos;logging level force-all &lt;level&gt;&apos;' />
+ </params>
+ </command>
+ <command id='show logging vty'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='logging' doc='Show current logging configuration' />
+ <param name='vty' doc='Show current logging configuration for this vty' />
+ </params>
+ </command>
+ <command id='show alarms'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='alarms' doc='Show current logging configuration' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH)'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH) tree ADDRESS'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ <param name='tree' doc='Display only a specific memory chunk' />
+ <param name='ADDRESS' doc='Chunk address (e.g. 0xdeadbeef)' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH) filter REGEXP'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ <param name='filter' doc='Filter chunks using regular expression' />
+ <param name='REGEXP' doc='Regular expression' />
+ </params>
+ </command>
+ <command id='show stats'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='stats' doc='Show statistical values' />
+ </params>
+ </command>
+ <command id='show stats level (global|peer|subscriber)'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='stats' doc='Show statistical values' />
+ <param name='level' doc='Set the maximum group level' />
+ <param name='global' doc='Show global groups only' />
+ <param name='peer' doc='Show global and network peer related groups' />
+ <param name='subscriber' doc='Show global, peer, and subscriber groups' />
+ </params>
+ </command>
+ <command id='show asciidoc counters'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='asciidoc' doc='Asciidoc generation' />
+ <param name='counters' doc='Generate table of all registered counters' />
+ </params>
+ </command>
+ <command id='show rate-counters'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='rate-counters' doc='Show all rate counters' />
+ </params>
+ </command>
+ <command id='show pdp-context ggsn NAME [apn APN]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='pdp-context' doc='Show PDP Context Information' />
+ <param name='ggsn' doc='Gateway GPRS Support NODE (GGSN)' />
+ <param name='NAME' doc='GGSN Name' />
+ <param name='[apn' doc='(null)' />
+ <param name='APN]' doc='(null)' />
+ </params>
+ </command>
+ <command id='show pdp-context imsi IMSI [&lt;0-15&gt;]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='pdp-context' doc='Display information on PDP Context' />
+ <param name='imsi' doc='PDP contexts for given IMSI' />
+ <param name='IMSI' doc='PDP context for given NSAPI' />
+ <param name='[&lt;0-15&gt;]' doc='(null)' />
+ </params>
+ </command>
+ <command id='show ggsn [NAME]'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='ggsn' doc='Display information on the GGSN' />
+ <param name='[NAME]' doc='(null)' />
+ </params>
+ </command>
+ </node>
+ <node id='config'>
+ <name>config</name>
+ <command id='hostname WORD'>
+ <params>
+ <param name='hostname' doc='Set system&apos;s network name' />
+ <param name='WORD' doc='This system&apos;s network name' />
+ </params>
+ </command>
+ <command id='no hostname [HOSTNAME]'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='hostname' doc='Reset system&apos;s network name' />
+ <param name='[HOSTNAME]' doc='Host name of this router' />
+ </params>
+ </command>
+ <command id='password (8|) WORD'>
+ <params>
+ <param name='password' doc='Assign the terminal connection password' />
+ <param name='8' doc='Specifies a HIDDEN password will follow' />
+ <param name='' doc='dummy string ' />
+ <param name='WORD' doc='The HIDDEN line password string' />
+ </params>
+ </command>
+ <command id='password LINE'>
+ <params>
+ <param name='password' doc='Assign the terminal connection password' />
+ <param name='LINE' doc='The UNENCRYPTED (cleartext) line password' />
+ </params>
+ </command>
+ <command id='enable password (8|) WORD'>
+ <params>
+ <param name='enable' doc='Modify enable password parameters' />
+ <param name='password' doc='Assign the privileged level password' />
+ <param name='8' doc='Specifies a HIDDEN password will follow' />
+ <param name='' doc='dummy string ' />
+ <param name='WORD' doc='The HIDDEN &apos;enable&apos; password string' />
+ </params>
+ </command>
+ <command id='enable password LINE'>
+ <params>
+ <param name='enable' doc='Modify enable password parameters' />
+ <param name='password' doc='Assign the privileged level password' />
+ <param name='LINE' doc='The UNENCRYPTED (cleartext) &apos;enable&apos; password' />
+ </params>
+ </command>
+ <command id='no enable password'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='enable' doc='Modify enable password parameters' />
+ <param name='password' doc='Assign the privileged level password' />
+ </params>
+ </command>
+ <command id='banner motd default'>
+ <params>
+ <param name='banner' doc='Set banner string' />
+ <param name='motd' doc='Strings for motd' />
+ <param name='default' doc='Default string' />
+ </params>
+ </command>
+ <command id='banner motd file [FILE]'>
+ <params>
+ <param name='banner' doc='Set banner' />
+ <param name='motd' doc='Banner for motd' />
+ <param name='file' doc='Banner from a file' />
+ <param name='[FILE]' doc='Filename' />
+ </params>
+ </command>
+ <command id='no banner motd'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='banner' doc='Set banner string' />
+ <param name='motd' doc='Strings for motd' />
+ </params>
+ </command>
+ <command id='service terminal-length &lt;0-512&gt;'>
+ <params>
+ <param name='service' doc='Set up miscellaneous service' />
+ <param name='terminal-length' doc='System wide terminal length configuration' />
+ <param name='&lt;0-512&gt;' doc='Number of lines of VTY (0 means no line control)' />
+ </params>
+ </command>
+ <command id='no service terminal-length [&lt;0-512&gt;]'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='service' doc='Set up miscellaneous service' />
+ <param name='terminal-length' doc='System wide terminal length configuration' />
+ <param name='[&lt;0-512&gt;]' doc='Number of lines of VTY (0 means no line control)' />
+ </params>
+ </command>
+ <command id='line vty'>
+ <params>
+ <param name='line' doc='Configure a terminal line' />
+ <param name='vty' doc='Virtual terminal' />
+ </params>
+ </command>
+ <command id='service advanced-vty'>
+ <params>
+ <param name='service' doc='Set up miscellaneous service' />
+ <param name='advanced-vty' doc='Enable advanced mode vty interface' />
+ </params>
+ </command>
+ <command id='no service advanced-vty'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='service' doc='Set up miscellaneous service' />
+ <param name='advanced-vty' doc='Enable advanced mode vty interface' />
+ </params>
+ </command>
+ <command id='show history'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='history' doc='Display the session command history' />
+ </params>
+ </command>
+ <command id='log stderr'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='stderr' doc='Logging via STDERR of the process' />
+ </params>
+ </command>
+ <command id='no log stderr'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='log' doc='Configure logging sub-system' /> <param name='stderr' doc='Logging via STDERR of the process' />
+ </params>
+ </command>
+ <command id='log file .FILENAME'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='file' doc='Logging to text file' />
+ <param name='.FILENAME' doc='Filename' />
+ </params>
+ </command>
+ <command id='no log file .FILENAME'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='file' doc='Logging to text file' />
+ <param name='.FILENAME' doc='Filename' />
+ </params>
+ </command>
+ <command id='log alarms &lt;2-32700&gt;'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='alarms' doc='Logging alarms to osmo_strrb' />
+ <param name='&lt;2-32700&gt;' doc='Maximum number of messages to log' />
+ </params>
+ </command>
+ <command id='no log alarms'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='alarms' doc='Logging alarms to osmo_strrb' />
+ </params>
+ </command>
+ <command id='log syslog (authpriv|cron|daemon|ftp|lpr|mail|news|user|uucp)'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='syslog' doc='Logging via syslog' />
+ <param name='authpriv' doc='Security/authorization messages facility' />
+ <param name='cron' doc='Clock daemon (cron/at) facility' />
+ <param name='daemon' doc='General system daemon facility' />
+ <param name='ftp' doc='Ftp daemon facility' />
+ <param name='lpr' doc='Line printer facility' />
+ <param name='mail' doc='Mail facility' />
+ <param name='news' doc='News facility' />
+ <param name='user' doc='Generic facility' />
+ <param name='uucp' doc='UUCP facility' />
+ </params>
+ </command>
+ <command id='log syslog local &lt;0-7&gt;'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='syslog' doc='Logging via syslog' />
+ <param name='local' doc='Syslog LOCAL facility' />
+ <param name='&lt;0-7&gt;' doc='Local facility number' />
+ </params>
+ </command>
+ <command id='no log syslog'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='syslog' doc='Logging via syslog' />
+ </params>
+ </command>
+ <command id='log gsmtap [HOSTNAME]'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='gsmtap' doc='Logging via GSMTAP' />
+ <param name='[HOSTNAME]' doc='Host name to send the GSMTAP logging to (UDP port 4729)' />
+ </params>
+ </command>
+ <command id='stats reporter statsd'>
+ <params>
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='reporter' doc='Configure a stats reporter' />
+ <param name='statsd' doc='Report to a STATSD server' />
+ </params>
+ </command>
+ <command id='no stats reporter statsd'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='reporter' doc='Configure a stats reporter' />
+ <param name='statsd' doc='Report to a STATSD server' />
+ </params>
+ </command>
+ <command id='stats reporter log'>
+ <params>
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='reporter' doc='Configure a stats reporter' />
+ <param name='log' doc='Report to the logger' />
+ </params>
+ </command>
+ <command id='no stats reporter log'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='reporter' doc='Configure a stats reporter' />
+ <param name='log' doc='Report to the logger' />
+ </params>
+ </command>
+ <command id='stats interval &lt;1-65535&gt;'>
+ <params>
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='interval' doc='Set the reporting interval' />
+ <param name='&lt;1-65535&gt;' doc='Interval in seconds' />
+ </params>
+ </command>
+ <command id='ggsn NAME'>
+ <params>
+ <param name='ggsn' doc='Configure the Gateway GPRS Support Node' />
+ <param name='NAME' doc='GGSN Name (has only local significance)' />
+ </params>
+ </command>
+ <command id='no ggsn NAME'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='ggsn' doc='Remove the named Gateway GPRS Support Node' />
+ <param name='NAME' doc='GGSN Name (has only local significance)' />
+ </params>
+ </command>
+ <command id='ctrl'>
+ <params>
+ <param name='ctrl' doc='Configure the Control Interface' />
+ </params>
+ </command>
+ </node>
+ <node id='config-log'>
+ <name>config-log</name>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='all' doc='Do you want to log all messages?' />
+ <param name='0' doc='Only print messages matched by other filters' />
+ <param name='1' doc='Bypass filter and print all messages' />
+ </params>
+ </command>
+ <command id='logging color (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='color' doc='Configure color-printing for log messages' />
+ <param name='0' doc='Don&apos;t use color for printing messages' />
+ <param name='1' doc='Use color for printing messages' />
+ </params>
+ </command>
+ <command id='logging timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp' />
+ </params>
+ </command>
+ <command id='logging print extended-timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='extended-timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn' />
+ </params>
+ </command>
+ <command id='logging print category (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem name' />
+ </params>
+ </command>
+ <command id='logging print category-hex (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category-hex' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem nr in hex (&apos;&lt;000b&gt;&apos;)' />
+ </params>
+ </command>
+ <command id='logging print level (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='level' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the log level name' />
+ </params>
+ </command>
+ <command id='logging print file (0|1|basename) [last]'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='file' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the source file and line' />
+ <param name='basename' doc='Prefix each log message with the source file&apos;s basename (strip leading paths) and line' />
+ <param name='[last]' doc='Log source file info at the end of a log line. If omitted, log source file info just before the log text.' />
+ </params>
+ </command>
+ <command id='logging level (ip|tun|ggsn|sgsn|icmp6|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='ip' doc='IP Pool and other groups' />
+ <param name='tun' doc='Tunnel interface' />
+ <param name='ggsn' doc='GGSN' />
+ <param name='sgsn' doc='SGSN Emulator' />
+ <param name='icmp6' doc='ICMPv6' />
+ <param name='lglobal' doc='Library-internal global log family' />
+ <param name='llapd' doc='LAPD in libosmogsm' />
+ <param name='linp' doc='A-bis Intput Subsystem' />
+ <param name='lmux' doc='A-bis B-Subchannel TRAU Frame Multiplex' />
+ <param name='lmi' doc='A-bis Input Driver for Signalling' />
+ <param name='lmib' doc='A-bis Input Driver for B-Channels (voice)' />
+ <param name='lsms' doc='Layer3 Short Message Service (SMS)' />
+ <param name='lctrl' doc='Control Interface' />
+ <param name='lgtp' doc='GPRS GTP library' />
+ <param name='lstats' doc='Statistics messages and logging' />
+ <param name='lgsup' doc='Generic Subscriber Update Protocol' />
+ <param name='loap' doc='Osmocom Authentication Protocol' />
+ <param name='lss7' doc='libosmo-sigtran Signalling System 7' />
+ <param name='lsccp' doc='libosmo-sigtran SCCP Implementation' />
+ <param name='lsua' doc='libosmo-sigtran SCCP User Adaptation' />
+ <param name='lm3ua' doc='libosmo-sigtran MTP3 User Adaptation' />
+ <param name='lmgcp' doc='libosmo-mgcp Media Gateway Control Protocol' />
+ <param name='ljibuf' doc='libosmo-netif Jitter Buffer' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='logging level set-all (debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='set-all' doc='Once-off set all categories to the given log level. There is no single command to take back these changes -- each category is set to the given level, period.' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='logging level force-all (debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='force-all' doc='Globally force all logging categories to a specific level. This is released by the &apos;no logging level force-all&apos; command. Note: any &apos;logging level &lt;category&gt; &lt;level&gt;&apos; commands will have no visible effect after this, until the forced level is released.' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='no logging level force-all'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='force-all' doc='Release any globally forced log level set with &apos;logging level force-all &lt;level&gt;&apos;' />
+ </params>
+ </command>
+ </node>
+ <node id='config-stats'>
+ <name>config-stats</name>
+ <command id='local-ip ADDR'>
+ <params>
+ <param name='local-ip' doc='Set the IP address to which we bind locally' />
+ <param name='ADDR' doc='IP Address' />
+ </params>
+ </command>
+ <command id='no local-ip'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='local-ip' doc='Set the IP address to which we bind locally' />
+ </params>
+ </command>
+ <command id='remote-ip ADDR'>
+ <params>
+ <param name='remote-ip' doc='Set the remote IP address to which we connect' />
+ <param name='ADDR' doc='IP Address' />
+ </params>
+ </command>
+ <command id='remote-port &lt;1-65535&gt;'>
+ <params>
+ <param name='remote-port' doc='Set the remote port to which we connect' />
+ <param name='&lt;1-65535&gt;' doc='Remote port number' />
+ </params>
+ </command>
+ <command id='mtu &lt;100-65535&gt;'>
+ <params>
+ <param name='mtu' doc='Set the maximum packet size' />
+ <param name='&lt;100-65535&gt;' doc='Size in byte' />
+ </params>
+ </command>
+ <command id='no mtu'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='mtu' doc='Set the maximum packet size' />
+ </params>
+ </command>
+ <command id='prefix PREFIX'>
+ <params>
+ <param name='prefix' doc='Set the item name prefix' />
+ <param name='PREFIX' doc='The prefix string' />
+ </params>
+ </command>
+ <command id='no prefix'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='prefix' doc='Set the item name prefix' />
+ </params>
+ </command>
+ <command id='level (global|peer|subscriber)'>
+ <params>
+ <param name='level' doc='Set the maximum group level' />
+ <param name='global' doc='Report global groups only' />
+ <param name='peer' doc='Report global and network peer related groups' />
+ <param name='subscriber' doc='Report global, peer, and subscriber groups' />
+ </params>
+ </command>
+ <command id='enable'>
+ <params>
+ <param name='enable' doc='Enable the reporter' />
+ </params>
+ </command>
+ <command id='disable'>
+ <params>
+ <param name='disable' doc='Disable the reporter' />
+ </params>
+ </command>
+ </node>
+ <node id='config-line'>
+ <name>config-line</name>
+ <command id='login'>
+ <params>
+ <param name='login' doc='Enable password checking' />
+ </params>
+ </command>
+ <command id='no login'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='login' doc='Enable password checking' />
+ </params>
+ </command>
+ <command id='bind A.B.C.D'>
+ <params>
+ <param name='bind' doc='Accept VTY telnet connections on local interface' />
+ <param name='A.B.C.D' doc='Local interface IP address (default: 127.0.0.1)' />
+ </params>
+ </command>
+ </node>
+ <node id='config-ctrl'>
+ <name>config-ctrl</name>
+ <command id='bind A.B.C.D'>
+ <params>
+ <param name='bind' doc='Set bind address to listen for Control connections' />
+ <param name='A.B.C.D' doc='Local IP address (default 127.0.0.1)' />
+ </params>
+ </command>
+ </node>
+ <node id='config-ggsn'>
+ <name>config-ggsn</name>
+ <command id='description .TEXT'>
+ <params>
+ <param name='description' doc='Save human-readable description of the object' />
+ <param name='.TEXT' doc='Text until the end of the line' />
+ </params>
+ </command>
+ <command id='no description'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='description' doc='Remove description of the object' />
+ </params>
+ </command>
+ <command id='shutdown ggsn'>
+ <params>
+ <param name='shutdown' doc='Put the GGSN in administrative shut-down' />
+ <param name='ggsn' doc='Gateway GPRS Support NODE (GGSN)' />
+ </params>
+ </command>
+ <command id='no shutdown ggsn'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='shutdown' doc='Gateway GPRS Support NODE (GGSN)' />
+ <param name='ggsn' doc='Remove the GGSN from administrative shut-down' />
+ </params>
+ </command>
+ <command id='gtp bind-ip A.B.C.D'>
+ <params>
+ <param name='gtp' doc='GTP Parameters' />
+ <param name='bind-ip' doc='Set the IP address for the local GTP bind' />
+ <param name='A.B.C.D' doc='IPv4 Address' />
+ </params>
+ </command>
+ <command id='gtp control-ip A.B.C.D'>
+ <params>
+ <param name='gtp' doc='GTP Parameters' />
+ <param name='control-ip' doc='Set the IP address states as local IP in GTP-C messages' />
+ <param name='A.B.C.D' doc='IPv4 Address' />
+ </params>
+ </command>
+ <command id='gtp user-ip A.B.C.D'>
+ <params>
+ <param name='gtp' doc='GTP Parameters' />
+ <param name='user-ip' doc='Set the IP address states as local IP in GTP-U messages' />
+ <param name='A.B.C.D' doc='IPv4 Address' />
+ </params>
+ </command>
+ <command id='gtp state-dir PATH'>
+ <params>
+ <param name='gtp' doc='GTP Parameters' />
+ <param name='state-dir' doc='Set the directory for the GTP State file' />
+ <param name='PATH' doc='Local Directory' />
+ </params>
+ </command>
+ <command id='apn NAME'>
+ <params>
+ <param name='apn' doc='APN Configuration' />
+ <param name='NAME' doc='APN Name' />
+ </params>
+ </command>
+ <command id='no apn NAME'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='apn' doc='Remove APN Configuration' />
+ <param name='NAME' doc='APN Name' />
+ </params>
+ </command>
+ <command id='default-apn NAME'>
+ <params>
+ <param name='default-apn' doc='Set a default-APN to be used if no other APN matches' />
+ <param name='NAME' doc='APN Name' />
+ </params>
+ </command>
+ <command id='no default-apn'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='default-apn' doc='Remove default-APN to be used if no other APN matches' />
+ </params>
+ </command>
+ </node>
+ <node id='config-ggsn-apn'>
+ <name>config-ggsn-apn</name>
+ <command id='description .TEXT'>
+ <params>
+ <param name='description' doc='Save human-readable description of the object' />
+ <param name='.TEXT' doc='Text until the end of the line' />
+ </params>
+ </command>
+ <command id='no description'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='description' doc='Remove description of the object' />
+ </params>
+ </command>
+ <command id='shutdown'>
+ <params>
+ <param name='shutdown' doc='Put the APN in administrative shut-down' />
+ </params>
+ </command>
+ <command id='no shutdown'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='shutdown' doc='Remove the APN from administrative shut-down' />
+ </params>
+ </command>
+ <command id='gtpu-mode (tun|kernel-gtp)'>
+ <params>
+ <param name='gtpu-mode' doc='Set the Mode for this APN (tun or Linux Kernel GTP)' />
+ <param name='tun' doc='GTP-U in userspace using TUN device' />
+ <param name='kernel-gtp' doc='GTP-U in kernel using Linux Kernel GTP' />
+ </params>
+ </command>
+ <command id='type-support (v4|v6|v4v6)'>
+ <params>
+ <param name='type-support' doc='Enable support for PDP Type' />
+ <param name='v4' doc='IPv4(-only) PDP Type' />
+ <param name='v6' doc='IPv6(-only) PDP Type' />
+ <param name='v4v6' doc='IPv4v6 (dual-stack) PDP Type' />
+ </params>
+ </command>
+ <command id='no type-support (v4|v6|v4v6)'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='type-support' doc='Disable support for PDP Type' />
+ <param name='v4' doc='IPv4(-only) PDP Type' />
+ <param name='v6' doc='IPv6(-only) PDP Type' />
+ <param name='v4v6' doc='IPv4v6 (dual-stack) PDP Type' />
+ </params>
+ </command>
+ <command id='tun-device NAME'>
+ <params>
+ <param name='tun-device' doc='Configure tun device name' />
+ <param name='NAME' doc='TUN device name' />
+ </params>
+ </command>
+ <command id='ipup-script PATH'>
+ <params>
+ <param name='ipup-script' doc='Configure name/path of ip-up script' />
+ <param name='PATH' doc='File/Path name of ip-up script' />
+ </params>
+ </command>
+ <command id='no ipup-script'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='ipup-script' doc='Disable ip-up script' />
+ </params>
+ </command>
+ <command id='ipdown-script PATH'>
+ <params>
+ <param name='ipdown-script' doc='Configure name/path of ip-down script' />
+ <param name='PATH' doc='File/Path name of ip-down script' />
+ </params>
+ </command>
+ <command id='no ipdown-script'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='ipdown-script' doc='Disable ip-down script' />
+ </params>
+ </command>
+ <command id='ip prefix (static|dynamic) A.B.C.D/M'>
+ <params>
+ <param name='ip' doc='IP information' />
+ <param name='prefix' doc='Prefix (Network/Netmask)' />
+ <param name='static' doc='IPv4 Adress/Prefix-Length' />
+ <param name='dynamic' doc='(null)' />
+ <param name='A.B.C.D/M' doc='(null)' />
+ </params>
+ </command>
+ <command id='ipv6 prefix (static|dynamic) X:X::X:X/M'>
+ <params>
+ <param name='ipv6' doc='IPv6 Information' />
+ <param name='prefix' doc='Prefix (Network/Netmask)' />
+ <param name='static' doc='IPv6 Address/Prefix-Length' />
+ <param name='dynamic' doc='(null)' />
+ <param name='X:X::X:X/M' doc='(null)' />
+ </params>
+ </command>
+ <command id='ip dns &lt;0-1&gt; A.B.C.D'>
+ <params>
+ <param name='ip' doc='IP information' />
+ <param name='dns' doc='Configure DNS Server' />
+ <param name='&lt;0-1&gt;' doc='primary/secondary DNS' />
+ <param name='A.B.C.D' doc='IP address of DNS Sever' />
+ </params>
+ </command>
+ <command id='ipv6 dns &lt;0-1&gt; X:X::X:X'>
+ <params>
+ <param name='ipv6' doc='IPv6 Information' />
+ <param name='dns' doc='Configure DNS Server' />
+ <param name='&lt;0-1&gt;' doc='primary/secondary DNS' />
+ <param name='X:X::X:X' doc='IP address of DNS Sever' />
+ </params>
+ </command>
+ <command id='no (ip|ipv6) dns &lt;0-1&gt;'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='ip' doc='IP information' />
+ <param name='ipv6' doc='IPv6 Information' />
+ <param name='dns' doc='Disable DNS Server' />
+ <param name='&lt;0-1&gt;' doc='primary/secondary DNS' />
+ </params>
+ </command>
+ <command id='ip ifconfig A.B.C.D/M'>
+ <params>
+ <param name='ip' doc='IP information' />
+ <param name='ifconfig' doc='GGSN-based interface configuration' />
+ <param name='A.B.C.D/M' doc='IPv4 Adress/Prefix-Length' />
+ </params>
+ </command>
+ <command id='no ip ifconfig'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='ip' doc='IP information' />
+ <param name='ifconfig' doc='GGSN-based interface configuration' />
+ </params>
+ </command>
+ <command id='ipv6 ifconfig X:X::X:X/M'>
+ <params>
+ <param name='ipv6' doc='IPv6 Information' />
+ <param name='ifconfig' doc='GGSN-based interface configuration' />
+ <param name='X:X::X:X/M' doc='IPv6 Adress/Prefix-Length' />
+ </params>
+ </command>
+ <command id='no ipv6 ifconfig'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='ipv6' doc='IPv6 Information' />
+ <param name='ifconfig' doc='GGSN-based interface configuration' />
+ </params>
+ </command>
+ <command id='ipv6 link-local X:X::X:X/M'>
+ <params>
+ <param name='ipv6' doc='IPv6 Information' />
+ <param name='link-local' doc='GGSN-based interface configuration' />
+ <param name='X:X::X:X/M' doc='IPv6 Link-local Adress/Prefix-Length' />
+ </params>
+ </command>
+ <command id='no ipv6 link-local'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='ipv6' doc='IPv6 Information' />
+ <param name='link-local' doc='GGSN-based interface configuration' />
+ </params>
+ </command>
+ <command id='g-pdu tx-sequence-numbers'>
+ <params>
+ <param name='g-pdu' doc='G-PDU Configuration' />
+ <param name='tx-sequence-numbers' doc='Enable transmission of G-PDU sequence numbers' />
+ </params>
+ </command>
+ <command id='no g-pdu tx-sequence-numbers'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='g-pdu' doc='G-PDU Configuration' />
+ <param name='tx-sequence-numbers' doc='Disable transmission of G-PDU sequence numbers' />
+ </params>
+ </command>
+ </node>
+</vtydoc>