Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/documentation/wrong-nsp-version.mem
There are no other files named wrong-nsp-version.mem in the archive.
[SYMPTOM]
DECnet-20 Version 2.0 MCB reports incorrect
NSP version number to phase III nodes when Connect
Initiate messages are sent from a task resident in
the MCB. Actually, sending the wrong version
number should cause no problems, since no task in
the MCB ever needs to connect to a task in a phase
III node.
[DIAGNOSIS]
The NSP version 3.1 specification describes
bits 0 and 1 in the INFO byte of the connect
initiate message to be the link priority. On
transmission, this subfield is supposed to be 1.
The NSP version 3.2 specification interprets this
subfield as an NSP version number where a 1 means
NSP 3.1 and a zero means NSP 3.2. The NSP code in
the MCB never bothered to set the priority
subfield to 1. As a result, NSP version 3.2
implementations think that the MCB is a phase III
node, when it is actually a phase II node.
[CURE]
In NETACP, when the SERVICES and INFO fields
are constructed, add the priority subfield. Apply
the following patch to the MCB system image with
FILDDT. An example is provided following the
patch.
At CHKFLG in NSPSBA in NETACP replace
12703 001 MOV CL$TYP,R3 ; ASSUME NO FLOW CONTROL.
with
12703 401 MOV CL$TYP+400,R3 ; NO FLOW CONTROL, PRI=1
Page 2
[EXAMPLE]
This is done as follows. First compute the absolute
address in your system that corresponds to CHKFLG in NSPSBA
in NETACP. You do this by adding 160 (the address of CHKFLG
relative to the beginning of NSPSBA) to the virtual address
of NSPSBA in NETACP (found in NETACP.MAP). This is the
virtual address of CHKFLG. Now subtract 120000 from this
and then add to the result the base address of NETACP in
physical memory (found by looking at the output from VNP20
or using the /RSX:PART switch to MCBDA). Now use FILDDT to
insert the patch at the address you calculated. Remember to
add 2000 bytes for the task header in the system image and
divide by 4 since FILDDT counts in 36 bit words, not 8 bit
bytes.
@TYPE NETACP.MAP
PSECT Storage Map
Name Loc Length /Start Length File Module Ident
120162 004560
120162 000546 NSDSP NSDSP V01.01
120730 001116 NSNET NSNET V01.07
122046 000404 NSCON NSCON V01.01
122452 000050 NSDIS NSDIS V01.00
122522 000640 NSRCV NSRCV V01.00
123362 000160 NSSUB NSSUB V01.02
123542 000210 NSOBJ NSOBJ V01.03
123752 000362 NSMOU NSMOU V01.00
124334 000015 NSDAT NSDAT V01.00
124352 000024 SAVRG SAVRG X03
124376 000172 SYSLIB.OLB CAT5 02
124570 000110 SYSLIB.OLB C5TA 02
124700 000042 SYSLIB.OLB SAVAL 00
NSPLNA 124742 001202
124742 001202 NSPLNA NSPLNA V01.10
NSPRCA 126144 001220
126144 001220 NSPRCA NSPRCA X01.03
NSPSBA 127364 003034
127364 003034 NSPSBA NSPSBA V01.10
NSPXMA 132420 001064
132420 001064 NSPXMA NSPXMA V01.04
....
$MCBDA
MCBDA - MCB CRASH DUMP ANALYZER V2-12 14-JUL-81 16:04 PAGE 1
ANALYSIS OF "NET:<DN200>DIABLO.SYS.11" CREATED 6-Aug-80 08:37:26
PARTITION INFORMATION
M E M O R Y M A P
Page 3
PARTITION MEMORY ALLOCATED SIZE TYPE OCCUPIED BY
--------- ----------------- ---- ---- -----------
<EXEC> 00000000 00026134 00026134
<POOL> 00026134 00050000 00021644
CEXPAR 00050000 00055600 00005600 MAIN COMMON CEXPAR
TASK 00055600 00102000 00024200 MAIN TASK
NTINIT 00055600 00060500 00002700 SUB TASK NTINIT
NETACP 00060500 00102000 00021300 SUB TASK NETACP
GEN 00102000 00374000 00272000 MAIN SYS
00102000 00125500 00023500 SUB DYNAMIC POOL..
00125500 00130400 00002700 SUB DYNAMIC NT.DMC
00130400 00142300 00011700 SUB DYNAMIC NT.LE
00142300 00152500 00010200 SUB DYNAMIC NT.CR
00152500 00153000 00000300 SUB DYNAMIC NT.AUX
00153000 00166700 00013700 SUB DYNAMIC NT.NSP
00166700 00201500 00012600 SUB DYNAMIC NT.DLX
00201500 00204600 00003100 SUB DYNAMIC NT.NRD
00204600 00215500 00010700 SUB DYNAMIC NT.NRM
00215500 00224000 00006300 SUB DYNAMIC NT.DTR
NICE 00224000 00230100 00004100 SUB TASK NICE..
POSI 00230100 00257600 00027500 SUB TASK POSI..
00257600 00262400 00002600 SUB DRIVER TT:
!
! 127364 + 160 - 120000 + 60500 = 70244
!
$FILDDT
FILDDT>ENABLE DATA-FILE
FILDDT>ENABLE PATCHING
FILDDT>GET (FILE) DIABLO.SYS
[Looking at file DIABLO.SYS.1]
70244+2000=72244
72244'4=16451
16451/ 12703,,1 12703,,401
Z
$