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
This commit is contained in:
parent
6b21af4ff0
commit
15b74288c0
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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
|
||||
----
|
|
@ -179,3 +179,320 @@ The PCU creates a dynamic NSE when it receives the configuration from BTS/BSC.
|
|||
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
|
||||
----
|
||||
|
|
Loading…
Reference in New Issue