The OSI Model

Download Report

Transcript The OSI Model

Providing Solutions for the World
of Data Communications
Protocol Stacks and Dumps
Gcom, Inc. Training Presentation
1
Protocol Stacks and Dumps
Gcom_cdi -U
Errors
Gcom_cdi -t
Gcom_ivp counter-trace
ALC/UTS
Gcom_ivp sca-bsc-trace
Gcom_dlpi -U
Gcom_npi -V
Gcom_npi -t
Gcom_ivp npi-summary
Errors
Gcom_dlpi -t
Gcom_dlpi -u
Gcom_ss -Uw
Gcom_ss -u
Flow Chart for Reading Gcom_dump
Gcom_ss -Uw
Gcom_ss -u
2
Protocol Stacks and Dumps
Table of Contents
STREAMS Layers
Management Command Summary
Ring System -- Tunneling
Trace Table Commands
Gcom_npi -t
Gcom_dlpi -t
Gcom_cdi -t -- X.25, Error Conditions, ALC
Gcom_ivp sca-bsc-trace
Gcom_ivp driver-counters
Gcom_ivp counter-trace
Gcom_ivp sca-intr-trace
ALC Garbled Message
Gcom_cdi -U Gcom_cdi -u -- X.25, ALC, UTS
Gcom_dlpi -L Gcom_dlpi -l
Gcom_dlpi -U Gcom_dlpi -u
Gcom_npi -L Gcom_npi -l Flow Control, Throughput Class
Gcom_npi -U Gcom_npi -u Gcom_npi -V
Gcom_ivp npi-summary
Gcom_ss -Uw
Gcom_ss -u
3
Protocol Stacks and Dumps
STREAMS Layers
Gcom_ssd
User
Kernel
X.25 Stack
STREAMS drivers are in the kernel
NPI Provider
Packet Level
DLPI User
DLPI Provider
Network Provider Interface
Interface to network layer
Data Link Provider Interface
Interface to link layer
Frame Level
CDI User
Communication Device Interface
Interface to physical layer
CDI Provider
Digi Driver
Digi Sync/570
4
Protocol Stacks and Dumps
STREAMS Layers
Gcom_ssd
User
Kernel
X.25 Stack
NPI Provider
Packet Level
DLPI User
DLPI Provider
Frame Level
X.25 Stack
Three Layers
CDI User
CDI Provider
Digi Driver
Digi Sync/570
5
Protocol Stacks and Dumps
STREAMS Layers
Gcom_ssd
User
Kernel
ALC or UTS
ALC or UTS Stack
One Layer
CDI Provider
Digi Driver
Digi Sync/570
6
Protocol Stacks and Dumps
STREAMS Layers
Gcom_ssd
User
Kernel
NPI Provider
Packet Level
DLPI User
DLPI Provider
Frame Level
X.25 Stack + ALC/UTS
You can configure X.25 on
one port and ALC or UTS
on another port simultaneously
X.25 Stack
Three Layers
CDI User
CDI Provider
Digi Driver
ALC or UTS Stack
One Layer
Digi Sync/570
7
Protocol Stacks and Dumps
Gcom_ss -U -Uw
Gcom_ssd
Management Commands
User
Kernel
NPI Provider
Gcom_npi -U -u
Gcom_ivp npi-summary
Packet Level
DLPI User
DLPI Provider
Gcom_npi -L -l -t
Gcom_dlpi -U -u -t
Frame Level
CDI User
Gcom_dlpi -L -l -t
Gcom_cdi -U -u -t
CDI Provider
Digi Driver
Gcom_ivp sca-intr-trace
Gcom_ivp counter-trace
Gcom_ivp driver-counters
Gcom_ivp -I
Gcom_ivp sca-bsc-trace
Digi Sync/570
8
Protocol Stacks and Dumps
Ring System X.25 Stack
Processes
Historical Note: Gcom’s protocol stacks were
implemented using the Ring System prior to
being ported to STREAMS. The Ring System
is still present within the STREAMS implementation.
pktlvl.1
Ring System Processes
Each process has a numerical Id.
frmlvl.1
intsx25.1
Suffix “.1” indicates
process instance number
Driver
9
Protocol Stacks and Dumps
Ring System X.25 Stack
Connectivity
pktlvl.1
frmlvl.1
Logical Data Flow
intsx25.1
Driver
10
Protocol Stacks and Dumps
Ring System X.25 Stack
Scheduling Ring
Data flows through the Ring
Ring data struct called Token
pktlvl.1
From
To
Command
Buffer ptr
Token
frmlvl.1
Ring
Buffer
intsx25.1
From and To are process Ids
Driver
Insert Token in Ring and return
Remove Token from Ring
and call process entry point
11
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
STREAMS and Ring system
User
Kernel
NPI Provider
pktlvl.1
DLPI User
Ring
STREAMS linkage not
used for data flow
DLPI Provider
frmlvl.1
CDI User
Data flows directly
between Ring System processes
via the Ring
CDI Provider
intsx25.1
Digi Driver
Buffers from driver
flow through Ring
Digi Sync/570
12
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
STREAMS and Ring system
User
Kernel
NPI Provider
Logical data flow view
Logical channel data sent
upstream as STREAMS.
See next slide.
pktlvl.1
DLPI User
We call this “tunneling”
Ring System Tokens flow
between frmlvl and pktlvl.
These are I-Frames.
DLPI Provider
frmlvl.1
CDI User
Ring System Tokens flow
between intsx25 and frmlvl.
These are Raw Frames.
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Ring System Tokens flow
from driver to intsx25
Digi Sync/570
13
Protocol Stacks and Dumps
X.25 Stack
Detail of NPI Provider
Convert back to STREAMS
at top of protocol stack
Gcom_ssd
User
Kernel
NPI Provider
Logical channels come out
the top
pktlvl.1
X.25 packet level state
machine resides here
DLPI User
I-Frames from LAPB
arrive from below
14
Protocol Stacks and Dumps
Gcom_ssd
User
Kernel
X.25 Stack
Trace Table Commands
NPI Provider
pktlvl.1
Gcom_npi -t
Shows this Token traffic
as decoded packet types
DLPI User
DLPI Provider
Gcom_dlpi -t
Shows this Token traffic
as decoded frame types
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Gcom_cdi -t
Shows this Token traffic
as raw buffers
Digi Sync/570
15
Protocol Stacks and Dumps
X.25 Stack
Transmit or Receive
Gcom_ssd
Gcom_npi -t
User
Kernel
Byte Count
NPI Provider
Time Stamp milli-sec
Bytes of Packet
pktlvl.1
DLPI User
DLPI Provider
76280000 Xmt Pkt
(
76280050 Rcv Pkt
(
76280050 Xmt Pkt
(
76280100 Rcv Pkt
(
76280100 Xmt Pkt
(
76280100 Rcv Pkt
(
frmlvl.1
CDI User
15) 10 10 0b 03 32 10
Call Req, LC=16
13) 10 10 0f 00 08 02
Call Acpt, LC=16
103) 10 10 00 01 02 03
Data(0,0), LC=16
103) 10 10 00 01 02 03
Data(0,0), LC=16
103) 10 10 02 02 03 04
Data(0,1), LC=16
3) 10 10 41 00 00 00
RR(2), LC=16
08 02 aa 42 08 08 43 02 02 00
aa 42 08 08 43 02 02 00 00 00
04 05 06 07 08 09 0a 0b 0c 0d
04 05 06 07 08 09 0a 0b 0c 0d
05 06 07 08 09 0a 0b 0c 0d 0e
00 00 00 00 00 00 00 00 00 00
CDI Provider
intsx25.1
intsx25.2
Data(P(R), P(S))
Digi Driver
Logical Channel Number
RR(P(R))
Digi Sync/570
16
Protocol Stacks and Dumps
X.25 Stack
Transmit or Receive
Gcom_ssd
Gcom_dlpi -t
User
Kernel
Byte Count
NPI Provider
Time Stamp milli-sec
Bytes of Frame
pktlvl.1
DLPI User
76280400 Xmt Frame
(
76280400 Rcv Frame
(
76280600 Xmt Frame
(
76283400 Xmt Frame
(
DLPI Provider
frmlvl.1
CDI User
7) 01 44 10 10 13
I-Frame(2,2)
5) 03 64 10 10 17
I-Frame(3,2)
2) 03 61 00 00 00
RR(3)
2) 01 71 00 00 00
RR*(3)
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
I-Frame(N(R), N(S))
CDI Provider
intsx25.1
RR(N(R))
intsx25.2
Digi Driver
“*” means Poll/Final
bit set
Digi Sync/570
17
Protocol Stacks and Dumps
X.25 Stack
Transmit or Receive
relative to CDI Provider
Gcom_ssd
Gcom_cdi -t
User
Kernel
Byte Count
NPI Provider
Bytes of Frame
Time Stamp milli-sec
pktlvl.1
DLPI User
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
DLPI Provider
frmlvl.1
CDI User
Snd
Rcv
Snd
Snd
Rcv
Rcv
Snd
Rcv
Rcv
Snd
Bfr
Bfr
Tkn
Bfr
Tkn
Bfr
Tkn
Tkn
Tkn
Tkn
(
2) 01 31 00 00 07 00 00 00 05 0e 00 00 f7 ff 00
(
2) 03 31 00 00 04 00 00 00 06 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d38fcda4 othr=0
(
2) 03 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
(
2) 01 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d384a244 othr=0
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
04->04 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=0
04->07 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=7
00
00
00
00
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
18
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_cdi -t
User
Kernel
Snd Bfr
from frmlvl
request to transmit frame
NPI Provider
pktlvl.1
DLPI User
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Snd
Rcv
Snd
Snd
Rcv
Rcv
Snd
Rcv
Rcv
Snd
Bfr
Bfr
Tkn
Bfr
Tkn
Bfr
Tkn
Tkn
Tkn
Tkn
(
2) 01 31 00 00 07 00 00 00 05 0e 00 00 f7 ff 00
(
2) 03 31 00 00 04 00 00 00 06 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d38fcda4 othr=0
(
2) 03 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
(
2) 01 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d384a244 othr=0
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
04->04 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=0
04->07 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=7
00
00
00
00
Rcv Tkn -- Frm Xmitted
from driver
frame has been transmitted
Digi Sync/570
19
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_cdi -t
User
Kernel
Snd Tkn -- Frm Rcvd
to frmlvl
send received frame upstream
Rcv Bfr
from driver
frame just received
NPI Provider
pktlvl.1
DLPI User
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
DLPI Provider
frmlvl.1
CDI User
Snd
Rcv
Snd
Snd
Rcv
Rcv
Snd
Rcv
Rcv
Snd
Bfr
Bfr
Tkn
Bfr
Tkn
Bfr
Tkn
Tkn
Tkn
Tkn
(
2) 01 31 00 00 07 00 00 00 05 0e 00 00 f7 ff 00
(
2) 03 31 00 00 04 00 00 00 06 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d38fcda4 othr=0
(
2) 03 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
(
2) 01 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d384a244 othr=0
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
04->04 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=0
04->07 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=7
00
00
00
00
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Rcv Tkn -- Rplce Bfr
from frmlvl
frame processed,
replace buffer in driver
Digi Sync/570
20
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_cdi -t
User
Kernel
Error: No attempt to send frames
NPI Provider
pktlvl.1
DLPI User
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
DLPI Provider
frmlvl.1
CDI User
Snd
Rcv
Snd
Snd
Rcv
Rcv
Snd
Rcv
Rcv
Snd
Bfr
Bfr
Tkn
Bfr
Tkn
Bfr
Tkn
Tkn
Tkn
Tkn
(
2) 01 31 00 00 07 00 00 00 05 0e 00 00 f7 ff 00
(
2) 03 31 00 00 04 00 00 00 06 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d38fcda4 othr=0
(
2) 03 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
(
2) 01 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d384a244 othr=0
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
04->04 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=0
04->07 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=7
00
00
00
00
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Snd Bfr
If this is missing then frmlvl
is not attempting to send frames.
Look at Gcom_dlpi -t for more information
Digi Sync/570
21
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_cdi -t
User
Kernel
Error: Frames won’t transmit
NPI Provider
pktlvl.1
DLPI User
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
DLPI Provider
frmlvl.1
CDI User
Snd
Rcv
Snd
Snd
Rcv
Rcv
Snd
Rcv
Rcv
Snd
Bfr
Bfr
Tkn
Bfr
Tkn
Bfr
Tkn
Tkn
Tkn
Tkn
(
2) 01 31 00 00 07 00 00 00 05 0e 00 00 f7 ff 00
(
2) 03 31 00 00 04 00 00 00 06 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d38fcda4 othr=0
(
2) 03 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
(
2) 01 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d384a244 othr=0
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
04->04 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=0
04->07 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=7
00
00
00
00
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
Rcv Tkn -- Frm Xmitted
If this is missing then the driver
could not transmit the frame.
Look for watchdog timer expiration count.
Check clocking.
Check cables.
Check modem/DSU settings.
22
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_cdi -t
User
Kernel
Error: No frames received
NPI Provider
pktlvl.1
DLPI User
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
76278250
DLPI Provider
frmlvl.1
CDI User
Snd
Rcv
Snd
Snd
Rcv
Rcv
Snd
Rcv
Rcv
Snd
Bfr
Bfr
Tkn
Bfr
Tkn
Bfr
Tkn
Tkn
Tkn
Tkn
(
2) 01 31 00 00 07 00 00 00 05 0e 00 00 f7 ff 00
(
2) 03 31 00 00 04 00 00 00 06 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d38fcda4 othr=0
(
2) 03 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
(
2) 01 31 00 00 07 00 00 00 02 0e 00 00 00 00 00
04->07 Frm Rcvd extra=fff7 bfrp=d384a244 othr=0
07->04 Rplce Bfr extra=0000 bfrp=0 othr=0
04->04 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=0
04->07 Frm Xmitted extra=0000 bfrp=d3c80b24 othr=7
00
00
00
00
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
Rcv Bfr
If this is missing then the driver
never received any frames.
Check clocking.
Check cables.
Check modem/DSU settings.
Observe Rx data with line monitor.
23
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_cdi -t
User
Kernel
Snd Bfr
from CDI_Prov
request to transmit msg
CDI Provider
has Ring Sys
process
1854059750 Snd Bfr
1854059750 Rcv Tkn
1854059750 Snd Tkn
Rcv Tkn -- Frm Xmitted
from driver
frame has been transmitted
(
2) 0f 37 00 00 04 00 00 00 02 0e 00 00 00 00 00 00
03->03 Frm Xmitted extra=0000 bfrp=d7d6ff24 othr=0
03->04 Frm Xmitted extra=0000 bfrp=d7d6ff24 othr=0
CDI Provider
CDI_Prov.2
intsx25.2
Snd Tkn -- Frm Xmitted
to CDI_prov
frame has been transmitted
Digi Driver
Digi Sync/570
24
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_cdi -t
User
Kernel
Rcv Bfr
from driver
msg just received
1854059800 Rcv Bfr
1854059800 Snd Tkn
1854059800 Rcv Tkn
Snd Tkn -- Frm Rcvd
to CDI_Prov
send received msg upstream
(
3) 0f 2f 1d 00 03 00 00 00 06 0e 00 00 00 00 00 00
03->04 Frm Rcvd extra=fff7 bfrp=d6e7c124 othr=0
04->03 Rplce Bfr extra=0000 bfrp=0 othr=0
CDI Provider
CDI_Prov.2
intsx25.2
Digi Driver
Rcv Tkn -- Rplce Bfr
from CDI_Prov
msg processed,
replace buffer in driver
Digi Sync/570
25
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_ivp sca-bsc-trace
User
Kernel
Transmit Operations
One trace buffer is shared by
all ALC/UTS ports.
Difficult to understand if more
than one line is running.
Modem signals
Assert RTS
CTS is on
CDI Provider
CDI_Prov.2
intsx25.2
DTR+ RTS- DSR+ DCD- CTS+
DTR+ RTS+ DSR+ DCD- CTS+
Tx: 3f
3e
0f
37-EOT 3f
DTR+ RTS- DSR+ DCD- CTS+
Digi Driver
Tx = Transmit ALC characters.
Six bit in hex in internal form.
Drop RTS
Digi Sync/570
26
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_ivp sca-bsc-trace
User
Kernel
Receive Operations
This is a back to back configuration.
Note that Tx chars appear in Rx
Syncs
CCC
CDI Provider
CDI_Prov.2
Tx: 3f
Rx: 0f
3e
0f
12-DC2 1d
12-DC2 1d
29
29
3f
3f
3f
intsx25.2
Digi Driver
Idle PAD
Rx = Receive ALC characters.
Six bit in hex in internal form.
Digi Sync/570
27
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
User
Kernel
Gcom_ivp driver-counters
All protocol stacks use the
same counters
NPI Provider
Digi driver interrupt
service routine counts.
Non-zero means interrupts
are being processed.
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
Digi Driver
sca_hw_intr_cnt
= 0
sca_hw_dev_hndlr_cnt = 135456
sca_hw_dev_hndlr_brd_cnt = 339036
sca_hw_dev_hndlr_bad_brd_cnt= 0
sca_hw_dev_hndlr_prt_cnt = 339036
sca_hw_dev_hndlr_null_vect_cnt = 135456
sca_hw_dev_hndlr_init_run_cnt = 0
sca_hw_dev_hndlr_ix25_cnt = 26148
sca_hw_dev_hndlr_ix25_waiting_cnt = 10
sca_hw_dev_hndlr_ix25_locked_cnt = 0
sca_hw_dev_hndlr_ix25_fistrt_cnt = 0
sca_hw_dev_hndlr_ix25_fostrt_cnt = 0
sca_intr_cnt
= 203580
sca_poll_intr_cnt
= 0
sca_nv_intr_cnt
= 0
sca_intr_no_vect
= 0
sca_nv_loop_counter = 0
sca_bad_vector
= 0
Digi Sync/570
28
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_ivp driver-counters
User
Kernel
Continued
NPI Provider
pktlvl.1
DLPI User
Normal receive interrupts for X.25
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
Digi Driver
sca_tx_intr_cnt
= 0
sca_rx_intr_cnt
= 0
sca_txdmib_intr_cnt = 0
sca_rxdmib_intr_cnt = 101757
sca_rxdmia_intr_cnt = 0
sca_rxdma_inside_txdma_cnt = 0
sca_txtmr_intr_cnt
= 101823
sca_start_txtmr_cnt
= 101823
sca_stop_txtmr_cnt
= 101823
sca_txtmr_tbl_empty_cnt = 50890
sca_ifdtmr_intr_cnt = 0
Normal transmit interrupts for X.25
Timer driven.
Digi Sync/570
29
Protocol Stacks and Dumps
ALC/UTS Stack
Gcom_ssd
Gcom_ivp driver-counters
User
Kernel
Normal transmit interrupts
for ALC/UTS
CDI Provider
CDI_Prov.2
intsx25.2
Digi Driver
Digi Sync/570
sca_tx_intr_cnt
= 12851410
sca_rx_intr_cnt
= 927795808
sca_txdmib_intr_cnt = 0
sca_rxdmib_intr_cnt = 0
sca_rxdmia_intr_cnt = 0
sca_rxdma_inside_txdma_cnt = 0
sca_txtmr_intr_cnt
= 0
sca_start_txtmr_cnt
= 0
sca_stop_txtmr_cnt
= 0
sca_txtmr_tbl_empty_cnt = 0
sca_ifdtmr_intr_cnt = 0
Normal receive interrupts
for ALC/UTS
Large number comes from
continuous scanning for syncs
No DMA interrupts
for ALC/UTS
30
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_ivp driver-counters
User
Kernel
Continued
Counters for ALC only
CDI Provider
CDI_Prov.2
intsx25.2
Digi Driver
sca_alc_xmt_cnt
= 51863415
sca_alc_xmt_unrn_cnt
= 12834283
sca_alc_xmt_unrn_idle_cnt = 12834283
sca_alc_xmt_unrn_noie_cnt = 18
sca_alc_rcv_cnt
= 927795944
sca_alc_bfsm_srch
= 887591561
sca_alc_bfsm_sync
= 12841939
sca_alc_rx_idle_cnt = 561
sca_alc_rx_srch_cnt = 15717539
sca_alc_garbled_cnt = 15
sca_alc_xmt_bit_fsm_chr_cnt = 64697710
sca_alc_xmt_bit_fsm_byte_cnt = 38914775
sca_alc_rcv_bit_fsm_chr_cnt = 82139234
sca_alc_rcv_bit_fsm_byte_cnt = 40204383
Note garbled message count.
Indicates that badly formed
messages were received.
Bit scanning FSM counters
Digi Sync/570
31
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_ivp driver-counters
User
Kernel
Continued
Histogram of ALC transmit states
Counts number of interrupts
in each state
CDI Provider
0
TX_IDLE - Nothing transmitting
1
Unused
2
CTS_WAIT - Waiting for CTS
3
TX_STRT - Start transmitting S1
4
TX_S2 - Transmit S2
5
TX_BYTE1 - Transmit 1st char of msg
6
TX_BYTES - Transmit msg chars
7
TX_CCC - Transmit CCC char
8
TX_PAD - Transmit idle line PAD after msg
9
LINE_IDLE - Wait for line to become idle
10-15 Unused
CDI_Prov.2
intsx25.2
Digi Driver
sca_alc_tx_hist
Digi Sync/570
=
0
12834292
25722992
0
0
12834289
0
0
12834292
13269850
0
0
0
36284
0
0
32
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_ivp driver-counters
User
Kernel
Continued
Histogram of ALC receive states
Counts number of interrupts
in each state
0
RCV_IDLE - No message being received
1
RCV_S1 - Receive 1st sync char
2
RCV_S2 - Receive 2nd sync char
3
RCV_FIRST - Receive 1st msg char
4
RCV_GA - Receive char after initial GA
5
Unused
6
RCV_IA1st - Received IA as 1st char
7
RCV_IA2nd - Received IA after GA
8
RCV_RS - Received RS after IA
9
RCV_TA - Received TA after IA
10 RCV_CCC - Receive CCC char
11 RCV_CCCi - Receive CCC and continue
12 RCV_CONT - Receive idle line or continuation msg
13-15 Unused
CDI Provider
CDI_Prov.2
intsx25.2
Digi Driver
sca_alc_rx_hist
Digi Sync/570
=
0
12815148
0
26754
15690530
0
1971259
0
12841940
26784
12815143
0
13109748
12815145
26783
0
33
Protocol Stacks and Dumps
X.25, ALC or UTS Stack
Gcom_ssd
Gcom_ivp counter-trace
User
Kernel
NPI Provider
pktlvl.1
DLPI User
Traces occurrences of
error conditions
Use to see when errors occurred
XAB
XUN
CRC
RAB
ROV
WDT
MFL
AFL
DLPI Provider
frmlvl.1
CDI User
Frame counters
CDI Provider
intsx25.1
Change events to error counters
=
=
=
=
=
=
=
=
Transmit abort
Transmit underrun
CRC error
Receive abort
Receiver overrun
Watchdog timer
Modem flood
Abort flood
Error counters
Time stamps
in milli-seconds
Digi Driver
Digi Sync/570
ivp counter-trace-1
Start-Tim
End-Tim
Tx-Frms
Rx-Frms
Tx-Errs
Rx-Errs Changes
1519317950 1519327950
1527797
2124881
18
413761 CRC
1519327950 1519337950
1527928
2125063
18
413781 CRC RAB
1519337950 1519347950
1528047
2125251
18
413806 CRC
1519347950 1519357950
1528264
2125554
18
413826 CRC
1519357950 1519367950
1528447
2125835
18
413857 CRC
1519367950 1519377950
1528555
2126009
18
413865 CRC
34
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_ivp sca-intr-trace
User
Kernel
NPI Provider
pktlvl.1
Traces interrupt service requests
DLPI User
Time stamps
in milli-seconds
Start frame transmit
DLPI Provider
First few bytes
frmlvl.1
CDI User
CDI Provider
intsx25.1
1601246650
1601246650
1601246650
1601246650
1601246650
1601246650
1601246650
1601246650
Tx-Strt:
Xmt-DMA/DSR:
compute-IMVR:
Vector:
Tx-Fin/ST1:
compute-IMVR:
Vector:
Rx-Fin:
arg=0x0 (0), 03 31 00 00
0x61 (97)
isr0=0 isr1=0 isr2=10 vector=1C
Vect=0x1C timer 0/2
0x51 (81)
isr0=0 isr1=2 isr2=0 vector=16
Vect=0x16 Rx DMA normal end
arg=0x0 (0), 03 31 10 00
Digi Driver
Digi Sync/570
Transmit complete
follows timer
interrupt
Timer Interrupt
followed by
transmit complete
35
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_ivp sca-intr-trace
User
Kernel
NPI Provider
pktlvl.1
Traces interrupt service requests
DLPI User
Time stamps
in milli-seconds
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
1601246650
1601246650
1601246650
1601246650
1601246650
1601246650
1601246650
1601246650
Tx-Strt:
Xmt-DMA/DSR:
compute-IMVR:
Vector:
Tx-Fin/ST1:
compute-IMVR:
Vector:
Rx-Fin:
arg=0x0 (0), 03 31 00 00
0x61 (97)
isr0=0 isr1=0 isr2=10 vector=1C
Vect=0x1C timer 0/2
0x51 (81)
isr0=0 isr1=2 isr2=0 vector=16
Vect=0x16 Rx DMA normal end
arg=0x0 (0), 03 31 10 00
Digi Driver
Digi Sync/570
Frame received
First few bytes
36
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_ivp sca-intr-trace
User
Kernel
Traces interrupt service requests
Time stamps
in milli-seconds
CDI Provider
CDI_Prov.2
intsx25.2
Digi Driver
Transmit state machine
Start frame transmit
State
1854090550
1854090550
1854090550
1854090550
1854090550
1854090550
1854090550
1854090550
1854090550
Tx-Start:
Tx-FSM:
Tx-Chr:
Tx-FSM:
Tx-Chr:
Tx-Byte:
Tx-FSM:
Tx-Chr:
Tx-Byte:
Count
arg=0x2 (2), 0F 37 49 50
0x2 (2), 0x2 (2)
0x3 (3), 0x3F (63)
0x4 (4), 0x2 (2)
0x4 (4), 0x3E (62)
0x58 (88), 0x0 (0)
0x5 (5), 0x2 (2)
0x6 (6), 0xF (15)
0x18 (24), 0x38 (56)
State
Char
Transmit a character
Digi Sync/570
Transmit byte on line
8-bits w/packed 6-bit chars
37
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_ivp sca-intr-trace
User
Kernel
Traces interrupt service requests
Time stamps
in milli-seconds
Receive state machine
Receiving syncs
Receive sync pattern
Receive 1st char of msg
CDI Provider
CDI_Prov.2
intsx25.2
Digi Driver
1854090550
1854090550
1854090550
1854090550
1854090550
1854090550
1854090550
1854090550
Rx-Sync:
Rx-S1:
Rx-S2:
Rx-1st:
Rx-GA:
Rx-IA2nd:
Rx-CCC:
Rx-Fin:
Finish received msg
0xC (12), 0x800 (2048)
0x3F (63)
0x3E (62)
0xF (15)
0x2F (47)
0x1D (29)
0x39 (57)
arg=0x0 (0), 0F 2F 1D 04
First few chars
Digi Sync/570
38
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
garbled message
User
Kernel
This message appears in the
cmessages file. Written by
the Digi driver in ALC mode.
Diagnostic message
Port number
Line number within
within driver. Useful
only to Gcom.
Receive FSM state
Received character
in octal
CDI Provider
CDI_Prov.2
intsx25.2
1: ALC garbled msg: Not IA or GA
state=3 ochr=052 chr=025 crc_err=1 #1728
Digi Driver
Diagnostic Messages:
Digi Sync/570
Intial char not sync -- Initial character is neither S1 nor S2
Expected S2 char -- Garbage while expecting second sync character
Not IA or GA -- Character is not a valid IA or the GA character
Not IA or NIA -- Character is not a valid IA or the NIA character
Not RS or TA -- Character is not a valid TA or the RS character
Not EOM char -- Character after RS should be EOM but was not
CCC error -- Check sum error
39
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_cdi -U
User
Kernel
NPI Provider
pktlvl.1
wd -- Watch dog timer
mf -- Modem flood
af -- Abort flood
DLPI User
DLPI Provider
frmlvl.1
Should always be
INPUT_ALLOWED
for X.25
und -- Transmit under run
abt -- Transmit abort
crc -- CRC errors
ovr -- Receive over run
abt -- Receive abort
CDI User
CDI Provider
intsx25.1
Digi Driver
UPA
--1
2
CDI_State Frames-out Frames-in
------------- ---------- ---------INPUT_ALLOWED
50880
50878
INPUT_ALLOWED
50878
50879
wd mf af
-- -- -0 0 0
0 0 0
receive-errs
crc ovr abt
---- ---- ---0
0
0
0
0
0
xmt-errs
und abt
---- ---0
0
0
0
Digi Sync/570
40
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_cdi -U
User
Kernel
wd -- Watch dog timer
mf -- Modem flood
af -- Abort flood
Indicates that Gcom_ssd
has connection open
to this port
und -- Transmit under run
abt -- Transmit abort
crc -- CRC errors
ovr -- Receive over run
abt -- Receive abort
CDI Provider
CDI_Prov.2
intsx25.2
Digi Driver
Digi Sync/570
UPA
--1
2
CDI_State Frames-out Frames-in
------------- ---------- ---------INPUT_ALLOWED
8427
8977
*DRIVER-DOWN*
0
0
wd mf af
-- -- -0 0 0
0 0 0
receive-errs
crc ovr abt
---- ---- ---0
0
0
0
0
0
xmt-errs
und abt
---- ---0
0
0
0
Indicates that Gcom_ssd
does not have connection
open to this port
41
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_cdi -u
User
Kernel
Ensure large enough
NPI Provider
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
Digi Driver
Digi Sync/570
ix25prm.maxfrmsz
ix25prm.ix25mode
ix25prm.frstart
ix25prm.ix25wrapflg
ix25prm.hdx_optns
ix25prm.rcv_bfrs
ix25prm.xmit_bfrs
ix25prm.rcv_bfr_size
ix25prm.xmit_bfr_size
ix25prm.ix25_optns
ix25prm.ix25_enb
ix25prm.ix25_retry
ix25prm.ix25_ifd
ix25prm.ix25_ll_optns
ix25prm.ix25_chip_type
ix25prm.rcv_dma
ix25prm.xmt_dma
ix25prm.ix25_code
ix25prm.ix25_clks
ix25prm.baudrate
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
1100
Mode=0 is HDLC
non-DMA (0)
12
NONE (0)
Ensure no loopback
0
16
20
Same value as maxfrmsz
1100
1100
0x00
1
Ensure NRZ encoding
4
0
0x00
HD64570 (13)
0
External clocking
0
NRZ (0)
TxC in, RxC in (0)
64000
If ix25_clks=0, does not matter
what this is
42
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_cdi -u
User
Kernel
NPI Provider
Output signals
Input signals
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
Digi Driver
ix25prm.mdm_lim
ix25prm.mdm_msk
ix25prm.wd_timer
ix25prm.seq_end_dly
ix25prm.lt_dly
ix25prm.hertz
ix25prm.board_type
ix25prm.elect_if_type
ix25prm.ix25_noops
ix25prm.histsz
ix25prm.line
ix25prm.irq
ix25prm.port_addr
ix25prm.mem_addr
ix25prm.cable_port
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
6
DTR+ RTS+ DSR- DCD- CTS- (0x03)
5000
0
Same as UPA
0
9216000
0
1
Board Number
0
160
1
11
0x01
Port on board
0xfc040000
1
Digi Sync/570
43
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
User
Kernel
Gcom_cdi -u
Ensure large enough
Mode=14 is ALC
CDI Provider
CDI_Prov.2
intsx25.2
ix25prm.maxfrmsz
ix25prm.ix25mode
ix25prm.frstart
ix25prm.ix25wrapflg
ix25prm.hdx_optns
ix25prm.rcv_bfrs
ix25prm.xmit_bfrs
ix25prm.rcv_bfr_size
ix25prm.xmit_bfr_size
ix25prm.ix25_optns
ix25prm.ix25_enb
ix25prm.ix25_retry
ix25prm.ix25_ifd
=
=
=
=
=
=
=
=
=
=
=
=
=
4096
Ensure no loopback
ALC (14)
16
NONE (0)
HDX - don't wait CTS, Half Duplex (3)
20
6
Ensure HDX is correct
4096
4096
0x00
Same value as maxfrmsz
1
4
100μs ticks after message
1
in full duplex mode
Digi Driver
Digi Sync/570
44
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_cdi -u
User
Kernel
0x08 = Unused
0x10 = Invert message bits
0x20 = Include CCC in buffer
0x40 = Invert idle bits
Change to 0x10
CDI Provider
CDI_Prov.2
intsx25.2
ix25prm.ix25_ll_optns
ix25prm.ix25_chip_type
ix25prm.rcv_dma
ix25prm.xmt_dma
ix25prm.ix25_code
ix25prm.ix25_clks
ix25prm.baudrate
=
=
=
=
=
=
=
0x18
HD64570 (13)
0
0
NRZ (0)
TxC in, RxC in (0)
9600
External clocking
Ensure NRZ encoding
Digi Driver
If ix25_clks=0, does not matter
what this is
Digi Sync/570
45
Protocol Stacks and Dumps
ALC Stack
Gcom_ssd
Gcom_cdi -u
User
Kernel
Output signals
CDI Provider
CDI_Prov.2
intsx25.2
Digi Driver
ix25prm.mdm_lim
ix25prm.mdm_msk
ix25prm.wd_timer
ix25prm.seq_end_dly
ix25prm.lt_dly
ix25prm.hertz
ix25prm.board_type
ix25prm.elect_if_type
ix25prm.ix25_noops
ix25prm.histsz
ix25prm.line
ix25prm.irq
ix25prm.port_addr
ix25prm.mem_addr
ix25prm.cable_port
Input signals
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
6
DTR+ RTS+ DSR- DCD- CTS- (0x03)
5000
Number PAD chars
1
4
9216000
0
Not used
1
0
166
1
16
Same as UPA
0x01
0xf6040000
1
Board Number
Port on board
Digi Sync/570
46
Protocol Stacks and Dumps
UTS Stack
Gcom_ssd
User
Kernel
Gcom_cdi -u
Ensure large enough
Mode=11 is UTS
CDI Provider
CDI_Prov.2
ix25prm.maxfrmsz
ix25prm.ix25mode
ix25prm.frstart
ix25prm.ix25wrapflg
ix25prm.hdx_optns
ix25prm.rcv_bfrs
ix25prm.xmit_bfrs
ix25prm.rcv_bfr_size
ix25prm.xmit_bfr_size
ix25prm.ix25_optns
ix25prm.ix25_enb
ix25prm.ix25_retry
=
=
=
=
=
=
=
=
=
=
=
=
4096
hdx bisync uniscope (11)
Ensure no loopback
16
NONE (0)
Half Duplex (1)
UTS is half duplex
20
6
Same value as maxfrmsz
4096
4096
0x00
0
4
intsx25.2
Digi Driver
Digi Sync/570
47
Protocol Stacks and Dumps
UTS Stack
Gcom_ssd
Gcom_cdi -u
User
Kernel
0x08 = Unused
0x20 = Odd parity
0x40 = Even parity
0x80 = No parity on SYN char
CDI Provider
CDI_Prov.2
ix25prm.ix25_ll_optns
ix25prm.ix25_chip_type
ix25prm.rcv_dma
ix25prm.xmt_dma
ix25prm.ix25_code
ix25prm.ix25_clks
ix25prm.baudrate
=
=
=
=
=
=
=
0x28
HD64570 (13)
0
0
NRZ (0)
TxC in, RxC in (0)
19200
Change to 0x20
Ensure NRZ encoding
intsx25.2
Digi Driver
External clocking
If ix25_clks=0, does not matter
what this is
Digi Sync/570
48
Protocol Stacks and Dumps
UTS Stack
Gcom_ssd
Gcom_cdi -u
User
Kernel
Output signals
CDI Provider
CDI_Prov.2
intsx25.2
Digi Driver
ix25prm.mdm_lim
ix25prm.mdm_msk
ix25prm.wd_timer
ix25prm.seq_end_dly
ix25prm.lt_dly
ix25prm.hertz
ix25prm.board_type
ix25prm.elect_if_type
ix25prm.ix25_noops
ix25prm.histsz
ix25prm.line
ix25prm.irq
ix25prm.port_addr
ix25prm.mem_addr
ix25prm.cable_port
Input signals
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
6
DTR+ RTS+ DSR- DCD- CTS- (0x03)
5000
Number PAD chars
1
4
9216000
0
Initial syncs
6
0
166
1
10
Same as UPA
0x01
0xd6040000
1
Board Number
Port on board
Digi Sync/570
49
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Lower Point of Attachment
Equivalent to line number
NPI Provider
pktlvl.1
Gcom_dlpi -L
Internal STREAMS
multiplexing ID
User
Kernel
CDI Physical Point of Attachment
CDI UPA number
DLPI User
Ring System protocol module
inside CDI User (NULL)
DLPI Provider
frmlvl.1
LPA MUX PPA IFACE
--- --- --- ----1 94
1
CDI
2 96
2
CDI
CDI User
MODULE
CDI_STATE
LAP_TYPE
------ --------------- -------NULL
INPUT_ALLOWED
none
NULL
INPUT_ALLOWED
none
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
State of CDI User interface
Note that these are LPAs
relative to DLPI Provider.
LAP = Link Access Procedure
None in CDI User
50
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_dlpi -l
User
Kernel
From CDI User standpoint
NPI Provider
pktlvl.1
cd_state
cd_minor
cd_state_history[]
DLPI User
cd_modem_bits
cd_events
cd_canput_next_stream
cd_wq_queued
cd_rd_queued
cd_wr_lo_mark
cd_wr_hi_mark
cd_rd_lo_mark
cd_rd_hi_mark
DLPI Provider
frmlvl.1
CDI User
=
=
=
=
=
=
=
=
=
=
=
=
=
INPUT_ALLOWED (6)
1
2 3 6
DISABLED ENABLE_PENDING INPUT_ALLOWED
DTR+ RTS+ DSR- DCD- CTS0x0
1
0
0
15000
20000
2000
Not meaningful due to
5000
Ring System tunneling
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
51
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_dlpi -l
User
Kernel
License key
NPI Provider
pktlvl.1
cd_auth
= id 0x53353730 / prt 31 / usr 31
feat: 07C SNA FrmRly Link X.25 BSC
env: 11D LnxI86 SPARC SolI86 QNX HPU
brd: 003 SYNC570-2 SYNC570-4
cd_bfr_queue_count
= 0
cd_waiting_ack_count
= 0
cd_deferred_data_count = 0
Not meaningful due to
cd_next_wq_queued
= 0
Ring System tunneling
cd_next_rd_queued
= 0
cd_next_next_wq_queued = 0
cd_next_next_rd_queued = 0
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
52
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
NPI Provider
pktlvl.1
sabmuawt = Sent SABM awaiting UA
discuawt = Send DISC awaiting UA
User
infoxfer = Information transfer
Kernel
useruawt = Received SABM awaiting packet level UA
userdiscwt = Received DISC awaiting packet level UA
discphase = Disconnected phase
verify_up = SABM/UA, verifying Information Transfer
frmidle = Idle state, ready for SABM
Gcom_dlpi -U
DLPI User
UPA MODULE DLPI_STATE LPA MUX BIND
--- ------ ---------- --- --- ---1 frame
infoxfer
1 94
01
2 frame
infoxfer
2 96
01
DLPI Provider
frmlvl.1
LAP_TYPE PRIM
-------- ---lapb
01
lapb
01
SEC
XMIT
RCV
--- ---------- ---------03
1549
1544
03
1544
1548
CDI User
CDI Provider
intsx25.1
intsx25.2
These should match up
with Gcom_dlpi -L
Digi Driver
Indicates X.25 Frame Level
Counts only I-Frames
Digi Sync/570
53
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_dlpi -u
User
Kernel
Ensure large enough
NPI Provider
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
frmpar.maxfsize
frmpar.frmwsize
frmpar.fdte
frmpar.T1_timer
frmpar.T2_timer
frmpar.n2
frmpar.fwrapflg
frmpar.nettype
frmpar.frm_optns
frmpar.fhistsz
frmpar.frm_chip_type
frmpar.dp_timer
frmpar.disc_type
frmpar.frm_enb
frmpar.T3_timer
frmpar.min_wsize
frmpar.frm_optns2
frmpar.frm_mdmsigs
frmpar.lap_type
frmpar.prim_addr
frmpar.sec_addr
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
300
10200 = 200ms
7
0
3
10200
Ensure not loopback
20
0x00
0
0x00
Signals required for operation
166
Usually set to 0x00
0
0
1
1
0
2
0x42
DTR- RTS- DSR- DCD- CTS- (0x00)
lapb (8)
01
Ensure LAPB
03
Correct for DTE
Opposite for DCE
54
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_dlpi -u
User
Kernel
0x20 = Role negotiation
NPI Provider
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
frmpar.lfc_low
frmpar.lfc_high
frmpar.frm_optns3
frmpar.link_mode
frmpar.pl_priority
frmpar.frm_optns4
frmpar.rcv_frmsize
frmpar.xmt_frmsize
frmpar.rcv_wsize
frmpar.xmt_wsize
=
=
=
=
=
=
=
=
=
=
7
12
0x0720
1
0
0x0000
0
0
7
7
fvs (send sequence)
fvr (rcv sequence)
frbfrs (outbound q'd)
fstate
sent_rnr to client
=
=
=
=
=
6
1
0
infoxfer (3)
0
Next N(S) value
Last N(R) value
Should be zero
Should be zero
Digi Driver
Digi Sync/570
55
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_dlpi -u
User
Kernel
NPI Provider
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
Frame Counts: Transmitted
I-Frames
1566
RR Cmnd
37
RR Rsp
37
RNR Cmnd
0
RNR Rsp
0
REJ Cmnd
0
REJ Rsp
0
SREJ Cmnd/Rsp
0
SABM
2
SABME
0
UA
0
DISC
0
DM
0
FRMR
0
XID/TEST/UI
0
T1 Timeouts
T2 Timeouts
T3 Timeouts
N2 Timeouts
Bad Address
Unsolicited F-Bit
Invalid Ctl
Received
1561
36
38
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
Should be zero
Non-zero is OK
Should be zero
56
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -L
User
Kernel
Lower Point of Attachment
Equivalent to line number
NPI Provider
pktlvl.1
Interface to DLPI
Not useful
Unique ID for each X.25
packet level module
DLPI User
LPA MUX
INTERFACE MODULE
STATE STYLE ATT BIND IND CONN PUID
--- --- ----------- ------- ---------- ----- --- ---- --- ---- ---1 95 DLPI_IFACE packet
IDLE
501
1
01
0
03 0001
2 97 DLPI_IFACE packet
IDLE
501
2
01
0
03 0002
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Note that these are LPAs
relative to NPI Provider.
Digi Sync/570
57
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -l
User
Kernel
NPI Provider
pktpar.dfltpsize
pktpar.maxpsize
pktpar.lopvc
pktpar.hipvc
pktpar.losvc
pktpar.hisvc
pktpar.pkt_pu_id
pktpar.dfltwsize
pktpar.clrdiag
pktpar.resdiag
pktpar.rstrtdiag
pktpar.pkt_optns
pktpar.pnettype
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
=
=
=
=
=
=
=
=
=
=
=
=
=
256
256
100
100
1
16
1
2
1
1
1
0x2
0
Large enough for 240 byte
AX.25 packets
Logical channel ranges
Default window size
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
58
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -l
User
Kernel
0 = DCE
1 = DTE
Result of role negotiation
NPI Provider
pktlvl.1
pktpar.pdte
pktpar.pkstart
pktpar.pwrapflg
pktpar.T20
pktpar.R20
pktpar.T21
pktpar.T22
pktpar.R22
pktpar.T23
pktpar.R23
pktpar.phistsz
DLPI User
DLPI Provider
frmlvl.1
CDI User
=
=
=
=
=
=
=
=
=
=
=
0
12
0
18
1
20
18
1
18
1
160
Ensure not loopback
Timers and retries
in 10 sec ticks
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
59
Protocol Stacks and Dumps
X.25 Stack
Charging Facilities
Gcom_ssd
Gcom_npi -l
User
Kernel
[0]
[4]
[8]
[12]
[16]
NPI Provider
pktlvl.1
offered
selected
performed
DLPI User
= ff
= 3e
= 30
1 2c 56
0 c 70
0 0 1
0
0
0
0 2f 2f
0 7f 3f
0 0 0
0
0
0
0 1 6
0 1 2
0 f2 21
0
0
c
0
0
0
0
8
0
0 0
0 0
0 50
0
0
2
DLPI Provider
frmlvl.1
0x20 = charging info
CDI User
0x80 = currency
0x02 = segments
0x04 = duration
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
Ensure all these
are zero
For Switched Virtual Circuit setup
60
Protocol Stacks and Dumps
X.25 Stack
Flow Control Facilities
Gcom_ssd
Gcom_npi -l
User
Kernel
[0]
[4]
[8]
[12]
[16]
NPI Provider
pktlvl.1
offered
selected
performed
DLPI User
= ff
= 3e
= 10
1 2c 56
0 c 70
0 0 1
0
0
0
0 2f 2f
0 7f 3f
0 0 0
0
0
0
0 1 6 0
0 1 2 0
0 f2 21 4c
0
0
0
0
8
0
0 0
0 0
0 50
0
0
2
DLPI Provider
0x10 = Negotiate flw
ctl facils values
frmlvl.1
CDI User
0x40 = Suppress flw
ctl facils in all
call packets. Overrides
settings in [16] and [0]
CDI Provider
intsx25.1
intsx25.2
Digi Driver
0x40 = Call Accept
flw ctl facils depends
on Call Request
0x80 = Suppress flw
ctl facils in Call
Request only
For Switched Virtual Circuit setup
Digi Sync/570
61
Protocol Stacks and Dumps
X.25 Stack
Throughput Class Facilities
Gcom_ssd
Gcom_npi -l
User
Kernel
[0]
[4]
[8]
[12]
[16]
NPI Provider
pktlvl.1
offered
selected
performed
DLPI User
= ff
= 3e
= 10
1 2c 56
0 c 70
0 0 1
0
0
0
0 2f 2f
0 7f 3f
0 0 0
0
0
0
0 1 6 0
0 1 2 0
0 f2 21 4c
0
0
0
0
8
0
0 0
0 0
0 50
0
0
2
DLPI Provider
frmlvl.1
0x20 = Negotiate throughput
class facil values
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
For Switched Virtual Circuit setup
Digi Sync/570
62
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -l
User
Kernel
NPI Provider
pktpar.T28
pktpar.R28
pktpar.intr_data
pktpar.tp_class
pktpar.std_version
pktlvl.1
DLPI User
=
=
=
=
=
30
1
32
0xaa
1984
DLPI Provider
frmlvl.1
Which version of the
X.25 standard to use.
Values are 1980, 1984,
1988 or 0.
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Forces options in selected
structure. 0 means user
sets all desired options.
Throughput class values.
0xOI where O is outbound
and I is inbound.
3 = 75 b/s
4 = 150 b/s
5 = 300 b/s
6 = 600 b/s
7 = 1,200 b/s
8 = 2,400 b/s
9 = 4,800 b/s
A = 9,600 b/s
B = 19,200 b/s
C = 48,000 b/s
D = 64,000 b/s
Digi Sync/570
63
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -l
User
Kernel
NPI Provider
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
Packet Counters:
Input
Invalid
0
Call Req
0
Call Acpt
2
Clear Req
0
Clear Conf
1
Data Pkts
308
Data Bytes
72520
Intr Req
0
Intr Conf
0
RR Pkt
200
RNR Pkt
0
Reset Req
0
Reset Conf
0
Restart Req
1
Restart Conf
0
Diagnostic
0
Buffers Q'd
0
Active Calls (both in and out)
Output
2
0
1
0
309
72760
0
0
199
0
0
0
1
0
0
0
1
Packet counts by type
intsx25.2
Digi Driver
Digi Sync/570
64
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
User
Kernel
Gcom_npi -U
Minor device number
/npip(241,1) in lsof
NPI Provider
Upper Point of Attachment
pktlvl.1
DLPI User
MNR UPA LPA
--- --- --1
2
1
1
3
2
2
DLPI Provider
frmlvl.1
NPI_State
--------IDLE
DATA_XFER
DATA_XFER
Type
---*
X.25
X.25
Chan
---0
1
1
Data-out
-------0
291
291
Data-in
------0
290
291
Address
--------------*
321
321
PID
----30859
30859
30859
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
LPA = Line number
X.25 LCN
Process ID of owner
Digi Sync/570
65
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -u
User
Kernel
NPI Provider
pktlvl.1
DLPI User
stream.np_max_sdu
stream.np_min_sdu
stream.np_wr_lo_mark
stream.np_wr_hi_mark
stream.np_rd_lo_mark
stream.np_rd_hi_mark
DLPI Provider
frmlvl.1
CDI User
=
=
=
=
=
=
4096
0
15000
20000
15000
20000
Set by npip.0 section
in config file
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
66
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -u
User
Kernel
NPI Provider
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
ps_lwr_module_type
ps_dev
ps_pa_nr
ps_stateHistoryIndex
ps_state
ps_stateHistory[]
ps_event_mask
ps_on_off
ps_downstream_rr
ps_down_stream_queued
ps_down_rsys_qd
ps_down_rsys_ex_qd
ps_upstream_rr
ps_up_rsys_queued
ps_up_stream_queued
ps_up_stream_next_qd
ps_canput_next_stream
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
packet
Minor device number
2
1
3
DATA_XFER (9)
UPA number
3 6 9 -1 -1 -1 -1 -1
0x0
1
1
0
0
0
Internal flow control
1
0
“rr” should be 1
0
“queued” should be 0
0
1
Digi Driver
Digi Sync/570
67
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -u
User
Kernel
LPA number
NPI Provider
ps_lpa
ps_pu_id
ps_lvl3_ch
ps_lvl3_rsys
ps_res_addr
ps_lcl_addr
ps_user_id
ps_process_id
pktlvl.1
DLPI User
DLPI Provider
=
=
=
=
=
=
=
=
1
1
0x1
pktlvl.1 (9)
"321"
""
0
30859
PU ID number
X.25 LCN
Ring System process
frmlvl.1
CDI User
PID of owning process
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
68
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -u
User
Kernel
NPI Provider
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
counters.np_data_in
counters.np_data_out
counters.np_exdata_in
counters.np_exdata_out
counters.np_rcdata_in
counters.np_rcdata_out
counters.np_datack_in
counters.np_datack_rout
counters.np_datack_out
counters.np_bytes_in
counters.np_bytes_out
counters.np_dataq_in
counters.np_dataq_out
counters.np_resets_in
counters.np_resets_out
counters.np_err_ack_cnt
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
304
305
0
0
0
0
0
0
0
72960
73200
0
0
0
0
0
Counters maintained
by NPI driver per
connection
intsx25.2
Digi Driver
Digi Sync/570
69
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_npi -V
User
Kernel
X.25 packet level
up/down
NPI Provider
X.25 frame level
up/down
pktlvl.1
DLPI User
LPA
1
2
DLPI Provider
PU-Nr
1
2
PU-State
Up
Up
Link-State
Up
Up
Board
1
1
Port
1
2
Modem-Signals
DTR+ RTS+ DSR+ DCD- CTSDTR+ RTS+ DSR+ DCD- CTS-
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
70
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_ivp npi-summary
User
Kernel
Non-zero means
listening connection
NPI Provider
Information similar to
Gcom_npi -U
pktlvl.1
DLPI User
DLPI Provider
MNR UPA
--- --1
0
2
1
3
2
frmlvl.1
CDI User
LPA Lstns State Data-in
--- ----- ----- ------128 IDLE3
0
1
0 DATA9
260
2
0 DATA9
261
Dta-out
------0
261
261
Local-Addr
---------*
Remote-Addr
----------*
321
321
CDI Provider
intsx25.1
intsx25.2
Digi Driver
States defined in
/usr/include/gcom/npi.h
Digi Sync/570
71
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_ivp npi-summary
User
Kernel
NPI Provider
NPI Routing Table
Active X.25 calls
pktlvl.1
DLPI User
Packet level up/down
LCN 0 means SVC
DLPI Provider
LPA/PUID Calls Up/Down #routes Route-Id
-------- ----- ------- ------- -------0
1
0 1/1
1
1
2 00000065
000000C9
2/2
1
1
2 00000066
000000CA
frmlvl.1
CDI User
Cost Priority LCN Address
---- -------- ---- ------0
5
0
5
0
0
0
0
0
100
0
100
*
100
*2
200
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Address pattern for
ougoing X.25 calls
Digi Sync/570
72
Protocol Stacks and Dumps
X.25 Stack
Gcom_ssd
Gcom_ss -Uw
User
Kernel
NPI Provider
Internal SSD connection
index number
pktlvl.1
Most recent SS operation
Defined in SS API manual
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
Index:Name
0:SyncSkt
1:Probe-Conn
2:x25_out
3:x25_in
45:Probe-Conn
47:x25_in
48:SyncSkt
49:SyncSkt
50:x25_out
SS-State
Idle
Idle
Idle
ConCnfPnd
DataXfr
DataXfr
DataXfr
DataXfr
DataXfr
Type
GPI
Probe
X.25
X.25
Probe
X.25
GPI
GPI
X.25
FilDes
-1
17
-1
19
23
22
20
18
21
Operation PortId Rcv-Count Xmt-Count Partner
Data
0
0
0 None
0
0
0 None
0
0
0 ConReq
0
1
0 Data
0
2
7 Data
2
200
199 49:SyncSkt
Data
0
199
198 50:x25_out
Data
0
199
199 47:x25_in
Data
1
199
200 48:SyncSkt
intsx25.2
GPI = SyncSocket TCP connection
Digi Driver
Cloned connection
Note partner connection
Digi Sync/570
73
Protocol Stacks and Dumps
X.25 Stack
X.25 Connection
Gcom_ssd
Gcom_ss -u
User
Kernel
NPI Provider
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
Digi Driver
Digi Sync/570
name
iface.pname
iface.type
conf.conname
conf.type
conf.name
pidx
idx
fd
=
=
=
=
=
=
=
=
=
47:x25_in
X.25
4
connection.3:
X.25
x25_in
47
47
22
partner
clone_parent
= 49:SyncSkt
= 3:x25_in
listen_address
remote_address
line_number
listen
=
=
=
=
facilities
= 420808430202
npi.npi_state
= DATA_XFER
321
*
2
1
Connection name
NPI file descriptor
SyncSocket partner
Cloned from this connection
X.25 addresses
Line number
Listening type connection
Negotiated facilities
NPI state (npi.h)
74
Protocol Stacks and Dumps
X.25 Stack
SyncSocket Connection
Gcom_ssd
Gcom_ss -u
User
Kernel
NPI Provider
pktlvl.1
DLPI User
DLPI Provider
frmlvl.1
CDI User
CDI Provider
intsx25.1
intsx25.2
name
iface.pname
iface.type
conf.conname
conf.type
conf.name
pidx
idx
fd
=
=
=
=
=
=
=
=
=
49:SyncSkt
GPI
1
connection.0:
GPI
SyncSkt
49
49
18
partner
clone_parent
= 47:x25_in
= 0:SyncSkt
ss_state
= 3 DATA TRANSFER
Connection name
TCP file descriptor
X.25 partner
Cloned from this connection
SyncSocket state
Digi Driver
Digi Sync/570
75
Protocol Stacks and Dumps
End of Presentation
7/7/2015