laforge has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/30357 )


Change subject: merge gb-ns2 "chapters" in one
......................................................................

merge gb-ns2 "chapters" in one

The files gb-nsw-{configuration-timer,configuration,maintenance} were
not actually chapters, but sub-chapters or sub-sub-chapters.  This
breaks our general idea that all of those files are top-level chapters.

It also breaks asciidoc validation on Debian 11:

asciidoc: WARNING: gb-ns2-configuration.adoc: line 1: section title out of 
sequence: expected level 1, got level 2
asciidoc: WARNING: gb-ns2-maintenance.adoc: line 6: section title out of 
sequence: expected level 2, got level 3

the only place where they were used was the osmo-gbproxy manual, and
there in the exact sequenc in which I now merged them over here.

Change-Id: I3c618e5af61b376435f400ef9c64245cec2f9b73
---
D common/chapters/gb-ns2-configuration-timer.adoc
D common/chapters/gb-ns2-configuration.adoc
D common/chapters/gb-ns2-maintenance.adoc
M common/chapters/gb-ns2.adoc
4 files changed, 317 insertions(+), 314 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals 
refs/changes/57/30357/1

diff --git a/common/chapters/gb-ns2-configuration-timer.adoc 
b/common/chapters/gb-ns2-configuration-timer.adoc
deleted file mode 100644
index ab8585f..0000000
--- a/common/chapters/gb-ns2-configuration-timer.adoc
+++ /dev/null
@@ -1,36 +0,0 @@
-==== Gb/NS Timer configuration
-
-The NS protocol features a number of configurable timers.
-
-.List of configurable NS timers
-|===
-|tns-block|(un)blocking timer timeout (secs)
-|tns-block-retries|(un)blocking timer; number of retries
-|tns-reset|reset timer timeout (secs)
-|tns-reset-retries|reset timer; number of retries
-|tns-test|test timer timeout (secs)
-|tns-alive|alive timer timeout (secs)
-|tns-alive-retries|alive timer; number of retries
-|tsns-prov|SNS provision timeout (secs) used by all SNS auto configuration 
procedures.
-|tsns-size-retries|SNS Size procedure; number of retries
-|tsns-config-retries|SNS Config procedure; number of retries
-|===
-
-All timer can be configured by vty configuration
-
-.Example of timeouts
-----
-ns
- timer tns-block 3
- timer tns-block-retries 3
- timer tns-reset 3
- timer tns-reset-retries 3
- timer tns-test 30
- timer tns-alive 3
- timer tns-alive-retries 10
- timer tsns-prov 10
- timer tsns-size-retries 3
- timer tsns-config-retries 3
-----
-
-// FIXME: ladder diagrams for every timer
diff --git a/common/chapters/gb-ns2-configuration.adoc 
b/common/chapters/gb-ns2-configuration.adoc
deleted file mode 100644
index 4397cf4..0000000
--- a/common/chapters/gb-ns2-configuration.adoc
+++ /dev/null
@@ -1,163 +0,0 @@
-=== Gb/NS configuration
-
-This section describes the configuration that libosmogb exposes via the
-VTY and is valid for OsmoSGSN and OsmoGbProxy.
-
-==== Gb over Frame Relay over E1/T1
-
-The Gb over Frame Relay over E1/T1 requires:
-
-* a hdlc interface
-* a frame relay role (fr or frnet)
-* the DLCI
-
-.Example: Gb over Frame Relay configuration #1
-----
-ns
- bind fr sitea1 <1>
-  fr hdlc1 frnet <2>
- nse 2001 <3>
-  nsvci fr sitea1 dlci 16 nsvci 11
-----
-<1> a Gb-over-FR bind with the name sitea1
-<2> connect the hdlc1 device with the role frnet to sitea1
-<3> one NSE (2001) with a single NS-VCI 11 on sitea1 with DLCI 16
-
-.Example: Gb over Frame Relay configuration #2
-----
-ns
- bind fr sitea1 <1>
-  fr hdlc1 frnet <2>
- bind fr sitea2
-  fr hdlc2 frnet
- bind fr sitea3
-  fr hdlc3 frnet
- bind fr sitea4
-  fr hdlc4 frnet
- bind fr siteb1
-  fr hdlc5 frnet
- bind fr siteb2
-  fr hdlc6 frnet
- bind fr sitec1
-  fr hdlc7 frnet
- bind fr sitec2
-  fr hdlc8 frnet
- nse 2001 <3>
-  nsvci fr sitea1 dlci 16 nsvci 11
-  nsvci fr sitea2 dlci 17 nsvci 12
-  nsvci fr sitea3 dlci 18 nsvci 13
-  nsvci fr sitea4 dlci 19 nsvci 14
- nse 2002 <4>
-  nsvci fr siteb5 dlci 20 nsvci 15
-  nsvci fr siteb6 dlci 21 nsvci 16
- nse 2003 <5>
-  nsvc fr sitec7 dlci 22 nsvci 17
-  nsvc fr sitec8 dlci 23 nsvci 18
-----
-<1> a Gb-over-FR bind with the name sitea1
-<2> connect the hdlc1 device with the role frnet to sitea1
-<3> one NSE (2001) with four NS-VCI (11..14) on sitea1..4 with their 
respective DLCI
-<4> another NSE (2002) with two NS-VCI (15..16) on siteb1..2 with their 
respective DLCI
-<5> another NSE (2003) with two NS-VCI (17..18) on sitec1..2 with their 
respective DLCI
-
-
-==== Gb over IP "ip.access style"
-
-The Gb over IP "ip.access style" can be used with a dynamic configuration or 
with a
-static configuration
-
-The static configuration requires to configure all endpoints on the BSS and 
SGSN.
-In constrast the dynamic configuration allows the SGSN to have only a reduced 
configuration.
-
-===== Gb over IP "ip.access style" dynamic configuration
-
-.Example: Gb over IP/UDP ip.access style dynamic configuration (SGSN)
-----
-ns
- bind udp ran1 <1>
-  listen 10.100.1.1 23000 <2>
-  accept-ipaccess <3>
-----
-<1> create a IP/UDP bind with name ran1
-<2> bind to 10.100.1.1:23000
-<3> accept unknown BSS of ip.access style
-
-.Example: Gb over IP/UDP "ip.access style" dynamic configuration (GbProxy as 
BSS)
-----
-ns
- bind udp ran1 <1>
-  listen 10.100.0.1 23000 <2>
- nse 1001 <3>
-  nsvc ipa ran1 10.100.1.1 23000 nsvci 1001
-----
-<1> create a IP/UDP bind with name ran1
-<2> bind to 10.100.1.1:23000
-<3> accept unknown BSS of ip.access style
-
-NOTE: The OsmoPCU supports ip.access style Gb/NS but doesn't support this vty 
configuration because
-it's receiving the configuration from the BTS/BSC.
-
-===== Gb over IP "ip.access style" static configuration
-
-.Example: Gb over IP/UDP "ip.access style" static configuration (BSS & SGSN)
-----
-ns
- bind udp ran1 <1>
-  listen 10.100.0.1 23000 <2>
- nse 1001 <3>
-  nsvc ipa ran1 10.100.1.1 23000 nsvci 1001
-----
-<1> create a IP/UDP bind with name ran1
-<2> bind to 10.100.0.1:23000
-<3> NSE 1001 with nsvc 1001 as ip.access style
-
-NOTE: The OsmoPCU supports "ip.access style" Gb/NS but doesn't support this 
vty configuration because
-it's receiving the configuration from the BTS/BSC.
-
-
-==== Gb over IP 3GPP static configuration
-
-A static IP/UDP configuration without SNS as specified by 3GPP 48.016.
-
-.Example: Gb over IP/UDP static configuration BSS/SGSN
-----
-ns
- bind udp ran1 <1>
-  listen 10.100.0.1 23000 <2>
- nse 1001 <3>
-  nsvc udp ran1 10.100.1.1 23000 signalling-weight 2 data-weight 2
-  nsvc udp ran1 10.100.1.2 23000 <4>
-----
-<1> create a IP/UDP bind with name ran1
-<2> bind to 10.100.0.1:23000
-<3> add NSE 1001 with 2 NSVC
-<4> short configuration with default signalling and data weight of 1
-
-==== Gb over IP 3GPP auto configuration as BSS
-
-IP/UDP auto-configuration with initial endpoints to an SGSN.
-The auto-configuration will use the first bind to connect to the
-first endpoint. If this fails Osmocom will iterate over all endpoints and 
binds to find
-a working combination.
-
-.Example: Gb over IP/UDP auto-configuration as BSS
-----
-ns
- bind udp ran1 <1>
-  listen 10.100.0.1 23000 <2>
- bind udp ran2
-  listen 10.100.0.2 23000
- bind udp ran3
-  listen 10.100.0.3 23000
- nse 1001 <3>
-  ip-sns-bind ran1 <4>
-  ip-sns-bind ran2
-  ip-sns-remote 10.100.1.1 23000 <5>
-  ip-sns-remote 10.100.1.2 23000
-----
-<1> create a IP/UDP bind with name ran1
-<2> bind to 10.100.0.1:23000
-<3> add NSE 1001 with 2 initial SNS endpoints
-<4> add ran1 to the list of available endpoints
-<5> add 10.100.1.1 as initial endpoint
-
diff --git a/common/chapters/gb-ns2-maintenance.adoc 
b/common/chapters/gb-ns2-maintenance.adoc
deleted file mode 100644
index ea99532..0000000
--- a/common/chapters/gb-ns2-maintenance.adoc
+++ /dev/null
@@ -1,115 +0,0 @@
-=== Gb/NS maintenance
-
-This section describes common maintenance procedures.
-
-[[ns2-nse-states]]
-==== NSE states
-
-A NSE can have the following states:
-
-.NSE states
-* ALIVE
-* DEAD
-
-For FR, IPA: The NSE is ALIVE if there is at least one NSVC in state UNBLOCKED.
-For IP-SNS/UDP: The NSE is ALIVE if there is at least one NSVC ALIVE and the 
sum of all ALIVE NSVCs signalling weights > 0 and data weights > 0.
-
-The state of the NSE is shown by vty.
-
-.show ns
-----
-GbProxy# show ns nsei 1234
-NSEI 01234: UDP, DEAD <1>
- FSM Instance Name: 'GPRS-NS2-SNS-BSS(NSE01234-SNS)[0x6120000012a0]', ID: 
'NSE01234-SNS'
-  Log-Level: 'DEBUG', State: 'BSS_SIZE'
-  Timer: 1
- Maximum number of remote  NS-VCs: 8192, IPv4 Endpoints: 8192, IPv6 Endpoints: 
8192
-  1 NS-VC:
-   NSVCI none: DISABLED DYNAMIC data_weight=1 sig_weight=1 
udp)[127.0.0.1]:23000<>[127.0.0.1]:22000
-----
-<1> NSE state
-
-==== NSVC states
-
-A NSVC can have the following states:
-
-.nsvc states
-[options="header"]
-|=========================================================
-| State | transport UNITDATA | Description
-
-| DISABLED        | No   | Either the transport layer is unavailable (FR) or 
this NSVC is currently used by IP-SNS dynamic configuration.
-| RESET                   | No   | Sending out RESET PDU and awaiting data.
-| BLOCKED          | No*  | The NSVC has been BLOCKED. * see 3GPP TS 48.016 § 
7.2 exception
-| UNBLOCKED/ALIVE  | Yes  | The NSVC transport UNITDATA.
-| RECOVERING       | No   | The NSVC test procedure timed out. NSVC type is a 
IP-SNS which don't use RESET/BLOCK/UNBLOCK.
-
-|=========================================================
-
-[[fig-nsvc-states-reset-block]]
-.Simplified state diagram for RESET BLOCK UNBLOCK NSVCs
-[graphviz]
-----
-include::gb-ns2-nsvc-states-reset-block.dot[]
-----
-
-[[fig-nsvc-states-alive]]
-.Simplified state diagram for IP-SNS/UDP
-[graphviz]
-----
-include::gb-ns2-nsvc-states-alive.dot[]
-----
-
-==== Show information of a specific NSE
-
-The NSE 1234 has been configured for as BSS with IP-SNS configuration.
-
-.show ns on a dynamic configured IP-SNS NSE
-----
-GbProxy# show ns nsei 1234
-NSEI 01234: UDP, DEAD <1>
- FSM Instance Name: 'GPRS-NS2-SNS-BSS(NSE01234-SNS)[0x6120000012a0]', ID: 
'NSE01234-SNS'
-  Log-Level: 'DEBUG', State: 'BSS_SIZE' <2>
-  Timer: 1
- Maximum number of remote  NS-VCs: 8192, IPv4 Endpoints: 8192, IPv6 Endpoints: 
8192
-  1 NS-VC:
-   NSVCI none: DISABLED DYNAMIC data_weight=1 sig_weight=1 
udp)[127.0.0.1]:23000<>[127.0.0.1]:22000
-----
-<1> A UDP NSE. A NSE can be ALIVE or DEAD
-<2> The SNS state. CONFIGURED and LOCAL_PROCEDURE are ALIVE states
-
-For description of NSE states see <<ns2-nse-states>>.
-
-.show ns on a frame relay NSE
-----
-OsmoNSdummy# show ns nsei 02001
-NSEI 02001: FR, ALIVE <1>
-  4 NS-VC:
-   NSVCI 00001: DISABLED PERSIST data_weight=1 sig_weight=1 fr)netif: hdlcnet1 
dlci: 16 <2>
-   NSVCI 00002: DISABLED PERSIST data_weight=1 sig_weight=1 fr)netif: hdlcnet2 
dlci: 17 <3>
-   NSVCI 00003: DISABLED PERSIST <4> data_weight=1 sig_weight=1 fr)netif: 
hdlcnet3 dlci: 18
-   NSVCI 00004: DISABLED PERSIST data_weight=1 sig_weight=1 fr)netif: hdlcnet4 
dlci: 19
-----
-<1> A FR NSE. A NSE can be ALIVE or DEAD
-<2> An unblocked NS-VC will be used for data and signalling. data and 
signalling weight are only relevant for UDP NSVC.
-<3> NSVC is still blocked.
-<4> A PERSIST NSVC is a configured via VTY.
-
-==== Blocking a NSVC
-
-.how to block a single NSVC
-----
-OsmoNSdummy# show ns nsei 01234
-NSEI 01234: UDP, ALIVE since 0d 0h 41m 6s
-  2 NS-VC:
-   NSVCI 01234: UNBLOCKED PERSIST 
udp)[127.0.0.1]:23000\<1234>[127.0.0.1]:22000 ALIVE since 0d 0h 2m 36s
-   NSVCI 01235: UNBLOCKED PERSIST 
udp)[127.0.0.1]:23001\<1235>[127.0.0.1]:22001 ALIVE since 0d 0h 41m 6s
-
-OsmoNSdummy# nsvc 1234 block
-The NS-VC 01234 will be blocked.
-OsmoNSdummy# show ns nsei 01234
-NSEI 01234: UDP, ALIVE since 0d 0h 42m 7s
-  2 NS-VC:
-   NSVCI 01234: BLOCKED PERSIST udp)[127.0.0.1]:23000\<1234>[127.0.0.1]:22000 
DEAD since 0d 0h 3m 37s
-   NSVCI 01235: UNBLOCKED PERSIST 
udp)[127.0.0.1]:23001\<1235>[127.0.0.1]:22001 ALIVE since 0d 0h 42m 7s
-----
diff --git a/common/chapters/gb-ns2.adoc b/common/chapters/gb-ns2.adoc
index 34943d3..925f515 100644
--- a/common/chapters/gb-ns2.adoc
+++ b/common/chapters/gb-ns2.adoc
@@ -179,3 +179,320 @@
 A NS-VC is always bound to a NSE and the bind (NS-VL). The NSVC can be either
 persistent or dynamic.

+
+=== Gb/NS configuration
+
+This section describes the configuration that libosmogb exposes via the
+VTY and is valid for OsmoSGSN and OsmoGbProxy.
+
+==== Gb over Frame Relay over E1/T1
+
+The Gb over Frame Relay over E1/T1 requires:
+
+* a hdlc interface
+* a frame relay role (fr or frnet)
+* the DLCI
+
+.Example: Gb over Frame Relay configuration #1
+----
+ns
+ bind fr sitea1 <1>
+  fr hdlc1 frnet <2>
+ nse 2001 <3>
+  nsvci fr sitea1 dlci 16 nsvci 11
+----
+<1> a Gb-over-FR bind with the name sitea1
+<2> connect the hdlc1 device with the role frnet to sitea1
+<3> one NSE (2001) with a single NS-VCI 11 on sitea1 with DLCI 16
+
+.Example: Gb over Frame Relay configuration #2
+----
+ns
+ bind fr sitea1 <1>
+  fr hdlc1 frnet <2>
+ bind fr sitea2
+  fr hdlc2 frnet
+ bind fr sitea3
+  fr hdlc3 frnet
+ bind fr sitea4
+  fr hdlc4 frnet
+ bind fr siteb1
+  fr hdlc5 frnet
+ bind fr siteb2
+  fr hdlc6 frnet
+ bind fr sitec1
+  fr hdlc7 frnet
+ bind fr sitec2
+  fr hdlc8 frnet
+ nse 2001 <3>
+  nsvci fr sitea1 dlci 16 nsvci 11
+  nsvci fr sitea2 dlci 17 nsvci 12
+  nsvci fr sitea3 dlci 18 nsvci 13
+  nsvci fr sitea4 dlci 19 nsvci 14
+ nse 2002 <4>
+  nsvci fr siteb5 dlci 20 nsvci 15
+  nsvci fr siteb6 dlci 21 nsvci 16
+ nse 2003 <5>
+  nsvc fr sitec7 dlci 22 nsvci 17
+  nsvc fr sitec8 dlci 23 nsvci 18
+----
+<1> a Gb-over-FR bind with the name sitea1
+<2> connect the hdlc1 device with the role frnet to sitea1
+<3> one NSE (2001) with four NS-VCI (11..14) on sitea1..4 with their 
respective DLCI
+<4> another NSE (2002) with two NS-VCI (15..16) on siteb1..2 with their 
respective DLCI
+<5> another NSE (2003) with two NS-VCI (17..18) on sitec1..2 with their 
respective DLCI
+
+
+==== Gb over IP "ip.access style"
+
+The Gb over IP "ip.access style" can be used with a dynamic configuration or 
with a
+static configuration
+
+The static configuration requires to configure all endpoints on the BSS and 
SGSN.
+In constrast the dynamic configuration allows the SGSN to have only a reduced 
configuration.
+
+===== Gb over IP "ip.access style" dynamic configuration
+
+.Example: Gb over IP/UDP ip.access style dynamic configuration (SGSN)
+----
+ns
+ bind udp ran1 <1>
+  listen 10.100.1.1 23000 <2>
+  accept-ipaccess <3>
+----
+<1> create a IP/UDP bind with name ran1
+<2> bind to 10.100.1.1:23000
+<3> accept unknown BSS of ip.access style
+
+.Example: Gb over IP/UDP "ip.access style" dynamic configuration (GbProxy as 
BSS)
+----
+ns
+ bind udp ran1 <1>
+  listen 10.100.0.1 23000 <2>
+ nse 1001 <3>
+  nsvc ipa ran1 10.100.1.1 23000 nsvci 1001
+----
+<1> create a IP/UDP bind with name ran1
+<2> bind to 10.100.1.1:23000
+<3> accept unknown BSS of ip.access style
+
+NOTE: The OsmoPCU supports ip.access style Gb/NS but doesn't support this vty 
configuration because
+it's receiving the configuration from the BTS/BSC.
+
+===== Gb over IP "ip.access style" static configuration
+
+.Example: Gb over IP/UDP "ip.access style" static configuration (BSS & SGSN)
+----
+ns
+ bind udp ran1 <1>
+  listen 10.100.0.1 23000 <2>
+ nse 1001 <3>
+  nsvc ipa ran1 10.100.1.1 23000 nsvci 1001
+----
+<1> create a IP/UDP bind with name ran1
+<2> bind to 10.100.0.1:23000
+<3> NSE 1001 with nsvc 1001 as ip.access style
+
+NOTE: The OsmoPCU supports "ip.access style" Gb/NS but doesn't support this 
vty configuration because
+it's receiving the configuration from the BTS/BSC.
+
+
+==== Gb over IP 3GPP static configuration
+
+A static IP/UDP configuration without SNS as specified by 3GPP 48.016.
+
+.Example: Gb over IP/UDP static configuration BSS/SGSN
+----
+ns
+ bind udp ran1 <1>
+  listen 10.100.0.1 23000 <2>
+ nse 1001 <3>
+  nsvc udp ran1 10.100.1.1 23000 signalling-weight 2 data-weight 2
+  nsvc udp ran1 10.100.1.2 23000 <4>
+----
+<1> create a IP/UDP bind with name ran1
+<2> bind to 10.100.0.1:23000
+<3> add NSE 1001 with 2 NSVC
+<4> short configuration with default signalling and data weight of 1
+
+==== Gb over IP 3GPP auto configuration as BSS
+
+IP/UDP auto-configuration with initial endpoints to an SGSN.
+The auto-configuration will use the first bind to connect to the
+first endpoint. If this fails Osmocom will iterate over all endpoints and 
binds to find
+a working combination.
+
+.Example: Gb over IP/UDP auto-configuration as BSS
+----
+ns
+ bind udp ran1 <1>
+  listen 10.100.0.1 23000 <2>
+ bind udp ran2
+  listen 10.100.0.2 23000
+ bind udp ran3
+  listen 10.100.0.3 23000
+ nse 1001 <3>
+  ip-sns-bind ran1 <4>
+  ip-sns-bind ran2
+  ip-sns-remote 10.100.1.1 23000 <5>
+  ip-sns-remote 10.100.1.2 23000
+----
+<1> create a IP/UDP bind with name ran1
+<2> bind to 10.100.0.1:23000
+<3> add NSE 1001 with 2 initial SNS endpoints
+<4> add ran1 to the list of available endpoints
+<5> add 10.100.1.1 as initial endpoint
+
+
+==== Gb/NS Timer configuration
+
+The NS protocol features a number of configurable timers.
+
+.List of configurable NS timers
+|===
+|tns-block|(un)blocking timer timeout (secs)
+|tns-block-retries|(un)blocking timer; number of retries
+|tns-reset|reset timer timeout (secs)
+|tns-reset-retries|reset timer; number of retries
+|tns-test|test timer timeout (secs)
+|tns-alive|alive timer timeout (secs)
+|tns-alive-retries|alive timer; number of retries
+|tsns-prov|SNS provision timeout (secs) used by all SNS auto configuration 
procedures.
+|tsns-size-retries|SNS Size procedure; number of retries
+|tsns-config-retries|SNS Config procedure; number of retries
+|===
+
+All timer can be configured by vty configuration
+
+.Example of timeouts
+----
+ns
+ timer tns-block 3
+ timer tns-block-retries 3
+ timer tns-reset 3
+ timer tns-reset-retries 3
+ timer tns-test 30
+ timer tns-alive 3
+ timer tns-alive-retries 10
+ timer tsns-prov 10
+ timer tsns-size-retries 3
+ timer tsns-config-retries 3
+----
+
+// FIXME: ladder diagrams for every timer
+
+=== Gb/NS maintenance
+
+This section describes common maintenance procedures.
+
+[[ns2-nse-states]]
+==== NSE states
+
+A NSE can have the following states:
+
+.NSE states
+* ALIVE
+* DEAD
+
+For FR, IPA: The NSE is ALIVE if there is at least one NSVC in state UNBLOCKED.
+For IP-SNS/UDP: The NSE is ALIVE if there is at least one NSVC ALIVE and the 
sum of all ALIVE NSVCs signalling weights > 0 and data weights > 0.
+
+The state of the NSE is shown by vty.
+
+.show ns
+----
+GbProxy# show ns nsei 1234
+NSEI 01234: UDP, DEAD <1>
+ FSM Instance Name: 'GPRS-NS2-SNS-BSS(NSE01234-SNS)[0x6120000012a0]', ID: 
'NSE01234-SNS'
+  Log-Level: 'DEBUG', State: 'BSS_SIZE'
+  Timer: 1
+ Maximum number of remote  NS-VCs: 8192, IPv4 Endpoints: 8192, IPv6 Endpoints: 
8192
+  1 NS-VC:
+   NSVCI none: DISABLED DYNAMIC data_weight=1 sig_weight=1 
udp)[127.0.0.1]:23000<>[127.0.0.1]:22000
+----
+<1> NSE state
+
+==== NSVC states
+
+A NSVC can have the following states:
+
+.nsvc states
+[options="header"]
+|=========================================================
+| State | transport UNITDATA | Description
+
+| DISABLED        | No   | Either the transport layer is unavailable (FR) or 
this NSVC is currently used by IP-SNS dynamic configuration.
+| RESET                   | No   | Sending out RESET PDU and awaiting data.
+| BLOCKED          | No*  | The NSVC has been BLOCKED. * see 3GPP TS 48.016 § 
7.2 exception
+| UNBLOCKED/ALIVE  | Yes  | The NSVC transport UNITDATA.
+| RECOVERING       | No   | The NSVC test procedure timed out. NSVC type is a 
IP-SNS which don't use RESET/BLOCK/UNBLOCK.
+
+|=========================================================
+
+[[fig-nsvc-states-reset-block]]
+.Simplified state diagram for RESET BLOCK UNBLOCK NSVCs
+[graphviz]
+----
+include::gb-ns2-nsvc-states-reset-block.dot[]
+----
+
+[[fig-nsvc-states-alive]]
+.Simplified state diagram for IP-SNS/UDP
+[graphviz]
+----
+include::gb-ns2-nsvc-states-alive.dot[]
+----
+
+==== Show information of a specific NSE
+
+The NSE 1234 has been configured for as BSS with IP-SNS configuration.
+
+.show ns on a dynamic configured IP-SNS NSE
+----
+GbProxy# show ns nsei 1234
+NSEI 01234: UDP, DEAD <1>
+ FSM Instance Name: 'GPRS-NS2-SNS-BSS(NSE01234-SNS)[0x6120000012a0]', ID: 
'NSE01234-SNS'
+  Log-Level: 'DEBUG', State: 'BSS_SIZE' <2>
+  Timer: 1
+ Maximum number of remote  NS-VCs: 8192, IPv4 Endpoints: 8192, IPv6 Endpoints: 
8192
+  1 NS-VC:
+   NSVCI none: DISABLED DYNAMIC data_weight=1 sig_weight=1 
udp)[127.0.0.1]:23000<>[127.0.0.1]:22000
+----
+<1> A UDP NSE. A NSE can be ALIVE or DEAD
+<2> The SNS state. CONFIGURED and LOCAL_PROCEDURE are ALIVE states
+
+For description of NSE states see <<ns2-nse-states>>.
+
+.show ns on a frame relay NSE
+----
+OsmoNSdummy# show ns nsei 02001
+NSEI 02001: FR, ALIVE <1>
+  4 NS-VC:
+   NSVCI 00001: DISABLED PERSIST data_weight=1 sig_weight=1 fr)netif: hdlcnet1 
dlci: 16 <2>
+   NSVCI 00002: DISABLED PERSIST data_weight=1 sig_weight=1 fr)netif: hdlcnet2 
dlci: 17 <3>
+   NSVCI 00003: DISABLED PERSIST <4> data_weight=1 sig_weight=1 fr)netif: 
hdlcnet3 dlci: 18
+   NSVCI 00004: DISABLED PERSIST data_weight=1 sig_weight=1 fr)netif: hdlcnet4 
dlci: 19
+----
+<1> A FR NSE. A NSE can be ALIVE or DEAD
+<2> An unblocked NS-VC will be used for data and signalling. data and 
signalling weight are only relevant for UDP NSVC.
+<3> NSVC is still blocked.
+<4> A PERSIST NSVC is a configured via VTY.
+
+==== Blocking a NSVC
+
+.how to block a single NSVC
+----
+OsmoNSdummy# show ns nsei 01234
+NSEI 01234: UDP, ALIVE since 0d 0h 41m 6s
+  2 NS-VC:
+   NSVCI 01234: UNBLOCKED PERSIST 
udp)[127.0.0.1]:23000\<1234>[127.0.0.1]:22000 ALIVE since 0d 0h 2m 36s
+   NSVCI 01235: UNBLOCKED PERSIST 
udp)[127.0.0.1]:23001\<1235>[127.0.0.1]:22001 ALIVE since 0d 0h 41m 6s
+
+OsmoNSdummy# nsvc 1234 block
+The NS-VC 01234 will be blocked.
+OsmoNSdummy# show ns nsei 01234
+NSEI 01234: UDP, ALIVE since 0d 0h 42m 7s
+  2 NS-VC:
+   NSVCI 01234: BLOCKED PERSIST udp)[127.0.0.1]:23000\<1234>[127.0.0.1]:22000 
DEAD since 0d 0h 3m 37s
+   NSVCI 01235: UNBLOCKED PERSIST 
udp)[127.0.0.1]:23001\<1235>[127.0.0.1]:22001 ALIVE since 0d 0h 42m 7s
+----

--
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/30357
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Change-Id: I3c618e5af61b376435f400ef9c64245cec2f9b73
Gerrit-Change-Number: 30357
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <lafo...@osmocom.org>
Gerrit-MessageType: newchange

Reply via email to