Google
 

Trailing-Edge - PDP-10 Archives - BB-R595B-SM_11-9-85 - mcb/xpt/xptnmi.lst
There is 1 other file named xptnmi.lst in the archive. Click here to see a list.
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page   1
								23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (1)

;	  0001	module XPTNMI   (				! Network Management stuff
;	  0002			ident = 'X01090'
;	  0003			) =
;	  0004	begin
;	  0005	!
;	  0006	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0007	!                    DIGITAL EQUIPMENT CORPORATION
;	  0008	!                        Maynard, Massachusetts
;	  0009	!
;	  0010	!     This software is furnished under a license and may  be  used
;	  0011	!     and copied only in accordance with the terms of such license
;	  0012	!     and with the inclusion of the above copyright notice.   This
;	  0013	!     software  or any other copies thereof may not be provided or
;	  0014	!     otherwise made available to any other person.  No  title  to
;	  0015	!     and ownership of the software is hereby transferred.
;	  0016	!
;	  0017	!     The information  in  this  software  is  subject  to  change
;	  0018	!     without  notice  and should not be construed as a commitment
;	  0019	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0020	!
;	  0021	!     DIGITAL assumes no responsibility for the use or reliability
;	  0022	!     of  its  software  on  equipment  which  is  not supplied by
;	  0023	!     DIGITAL.
;	  0024	!
;	  0025	
;	  0026	!++
;	  0027	! FACILITY:	Transport
;	  0028	!
;	  0029	! ABSTRACT:	This is the Network Management interface for the MCB
;	  0030	!		implementation of Transport.  It dispatches to a processing
;	  0031	!		routine in XPTNMX.
;	  0032	!
;	  0033	! ENVIRONMENT:	MCB
;	  0034	!
;	  0035	! AUTHOR:	L. Webber,	CREATION DATE: 20-Nov-80
;	  0036	!
;	  0037	! MODIFIED BY:
;	  0038	!
;	  0039	! 1.00	L. Webber, 11-Dec-80
;	  0040	!	Modified the model interface template to match XPT.
;	  0041	!
;	  0042	! 1.01	L. Webber, 22-Dec-80
;	  0043	!	Split into XPT and TLI parts
;	  0044	!
;	  0045	! 1.02	L. Webber, 25-Feb-81
;	  0046	!	NMX entries are now in process XNM.
;	  0047	!
;	  0048	! 1.03	L. Webber, 14-Sep-81
;	  0049	!	Fix "zero" call to actually do a zero.
;	  0050	!
;	  0051	! 1.04	A. Peckham 21-Sep-81
;	  0052	!	Save some space.
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page   2
X01090								23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (1)

;	  0053	!
;	  0054	! 1.05	A. Peckham 16-Sep-82
;	  0055	!	Add MAXIMUM ADDRESS parameter support for non-EXECUTOR node.
;	  0056	!
;	  0057	! 1.06	A. Peckham 27-Sep-82
;	  0058	!	Make parameter #2500 as FENCE with compatability to MAXIMUM ADDRESS.
;	  0059	!
;	  0060	! 1.07	A. Peckham  1-Oct-82
;	  0061	!	Make CLEAR NODE ALL work in CLEAR_NODE.
;	  0062	!
;	  0063	! 1.08	A. Peckham 11-Oct-82
;	  0064	!	Fix ref bug introduced into NODE_COUNTERS during code optimization.
;	  0065	!
;	  0066	! 1.09	D. Brannon 22-Sep-83
;	  0067	!	Fix typo in PKTA_HDR which caused the source node address to be wrong.
;	  0068	!
;	  0069	!--
;	  0070	
;	  0071	!
;	  0072	! REQUIRED FILES
;	  0073	!
;	  0074	
;	  0075	require 'XPTMAC';
;	  0173	
;	  0174	!
;	  0175	! TABLE OF CONTENTS:
;	  0176	!
;	L 0177	%if %bliss (bliss16)
;	  0178	%then linkage XPT_LKG_DB_CCB = jsr (register = 3, register = 4),
;	  0179	              XPT_LKG_NODEb = jsr (register = 2);
;	U 0180	%else macro XPT_LKG_DB_CCB = BLISS36C %;
;	  0181	%fi
;	  0182	
;	  0183	forward routine
;	  0184	    XPE_NM: CALL$ novalue,              ! Control (i.e., NM)
;	  0185	    PKTA_HDR: CALL$ novalue,
;	  0186	    NODE_DB: LINKAGE_CCB,
;	  0187	    CLEAR_NODE: XPT_LKG_DB_CCB novalue, ! Clear a node parameter
;	  0188	    NODE_COUNTERS: novalue,             ! Get node counters
;	  0189	    RETURN_NODE_LIST: XPT_LKG_DB_CCB novalue,
;	  0190	                                        ! Return list of known nodes
;	  0191	    SET_NODE: XPT_LKG_DB_CCB novalue,   ! Set a node parameter
;	  0192	    SHOW_AND_ZERO_NODE_COUNTERS: XPT_LKG_DB_CCB novalue,
;	  0193	                                        ! Show and zero node counters
;	  0194	    SHOW_NODE: XPT_LKG_DB_CCB novalue,  ! Show node parameters
;	  0195	    SHOW_NODE_CIRCUIT : XPT_LKG_NODEb novalue,
;	  0196	    SHOW_NODE_STATE : XPT_LKG_NODEb novalue,
;	  0197	    ZERO_NODE_COUNTERS: XPT_LKG_DB_CCB novalue; ! Zero node counters
;	  0198	
;	  0199	!
;	  0200	! MACROS:
;	  0201	!
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page   3
X01090								23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (1)

;	  0202	
;	  0203	!
;	  0204	! EQUATED SYMBOLS:
;	  0205	!
;	  0206	
;	  0207	literal
;	  0208	    NODEtype = NMX$ENT_nod,
;	  0209	    CIRCUITtype = NMX$ENT_ckt;
;	  0210	
;	  0211	!
;	  0212	! OWN STORAGE:
;	  0213	!
;	  0214	
;	  0215	!
;	  0216	! EXTERNAL REFERENCES:
;	  0217	!
;	  0218	!       None
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page   4
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (2)

;	  0219	%sbttl 'Network Management'
;	  0220	global routine XPE_NM (CCB): CALL$ novalue =
;	  0221	
;	  0222	!++
;	  0223	! FUNCTIONAL DESCRIPTION:
;	  0224	!	This routine is activated by a control request from
;	  0225	!	Network Management.
;	  0226	!
;	  0227	! FORMAL PARAMETERS:
;	  0228	!
;	  0229	!	CCB	CCB to pass to handler routine
;	  0230	!
;	  0231	! IMPLICIT INPUTS:
;	  0232	!	CCB Contents
;	  0233	!
;	  0234	! IMPLICIT OUTPUTS:
;	  0235	!	None
;	  0236	!
;	  0237	! ROUTINE VALUE:
;	  0238	! COMPLETION CODES:
;	  0239	!	None
;	  0240	!
;	  0241	! SIDE EFFECTS:
;	  0242	!	None
;	  0243	!--
;	  0244	
;	  0245	    begin
;	  0246	    external MCB$GAW_PROCESS_DATA_BASE: vector[2];
;	  0247	    bind XPTDB = .MCB$GAW_PROCESS_DATA_BASE[1]: XPTDBblock;
;	  0248	    map CCB: ref block field (C_NM_FIELDS);
;	  0249	    require 'XPTSYM';
;	  0286	
;	  0287	    selectone .CCB [C_NM_ENTITY] of
;	  0288		    set
;	  0289		    [NMX$ENT_nod]: 			! NM fnc for node parameter
;	  0290			case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
;	  0291			    set 			! *** MODULE ***
;	  0292			    [NMX$FNC_set]:		! Set parameters
;	  0293				SET_NODE(XPTDB,.CCB);
;	  0294			    [NMX$FNC_clr]: 		! Clear parameters:
;	  0295				CLEAR_NODE(XPTDB,.CCB);
;	  0296			    [NMX$FNC_zro]: 		! Zero counters
;	  0297				ZERO_NODE_COUNTERS(XPTDB,.CCB);
;	  0298			    [NMX$FNC_sho]: 		! Show selected items
;	  0299				SHOW_NODE(XPTDB,.CCB);
;	  0300			    [NMX$FNC_szc]: 		! Show and zero counters
;	  0301				SHOW_AND_ZERO_NODE_COUNTERS(XPTDB,.CCB);
;	  0302			    [NMX$FNC_ret]: 		! Return selected items
;	  0303				RETURN_NODE_LIST(XPTDB,.CCB);
;	  0304			    [inrange, outrange]: CCB [C_STS] = $NM$ERR_MPE;
;	  0305			    tes;
;	  0306		    [otherwise]: CCB [C_STS] = $NM$ERR_URC;
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page   5
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (2)

;	  0307		    tes;
;	  0308	
;	  0309	    CCB [C_FNC] = FC_CCP;
;	  0310	    $MCB_SCHEDULE_CCB (.CCB);
;	  0311	    end;


						.TITLE	XPTNMI
						.IDENT	/X01090/

						.GLOBL	.CRDAT, $SCHED


						.SBTTL	XPE.NM Network Management
000000						.PSECT	$CODE$,  RO 

000000	016703  000002G			XPE.NM::
					U.1:	MOV	.CRDAT+2,R3			;					0245
000004	016504  000002 				MOV	2(R5),R4			; CCB(.AP.),*				0287
000010	016400  000024 				MOV	24(R4),R0
000014	072027  177770 				ASH	#-10,R0
000020	042700  177760 				BIC	#177760,R0
000024	020027  000001 				CMP	R0,#1
000030	001042 					BNE	8$
000032	116400  000024 				MOVB	24(R4),R0			;					0290
000036	006200 					ASR	R0
000040	042700  177600 				BIC	#177600,R0
000044	005300 					DEC	R0
000046	020027  000005 				CMP	R0,#5
000052	101003 					BHI	1$
000054	006300 					ASL	R0
000056	066007  000000'				ADD	P.AAA(R0),PC			; Case dispatch
000062	012764  177773  000014 		1$:	MOV	#-5,14(R4)			;					0304
000070	000425 					BR	9$				;					0290
000072	004767  000000V			2$:	JSR	PC,U.7				;					0293
000076	000422 					BR	9$				;					0290
000100	004767  000000V			3$:	JSR	PC,U.4				;					0295
000104	000417 					BR	9$				;					0290
000106	004767  000000V			4$:	JSR	PC,U.12				;					0297
000112	000414 					BR	9$				;					0290
000114	004767  000000V			5$:	JSR	PC,U.9				;					0299
000120	000411 					BR	9$				;					0290
000122	004767  000000V			6$:	JSR	PC,U.8				;					0301
000126	000406 					BR	9$				;					0290
000130	004767  000000V			7$:	JSR	PC,U.6				;					0303
000134	000403 					BR	9$				;					0287
000136	012764  177770  000014 		8$:	MOV	#-10,14(R4)			;					0306
000144	112764  000022  000012 		9$:	MOVB	#22,12(R4)			;					0309
000152	004767  000000G				JSR	PC,$SCHED			;					0310
000156	000207 					RTS	PC				;					0220

; Routine Size:  56 words,	Routine Base:  $CODE$ + 0000
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page   6
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (2)

; Maximum stack depth per invocation:  1 word


000000						.PSECT	$PLIT$,  RO ,  D  

					P.AAA:						; CASE Table for XPE.NM+0056		0290
000000	000010 					.WORD	10				; [2$]
000002	000016 					.WORD	16				; [3$]
000004	000024 					.WORD	24				; [4$]
000006	000032 					.WORD	32				; [5$]
000010	000040 					.WORD	40				; [6$]
000012	000046 					.WORD	46				; [7$]
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page   7
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (3)

;	  0312	global routine PKTA_HDR (SPTR): CALL$ novalue =
;	  0313	
;	  0314	!++
;	  0315	! FUNCTIONAL DESCRIPTION:
;	  0316	!
;	  0317	! Constructs a "packet header" parameter block in the event logging
;	  0318	! area.  It is assumed that the destination and source areas are both
;	  0319	! mapped.
;	  0320	!
;	  0321	! FORMAL PARAMETERS
;	  0322	!
;	  0323	!	SPTR	A pointer to an area which contains a packet (routing)
;	  0324	!		header.
;	  0325	!
;	  0326	! IMPLICIT INPUTS
;	  0327	!
;	  0328	!	NONE.
;	  0329	!
;	  0330	! ROUTINE VALUE:
;	  0331	! COMPLETION CODES:
;	  0332	!
;	  0333	!	NONE.
;	  0334	!
;	  0335	! SIDE EFFECTS:
;	  0336	!
;	  0337	!	NONE.
;	  0338	!
;	  0339	!--
;	  0340	
;	  0341	begin
;	  0342	
;	  0343	local F,T;
;	  0344	pointer S;
;	  0345	S = .SPTR;
;	  0346	
;	  0347	T = (if biton((F=getb(S)),1)	! Message type
;	  0348	    then 2			!   is control
;	  0349	    else 4);			!   or data
;	  0350	PARAMETER_CM(0,.T);		! Multiple fields, 2 or 4 of them
;	  0351	PARAMETER_H_1(,F);		! Hex field, 1 byte: routing flags
;	  0352	if .T eql 4 then begin		! Data header only:
;	  0353	    F = getw(S);		!   Decimal unsigned, 2 bytes:
;	  0354	    PARAMETER_DU_2(,F);		!     destination node address
;	  0355	    end;
;	  0356	F = getw(S);			! Decimal unsigned, 2 bytes:
;	  0357	PARAMETER_DU_2(,F);		!   source node address
;	  0358	if .T eql 4 then begin		! Data header only:
;	  0359	    F = getb(S);		!   Hex field, 1 byte:
;	  0360	    PARAMETER_DU_2(,F);		!     forwarding flags
;	  0361	    end;
;	  0362	
;	  0363	end;				!End of PKTA_HDR
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page   8
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (3)



						.GLOBL	$DPCM, $TPH1, $TPDU2


						.SBTTL	PKTA.HDR Network Management
000160						.PSECT	$CODE$,  RO 

000000	005746 				PKTA.HDR::
					U.2:	TST	-(SP)				;					0312
000002	016505  000002 				MOV	2(R5),R5			; SPTR(.AP.),S				0345
000006	005002 					CLR	R2				; F					0347
000010	152502 					BISB	(R5)+,R2			; S,F
000012	032702  000001 				BIT	#1,R2				; *,F
000016	001403 					BEQ	1$
000020	012701  000002 				MOV	#2,R1				; *,T
000024	000402 					BR	2$
000026	012701  000004 			1$:	MOV	#4,R1				; *,T
000032	005046 				2$:	CLR	-(SP)				;					0350
000034	010100 					MOV	R1,R0				; T,*
000036	004767  000000G				JSR	PC,$DPCM
000042	110200 					MOVB	R2,R0				; F,*					0351
000044	004767  000000G				JSR	PC,$TPH1
000050	005003 					CLR	R3				;					0352
000052	020127  000004 				CMP	R1,#4				; T,*
000056	001012 					BNE	3$
000060	005203 					INC	R3
000062	112566  000002 				MOVB	(R5)+,2(SP)			; S,X					0353
000066	112566  000003 				MOVB	(R5)+,3(SP)			; S,X
000072	016602  000002 				MOV	2(SP),R2			; X,F
000076	010200 					MOV	R2,R0				; F,*					0354
000100	004767  000000G				JSR	PC,$TPDU2
000104	112566  000002 			3$:	MOVB	(R5)+,2(SP)			; S,X					0356
000110	112566  000003 				MOVB	(R5)+,3(SP)			; S,X
000114	016602  000002 				MOV	2(SP),R2			; X,F
000120	010200 					MOV	R2,R0				; F,*					0357
000122	004767  000000G				JSR	PC,$TPDU2
000126	006003 					ROR	R3				;					0358
000130	103005 					BCC	4$
000132	005002 					CLR	R2				; F					0359
000134	152502 					BISB	(R5)+,R2			; S,F
000136	010200 					MOV	R2,R0				; F,*					0360
000140	004767  000000G				JSR	PC,$TPDU2
000144	022626 				4$:	CMP	(SP)+,(SP)+			;					0312
000146	000207 					RTS	PC

; Routine Size:  52 words,	Routine Base:  $CODE$ + 0160
; Maximum stack depth per invocation:  3 words
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page   9
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (4)

;	  0364	routine NODE_DB (CCB): LINKAGE_CCB =
;	  0365	
;	  0366	!++
;	  0367	! FUNCTIONAL DESCRIPTION:
;	  0368	!	This routine gets the node data base
;	  0369	!
;	  0370	! FORMAL PARAMETERS:
;	  0371	!
;	  0372	!	CCB	CCB to pass to handler routine
;	  0373	!
;	  0374	! IMPLICIT INPUTS:
;	  0375	!	CCB Contents
;	  0376	!
;	  0377	! IMPLICIT OUTPUTS:
;	  0378	!	None
;	  0379	!
;	  0380	! ROUTINE VALUE:
;	  0381	! COMPLETION CODES:
;	  0382	!	None
;	  0383	!
;	  0384	! SIDE EFFECTS:
;	  0385	!	None
;	  0386	!--
;	  0387	
;	  0388	    begin
;	  0389	    map CCB: ref block field(C_NM_FIELDS);
;	  0390	    bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS);
;	  0391	    local NODEb;
;	  0392	    require 'XPTSYM';
;	  0429	
;	  0430	    !
;	  0431	    ! Determine the entity whose parameter is to be set
;	  0432	    !
;	  0433	
;	P 0434	    if (NODEb = $XPT_GET_NODE_DB(
;	P 0435	              begin
;	P 0436	              local ADDR;
;	P 0437	              if (ADDR = .NMPAR[NMX_NMPAR_NODE_ADDRESS]) eql 0
;	P 0438	              then return .ADDR;
;	P 0439	              .ADDR
;	  0440	              end)) eqla 0
;	  0441	    then CCB [C_STS] = $NM$ERR_URC;
;	  0442	
;	  0443	    .NODEb
;	  0444	    end;                                ! of NODE_DB


						.GLOBL	GTNODE


						.SBTTL	NODE.DB Network Management
000000	016400  000026 			; NODE.DB
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  10
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (4)

					U.3:	MOV	26(R4),R0			; *(CCB),*				0440
000004	016000  000004 				MOV	4(R0),R0			; *,ADDR
000010	001407 					BEQ	1$
000012	004767  000000G				JSR	PC,GTNODE
000016	005700 					TST	R0				; NODEB
000020	001003 					BNE	1$
000022	012764  177770  000014 			MOV	#-10,14(R4)			; *,*(CCB)				0441
000030	000207 				1$:	RTS	PC				;					0364

; Routine Size:  13 words,	Routine Base:  $CODE$ + 0330
; Maximum stack depth per invocation:  1 word
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  11
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (5)

;	  0445	routine CLEAR_NODE (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
;	  0446	
;	  0447	!++
;	  0448	! FUNCTIONAL DESCRIPTION:
;	  0449	!	This routine clears a circuit parameter
;	  0450	!
;	  0451	! FORMAL PARAMETERS:
;	  0452	!
;	  0453	!	CCB	CCB to pass to handler routine
;	  0454	!
;	  0455	! IMPLICIT INPUTS:
;	  0456	!	CCB Contents
;	  0457	!
;	  0458	! IMPLICIT OUTPUTS:
;	  0459	!	None
;	  0460	!
;	  0461	! ROUTINE VALUE:
;	  0462	! COMPLETION CODES:
;	  0463	!	None
;	  0464	!
;	  0465	! SIDE EFFECTS:
;	  0466	!	None
;	  0467	!--
;	  0468	
;	  0469	    begin
;	  0470	    map CCB: ref block field(C_NM_FIELDS);
;	  0471	    bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS),
;	  0472	         NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
;	  0473	    local NODEb;
;	  0474	    require 'XPTSYM';
;	  0511	    local PNUM;
;	  0512	
;	  0513	    !
;	  0514	    ! Determine the entity whose parameter is to be set
;	  0515	    !
;	  0516	
;	  0517	    if (NODEb = NODE_DB(.CCB)) eqla 0
;	  0518	    then return;                        ! Invalid node address
;	  0519	
;	  0520	    PNUM = 2500;
;	  0521	
;	  0522	    if .CCB[C_CNT] neq 0
;	  0523	    then begin
;	  0524	         pointer PTR;
;	  0525	         MAPBUF(.CCB,PTR);
;	  0526	         PNUM = getw(PTR);
;	  0527	         end;
;	  0528	
;	  0529	    selectone .PNUM of                 ! Dispatch on parm #
;	  0530	        set
;	  0531	        [2500]:                        ! FENCE
;	  0532	            begin
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  12
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (5)

;	  0533	            local MXA: ref vector;
;	  0534	            if (MXA = .NODEmaximum_address_vector) neqa 0
;	  0535	            then begin
;	  0536	                 MXA [.NODEaddress - 1] = 0;
;	  0537	                 CCB [C_STS] = NM$SUC;
;	  0538	                 end;
;	  0539	            end;
;	  0540	        [otherwise]:                    ! Parameter not applicable
;	  0541	            CCB [C_STS] = $NM$ERR_PNA;
;	  0542	        tes;
;	  0543	    end;                                ! of CLEAR_NODE


						.GLOBL	KISAR6


						.SBTTL	CLEAR.NODE Network Management
000000	004167  000000G			; CLEAR.NODE
					U.4:	JSR	R1,$SAVE2			;					0445
000004	005746 					TST	-(SP)
000006	004767  177734 				JSR	PC,U.3				;					0517
000012	005700 					TST	R0				; NODEB
000014	001441 					BEQ	3$				;					0518
000016	012702  004704 				MOV	#4704,R2			; *,PNUM				0520
000022	005764  000022 				TST	22(R4)				; *(CCB)				0522
000026	001411 					BEQ	1$
000030	016467  000016  000000G			MOV	16(R4),KISAR6			; *(CCB),*				0525
000036	016401  000020 				MOV	20(R4),R1			; *(CCB),PTR
000042	112116 					MOVB	(R1)+,(SP)			; PTR,X					0526
000044	112166  000001 				MOVB	(R1)+,1(SP)			; PTR,X
000050	011602 					MOV	(SP),R2				; X,PNUM
000052	020227  004704 			1$:	CMP	R2,#4704			; PNUM,*				0529
000056	001015 					BNE	2$
000060	016301  000024 				MOV	24(R3),R1			; *(XPTDB),MXA				0534
000064	001415 					BEQ	3$
000066	016000  000002 				MOV	2(R0),R0			; *(NODEB),*				0536
000072	006300 					ASL	R0
000074	060100 					ADD	R1,R0				; MXA,*
000076	005060  177776 				CLR	-2(R0)
000102	012764  000001  000014 			MOV	#1,14(R4)			; *,*(CCB)				0537
000110	000403 					BR	3$				;					0529
000112	012764  177752  000014 		2$:	MOV	#-26,14(R4)			; *,*(CCB)				0541
000120	005726 				3$:	TST	(SP)+				;					0445
000122	000207 					RTS	PC

; Routine Size:  42 words,	Routine Base:  $CODE$ + 0362
; Maximum stack depth per invocation:  5 words
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  13
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (6)

;	  0544	routine NODE_COUNTERS (NODEb): novalue =
;	  0545	
;	  0546	!++
;	  0547	! FUNCTIONAL DESCRIPTION:
;	  0548	!	This routine inserts the counters for the specified node
;	  0549	!       in the NM buffer.
;	  0550	!
;	  0551	! FORMAL PARAMETERS:
;	  0552	!
;	  0553	!	NODEb	Node data base pointer
;	  0554	!
;	  0555	! IMPLICIT INPUTS:
;	  0556	!	None
;	  0557	!
;	  0558	! IMPLICIT OUTPUTS:
;	  0559	!	None
;	  0560	!
;	  0561	! ROUTINE VALUE:
;	  0562	! COMPLETION CODES:
;	  0563	!	None
;	  0564	!
;	  0565	! SIDE EFFECTS:
;	  0566	!	None
;	  0567	!--
;	  0568	
;	  0569	    begin
;	  0570	    map NODEb: ref NODEblock;
;	  0571	    external MCB$GAW_PROCESS_DATA_BASE: vector[2];
;	  0572	    bind XPTDB = .MCB$GAW_PROCESS_DATA_BASE[1]: XPTDBblock;
;	  0573	    COUNTER_8(900,Aged_Loss);           ! Local Aged Packet Loss
;	  0574	    COUNTER_16(901,Unreach_Loss);	! Local Node Unreachable Packet Loss
;	  0575	    COUNTER_8(902,Range_Loss);          ! Local Node Out-of-Range Packet Loss
;	  0576	    COUNTER_8(903,Oversize_Loss);	! Local Node Over Size Packet Loss
;	  0577	    COUNTER_8(910,Format_Errors);	! Packet Format Errors
;	  0578	    COUNTER_8(920,Routing_Loss);	! Partial Routing Update Loss
;	  0579	    COUNTER_8(930,Verify_Rejects);	! Verification Rejects
;	  0580	    end;                                ! of NODE_COUNTERS


						.GLOBL	$DC8, $DC16


						.SBTTL	NODE.COUNTERS Network Management
000000	010146 				; NODE.COUNTERS
					U.5:	MOV	R1,-(SP)			;					0544
000002	016701  000002G				MOV	.CRDAT+2,R1			;					0569
000006	012746  121604 				MOV	#-56174,-(SP)			;					0573
000012	116100  000130 				MOVB	130(R1),R0
000016	004767  000000G				JSR	PC,$DC8
000022	012716  141605 				MOV	#-36173,(SP)			;					0574
000026	016100  000136 				MOV	136(R1),R0
000032	004767  000000G				JSR	PC,$DC16
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  14
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (6)

000036	012716  121606 				MOV	#-56172,(SP)			;					0575
000042	116100  000131 				MOVB	131(R1),R0
000046	004767  000000G				JSR	PC,$DC8
000052	012716  121607 				MOV	#-56171,(SP)			;					0576
000056	116100  000132 				MOVB	132(R1),R0
000062	004767  000000G				JSR	PC,$DC8
000066	012716  121616 				MOV	#-56162,(SP)			;					0577
000072	116100  000133 				MOVB	133(R1),R0
000076	004767  000000G				JSR	PC,$DC8
000102	012716  121630 				MOV	#-56150,(SP)			;					0578
000106	116100  000134 				MOVB	134(R1),R0
000112	004767  000000G				JSR	PC,$DC8
000116	012716  121642 				MOV	#-56136,(SP)			;					0579
000122	116100  000135 				MOVB	135(R1),R0
000126	004767  000000G				JSR	PC,$DC8
000132	005726 					TST	(SP)+				;					0569
000134	012601 					MOV	(SP)+,R1			;					0544
000136	000207 					RTS	PC

; Routine Size:  48 words,	Routine Base:  $CODE$ + 0506
; Maximum stack depth per invocation:  3 words
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  15
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (7)

;	  0581	routine RETURN_NODE_LIST (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
;	  0582	
;	  0583	!++
;	  0584	! FUNCTIONAL DESCRIPTION:
;	  0585	!
;	  0586	! Returns a list of all reachable nodes in the network.
;	  0587	!
;	  0588	! FORMAL PARAMETERS
;	  0589	!
;	  0590	!	CCB	Function CCB
;	  0591	!		CCB[C_BUF]	Doubleword pointer to parameter block
;	  0592	!				in which the list of node IDs requested
;	  0593	!				is returned.
;	  0594	!		CCB[C_CNT]	Maximum length of buffer; on return contains
;	  0595	!				the length of returned data.
;	  0596	!
;	  0597	! IMPLICIT INPUTS
;	  0598	!
;	  0599	!	NONE.
;	  0600	!
;	  0601	! ROUTINE VALUE: "Success" or a failure code
;	  0602	! COMPLETION CODES:
;	  0603	!
;	  0604	!	NM$SUC		Success; the node IDs of all active nodes are
;	  0605	!			returned in the supplied buffer.
;	  0606	!
;	  0607	!	$NM$ERR_REE	The full list of node IDs will not fit into the
;	  0608	!			supplied buffer.  All possible data are returned;
;	  0609	!			CCB[C_CNT] is valid.
;	  0610	!
;	  0611	! SIDE EFFECTS:
;	  0612	!
;	  0613	!	NONE.
;	  0614	!
;	  0615	!--
;	  0616	
;	  0617	begin
;	  0618	map CCB: ref block field(C_NM_FIELDS);
;	  0619	local BUFLEN;
;	  0620	pointer PTR;
;	  0621	require 'XPTSYM';
;	  0658	
;	  0659	MAPBUF(.CCB,PTR,BUFLEN);		! Map in buffer
;	  0660	CCB [C_CNT] = 0;
;	  0661	
;	  0662	!
;	  0663	!  Check each node number for inclusion
;	  0664	!
;	  0665	
;	  0666	$XPT_for_each_NODEb_do_begin
;	  0667	    if .Reach                           ! Reachable node:
;	  0668	    then if (BUFLEN = .BUFLEN - 3) geq 0 !   Data will fit
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  16
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (7)

;	  0669	         then begin                     !   Move in node number
;	  0670	              putb(.(NODEaddress)<0,8>,PTR);
;	  0671	              putb(.(NODEaddress)<8,8>,PTR);
;	  0672	              putb(0,PTR);               !     and a null node name
;	  0673	              CCB [C_CNT] = .CCB [C_CNT] + 3;
;	  0674	              end;
;	  0675	$XPT_next_NODEb_end;
;	  0676	
;	  0677	!
;	  0678	! Set status if all fits
;	  0679	!
;	  0680	
;	  0681	CCB [C_STS] = $NM$ERR_REE;
;	  0682	
;	  0683	if .BUFLEN geq 0 then CCB [C_STS] = NM$SUC;
;	  0684	
;	  0685	end;				!End of RETURN_NODE_LIST


						.SBTTL	RETURN.NODE.LIST Network Management
000000	004167  000000G			; RETURN.NODE.LIST
					U.6:	JSR	R1,$SAVE5			;					0581
000004	016467  000016  000000G			MOV	16(R4),KISAR6			; *(CCB),*				0659
000012	016400  000020 				MOV	20(R4),R0			; *(CCB),PTR
000016	012701  000022 				MOV	#22,R1
000022	060401 					ADD	R4,R1				; CCB,*
000024	011105 					MOV	(R1),R5				; *,BUFLEN
000026	005011 					CLR	(R1)				;					0660
000030	016302  000012 				MOV	12(R3),R2			; *(XPTDB),NODEB
000034	016303  000016 				MOV	16(R3),R3			; *(XPTDB),$XPT$NODEB.CNT
000040	001417 					BEQ	3$
000042	005712 				1$:	TST	(R2)				; NODEB					0667
000044	100012 					BPL	2$
000046	162705  000003 				SUB	#3,R5				; *,BUFLEN				0668
000052	100407 					BMI	2$
000054	116220  000002 				MOVB	2(R2),(R0)+			; *(NODEB),PTR				0670
000060	116220  000003 				MOVB	3(R2),(R0)+			; *(NODEB),PTR				0671
000064	105020 					CLRB	(R0)+				; PTR					0672
000066	062711  000003 				ADD	#3,(R1)				;					0673
000072	062702  000010 			2$:	ADD	#10,R2				; *,NODEB				0674
000076	077317 					SOB	R3,1$				; $XPT$NODEB.CNT,*			0000
000100	012764  177761  000014 		3$:	MOV	#-17,14(R4)			; *,*(CCB)				0681
000106	005705 					TST	R5				; BUFLEN				0683
000110	002403 					BLT	4$
000112	012764  000001  000014 			MOV	#1,14(R4)			; *,*(CCB)
000120	000207 				4$:	RTS	PC				;					0581

; Routine Size:  41 words,	Routine Base:  $CODE$ + 0646
; Maximum stack depth per invocation:  7 words
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  17
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)

;	  0686	routine SET_NODE (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
;	  0687	
;	  0688	!++
;	  0689	! FUNCTIONAL DESCRIPTION:
;	  0690	!	This routine sets a node parameter
;	  0691	!
;	  0692	! FORMAL PARAMETERS:
;	  0693	!
;	  0694	!	CCB	CCB to pass to handler routine
;	  0695	!
;	  0696	! IMPLICIT INPUTS:
;	  0697	!	CCB Contents
;	  0698	!
;	  0699	! IMPLICIT OUTPUTS:
;	  0700	!	None
;	  0701	!
;	  0702	! ROUTINE VALUE:
;	  0703	! COMPLETION CODES:
;	  0704	!	None
;	  0705	!
;	  0706	! SIDE EFFECTS:
;	  0707	!	None
;	  0708	!--
;	  0709	
;	  0710	    begin
;	  0711	    map CCB: ref block field(C_NM_FIELDS);
;	  0712	    bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS),
;	  0713	         NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
;	  0714	    local NODEb;
;	  0715	    require 'XPTSYM';
;	  0752	    local PNUM,PVAL;
;	  0753	
;	  0754	!
;	  0755	! Determine the entity whose parameter is to be set
;	  0756	!
;	  0757	
;	  0758	if (NODEb = NODE_DB(.CCB)) eqla 0
;	  0759	then return;                            ! Invalid node address
;	  0760	
;	  0761	begin
;	  0762	pointer PTR;
;	  0763	MAPBUF(.CCB,PTR);
;	  0764	PNUM = getw(PTR);
;	  0765	PVAL = getw(PTR);
;	  0766	end;
;	  0767	
;	  0768	if NODE_ADDRESS eql .Tid
;	  0769	then begin
;	  0770	     selectone .PNUM of                 ! Dispatch on parm #
;	  0771	         set
;	  0772	
;	  0773	    [910]:				! ROUTING TIMER (T1)
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  18
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)

;	  0774	        selectoneu .PVAL of
;	  0775	            set
;	  0776	            [1 to 65535]:
;	  0777	                begin
;	  0778	                Routing_timer = .PVAL;  !   Update timer resetting value
;	  0779	                !
;	  0780	                ! Fix current clock to be within reason.
;	  0781	                !
;	  0782	                if .Routing_clock gtru .Routing_timer
;	  0783	                then Routing_clock = .Routing_timer;
;	  0784	
;	  0785	                CCB [C_STS] = NM$SUC;
;	  0786	                end;
;	  0787	            [otherwise]:
;	  0788	                CCB [C_STS] = $NM$ERR_IPV;
;	  0789	            tes;
;	  0790	
;	  0791	    [920]:				! MAXIMUM ADDRESS (NN)
;	  0792	        selectoneu .PVAL of
;	  0793	            set
;	  0794	            [1 to .XPTDB[XPT$nn]]:
;	  0795	                begin                   !   Value OK -
;	  0796	                XPTDB[XPTnn] = .PVAL;	!     update NN
;	  0797	                CCB [C_STS] = NM$SUC;
;	  0798	                end;
;	  0799	            [otherwise]:
;	  0800	                CCB [C_STS] = $NM$ERR_IPV;
;	  0801	            tes;
;	  0802	
;	  0803	    [922]:				! MAXIMUM COST (Maxc)
;	  0804	        selectoneu .PVAL of
;	  0805	            set
;	  0806	            [1 to 1022]:
;	  0807	                begin
;	  0808	                Maxc = .PVAL;
;	  0809	                CCB [C_STS] = NM$SUC;
;	  0810	                end;
;	  0811	            [otherwise]:
;	  0812	                CCB [C_STS] = $NM$ERR_IPV;
;	  0813	            tes;
;	  0814	
;	  0815	    [923]:				! MAXIMUM HOPS (Maxh)
;	  0816	        selectoneu (PVAL = .PVAL<0,8>) of
;	  0817	            set
;	  0818	            [1 to 30]:
;	  0819	                begin
;	  0820	                Maxh = .PVAL;
;	  0821	                CCB [C_STS] = NM$SUC;
;	  0822	                end;
;	  0823	            [otherwise]:
;	  0824	                CCB [C_STS] = $NM$ERR_IPV;
;	  0825	            tes;
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  19
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)

;	  0826	
;	  0827	    [924]:				! MAXIMUM VISITS (Maxv)
;	  0828	        selectoneu (PVAL = .PVAL<0,8>) of
;	  0829	            set
;	  0830	            [.Maxh to 255]:
;	  0831	                begin
;	  0832	                Maxv = .PVAL;
;	  0833	                CCB [C_STS] = NM$SUC;
;	  0834	                end;
;	  0835	            [otherwise]:
;	  0836	                CCB [C_STS] = $NM$ERR_IPV;
;	  0837	            tes;
;	  0838	
;	  0839	    [otherwise]:                        ! Parameter not applicable
;	  0840	        CCB [C_STS] = $NM$ERR_PNA;
;	  0841	        tes;
;	  0842	    end
;	  0843	else begin
;	  0844	     selectone .PNUM of                 ! Dispatch on parm #
;	  0845	         set
;	  0846	         [920,				! MAXIMUM ADDRESS (NN)
;	  0847	          2500]:                        ! FENCE
;	  0848	             selectoneu .PVAL of
;	  0849	                 set
;	  0850	                 [1 to .XPTDB[XPT$nn]]:
;	  0851	                     begin              !   Value OK -
;	  0852	                     local MXA: ref vector;
;	  0853	                     while (MXA = .NODEmaximum_address_vector) eqla 0
;	  0854	                     do begin
;	  0855	                        if not $MCB_GET_DSR ((.XPTDB[XPT$nn]*%upval), MXA)
;	  0856	                        then begin
;	  0857	                             CCB [C_STS] = $NM$ERR_REE;
;	  0858	                             return;
;	  0859	                             end;
;	  0860	                        NODEmaximum_address_vector = .MXA;
;	  0861	                        decru IDX from .XPTDB[XPT$nn] to 1
;	  0862	                        do begin
;	  0863	                           MXA [0] = 0;
;	  0864	                           MXA = MXA [1];
;	  0865	                           end;
;	  0866	                        end;
;	  0867	                     if .PVAL eql NN then PVAL = 0;
;	  0868	                     MXA [.NODEaddress - 1] = .PVAL;
;	  0869	                     CCB [C_STS] = NM$SUC;
;	  0870	                     end;
;	  0871	                 [otherwise]:
;	  0872	                     CCB [C_STS] = $NM$ERR_IPV;
;	  0873	                 tes;
;	  0874	        [otherwise]:                    ! Parameter not applicable
;	  0875	            CCB [C_STS] = $NM$ERR_PNA;
;	  0876	        tes;
;	  0877	     end;
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  20
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)

;	  0878	end;                                    ! of SET_NODE


						.GLOBL	$DSRGT


						.SBTTL	SET.NODE Network Management
000000	004167  000000G			; SET.NODE
					U.7:	JSR	R1,$SAVE5			;					0686
000004	005746 					TST	-(SP)
000006	010446 					MOV	R4,-(SP)
000010	010400 					MOV	R4,R0				;					0713
000012	016001  000026 				MOV	26(R0),R1
000016	004767  177316 				JSR	PC,U.3				;					0758
000022	010002 					MOV	R0,R2				; *,NODEB
000024	001557 					BEQ	9$				;					0759
000026	011600 					MOV	(SP),R0				;					0763
000030	016067  000016  000000G			MOV	16(R0),KISAR6
000036	010004 					MOV	R0,R4
000040	016400  000020 				MOV	20(R4),R0			; *,PTR
000044	112066  000002 				MOVB	(R0)+,2(SP)			; PTR,X					0764
000050	112066  000003 				MOVB	(R0)+,3(SP)			; PTR,X
000054	016604  000002 				MOV	2(SP),R4			; X,PNUM
000060	112066  000002 				MOVB	(R0)+,2(SP)			; PTR,X					0765
000064	112066  000003 				MOVB	(R0)+,3(SP)			; PTR,X
000070	016605  000002 				MOV	2(SP),R5			; X,PVAL
000074	026163  000004  000056 			CMP	4(R1),56(R3)			; *,*(XPTDB)				0768
000102	001076 					BNE	5$
000104	020427  001616 				CMP	R4,#1616			; PNUM,*				0770
000110	001012 					BNE	1$
000112	005705 					TST	R5				; PVAL					0774
000114	001553 					BEQ	15$
000116	010563  000060 				MOV	R5,60(R3)			; PVAL,*(XPTDB)				0778
000122	026305  000072 				CMP	72(R3),R5			; *(XPTDB),*				0782
000126	101541 					BLOS	14$
000130	010563  000072 				MOV	R5,72(R3)			; *,*(XPTDB)				0783
000134	000536 					BR	14$				;					0785
000136	020427  001630 			1$:	CMP	R4,#1630			; PNUM,*				0770
000142	001010 					BNE	2$
000144	005705 					TST	R5				; PVAL					0792
000146	001536 					BEQ	15$
000150	020563  000014 				CMP	R5,14(R3)			; PVAL,*(XPTDB)
000154	101133 					BHI	15$
000156	010563  000016 				MOV	R5,16(R3)			; PVAL,*(XPTDB)				0796
000162	000523 					BR	14$				;					0797
000164	020427  001632 			2$:	CMP	R4,#1632			; PNUM,*				0770
000170	001010 					BNE	3$
000172	005705 					TST	R5				; PVAL					0804
000174	001523 					BEQ	15$
000176	020527  001776 				CMP	R5,#1776			; PVAL,*
000202	101120 					BHI	15$
000204	010563  000040 				MOV	R5,40(R3)			; PVAL,*(XPTDB)				0808
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  21
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)

000210	000510 					BR	14$				;					0809
000212	020427  001633 			3$:	CMP	R4,#1633			; PNUM,*				0770
000216	001011 					BNE	4$
000220	042705  177400 				BIC	#177400,R5			; *,PVAL				0816
000224	001507 					BEQ	15$
000226	020527  000036 				CMP	R5,#36				; PVAL,*
000232	101104 					BHI	15$
000234	010563  000044 				MOV	R5,44(R3)			; PVAL,*(XPTDB)				0820
000240	000474 					BR	14$				;					0821
000242	020427  001634 			4$:	CMP	R4,#1634			; PNUM,*				0770
000246	001103 					BNE	16$
000250	042705  177400 				BIC	#177400,R5			; *,PVAL				0828
000254	010500 					MOV	R5,R0				; PVAL,*
000256	020063  000044 				CMP	R0,44(R3)			; *,*(XPTDB)
000262	103470 					BLO	15$
000264	020027  000377 				CMP	R0,#377
000270	101065 					BHI	15$
000272	010563  000050 				MOV	R5,50(R3)			; PVAL,*(XPTDB)				0832
000276	000455 					BR	14$				;					0833
000300	020427  001630 			5$:	CMP	R4,#1630			; PNUM,*				0844
000304	001403 					BEQ	6$
000306	020427  004704 				CMP	R4,#4704			; PNUM,*
000312	001061 					BNE	16$
000314	005705 				6$:	TST	R5				; PVAL					0848
000316	001452 					BEQ	15$
000320	020563  000014 				CMP	R5,14(R3)			; PVAL,*(XPTDB)
000324	101047 					BHI	15$
000326	016304  000024 			7$:	MOV	24(R3),R4			; *(XPTDB),MXA				0853
000332	001025 					BNE	12$
000334	016301  000014 				MOV	14(R3),R1			; *(XPTDB),*				0855
000340	006301 					ASL	R1
000342	004767  000000G				JSR	PC,$DSRGT
000346	103402 					BCS	8$
000350	010004 					MOV	R0,R4				; $MCB$R0,MXA
000352	000405 					BR	10$
000354	011600 				8$:	MOV	(SP),R0				;					0857
000356	012760  177761  000014 			MOV	#-17,14(R0)
000364	000440 				9$:	BR	17$				;					0856
000366	010463  000024 			10$:	MOV	R4,24(R3)			; MXA,*(XPTDB)				0860
000372	016301  000014 				MOV	14(R3),R1			; *(XPTDB),IDX				0861
000376	001753 					BEQ	7$
000400	005024 				11$:	CLR	(R4)+				; MXA					0863
000402	077102 					SOB	R1,11$				; IDX,*					0000
000404	000750 					BR	7$				;					0853
000406	020563  000016 			12$:	CMP	R5,16(R3)			; PVAL,*(XPTDB)				0867
000412	001001 					BNE	13$
000414	005005 					CLR	R5				; PVAL
000416	016200  000002 			13$:	MOV	2(R2),R0			; *(NODEB),*				0868
000422	006300 					ASL	R0
000424	060400 					ADD	R4,R0				; MXA,*
000426	010560  177776 				MOV	R5,-2(R0)			; PVAL,*
000432	011600 				14$:	MOV	(SP),R0				;					0869
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  22
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (8)

000434	012760  000001  000014 			MOV	#1,14(R0)
000442	000411 					BR	17$				;					0848
000444	011600 				15$:	MOV	(SP),R0				;					0872
000446	012760  177760  000014 			MOV	#-20,14(R0)
000454	000404 					BR	17$				;					0844
000456	011600 				16$:	MOV	(SP),R0				;					0875
000460	012760  177752  000014 			MOV	#-26,14(R0)
000466	022626 				17$:	CMP	(SP)+,(SP)+			;					0686
000470	000207 					RTS	PC

; Routine Size:  157 words,	Routine Base:  $CODE$ + 0770
; Maximum stack depth per invocation:  9 words
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  23
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (9)

;	  0879	routine SHOW_AND_ZERO_NODE_COUNTERS (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
;	  0880	
;	  0881	!++
;	  0882	! FUNCTIONAL DESCRIPTION:
;	  0883	!	This routine show the counters for the specified node
;	  0884	!       and then zeroes them.
;	  0885	!
;	  0886	! FORMAL PARAMETERS:
;	  0887	!
;	  0888	!	CCB	CCB to pass to handler routine
;	  0889	!
;	  0890	! IMPLICIT INPUTS:
;	  0891	!	CCB Contents
;	  0892	!
;	  0893	! IMPLICIT OUTPUTS:
;	  0894	!	None
;	  0895	!
;	  0896	! ROUTINE VALUE:
;	  0897	! COMPLETION CODES:
;	  0898	!	None
;	  0899	!
;	  0900	! SIDE EFFECTS:
;	  0901	!	None
;	  0902	!--
;	  0903	
;	  0904	    begin
;	  0905	    map CCB: ref block field(C_NM_FIELDS);
;	  0906	    bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS),
;	  0907	         NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
;	  0908	    local NODEb;
;	  0909	    require 'XPTSYM';
;	  0946	
;	  0947	    if (NODEb = NODE_DB (.CCB)) eqla 0
;	  0948	    then return;                        ! Invalid node address
;	  0949	
;	  0950	!
;	  0951	!  Map in the return buffer
;	  0952	!
;	  0953	
;	  0954	    $NM_RESPONSE_BEGIN(.CCB);
;	  0955	    if NODE_ADDRESS eqlu .Tid
;	  0956	    then NODE_COUNTERS (.NODEb);
;	  0957	    $NM_RESPONSE_END(.CCB);
;	  0958	    begin
;	  0959	    local STS_SAVE;
;	  0960	    STS_SAVE = .CCB [C_STS];
;	  0961	    ZERO_NODE_COUNTERS (.XPTDB,.CCB);
;	  0962	    CCB [C_STS] = .STS_SAVE;
;	  0963	    end;
;	  0964	    end;                                ! of SHOW_AND_ZERO_CIRCUIT_COUNTERS
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  24
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (9)

						.GLOBL	$NRBEG, $NREND


						.SBTTL	SHOW.AND.ZERO.NODE.COUNTERS Network Management
000000	004167  000000G			; SHOW.AND.ZERO.NODE.COUNTERS
					U.8:	JSR	R1,$SAVE2			;					0879
000004	016402  000026 				MOV	26(R4),R2			; *(CCB),*				0907
000010	004767  176632 				JSR	PC,U.3				;					0947
000014	010001 					MOV	R0,R1				; *,NODEB
000016	001422 					BEQ	2$				;					0948
000020	004767  000000G				JSR	PC,$NRBEG			;					0954
000024	026263  000004  000056 			CMP	4(R2),56(R3)			; *,*(XPTDB)				0955
000032	001004 					BNE	1$
000034	010146 					MOV	R1,-(SP)			; NODEB,*				0956
000036	004767  176762 				JSR	PC,U.5
000042	005726 					TST	(SP)+
000044	004767  000000G			1$:	JSR	PC,$NREND			;					0957
000050	016401  000014 				MOV	14(R4),R1			; *(CCB),STS.SAVE			0960
000054	004767  000000V				JSR	PC,U.12				;					0961
000060	010164  000014 				MOV	R1,14(R4)			; STS.SAVE,*(CCB)			0962
000064	000207 				2$:	RTS	PC				;					0879

; Routine Size:  27 words,	Routine Base:  $CODE$ + 1462
; Maximum stack depth per invocation:  5 words
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  25
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)

;	  0965	routine SHOW_NODE (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
;	  0966	
;	  0967	!++
;	  0968	! FUNCTIONAL DESCRIPTION:
;	  0969	!	This routine shows node parameters
;	  0970	!
;	  0971	! FORMAL PARAMETERS:
;	  0972	!
;	  0973	!	CCB	CCB to pass to handler routine
;	  0974	!
;	  0975	! IMPLICIT INPUTS:
;	  0976	!	CCB Contents
;	  0977	!
;	  0978	! IMPLICIT OUTPUTS:
;	  0979	!	None
;	  0980	!
;	  0981	! ROUTINE VALUE:
;	  0982	! COMPLETION CODES:
;	  0983	!	None
;	  0984	!
;	  0985	! SIDE EFFECTS:
;	  0986	!	None
;	  0987	!--
;	  0988	
;	  0989	    begin
;	  0990	    map CCB: ref block field(C_NM_FIELDS);
;	  0991	    bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS);
;	  0992	    bind NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
;	  0993	    literal                             ! Node types:
;	  0994	        TYPE_2 = 0,                     !  Phase II
;	  0995	        TYPE_A = 1,                     !  Adjacent
;	  0996	        TYPE_R = 2,                     !  Remote
;	  0997	        TYPE_U = 3,                     !  Local XPT user
;	  0998	        TYPE_E = 4,                     !  Executor
;	  0999	        TYPE_L = 5,                     !  Loop
;	  1000	        TYPE_bad = 6,                   !  (invalid)
;	  1001	        TYPE_lo = min (TYPE_E, TYPE_A, TYPE_R, TYPE_L, TYPE_U, TYPE_bad),
;	  1002	        TYPE_hi = max (TYPE_E, TYPE_A, TYPE_R, TYPE_L, TYPE_U, TYPE_bad);
;	  1003	    local NODE_TYPE,NODEb,LINEb;
;	  1004	    require 'XPTSYM';
;	  1041	
;	  1042	!
;	  1043	!  Determine the entity whose data are to be shown
;	  1044	!
;	  1045	
;	  1046	$NM_RESPONSE_BEGIN(.CCB);		! Initialize response buffer
;	  1047	
;	  1048	!
;	  1049	!  Figure out the node type
;	  1050	!
;	  1051	
;	  1052	if (NODEb = $XPT_GET_NODE_DB (NODE_ADDRESS)) neqa 0
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  26
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)

;	  1053	then begin
;	  1054	     if .Local_node
;	  1055	     then begin
;	  1056	          if NODE_ADDRESS eql .Tid
;	  1057	          then NODE_TYPE = TYPE_E
;	  1058	          else NODE_TYPE = TYPE_U;
;	  1059	          end
;	  1060	     else if .Reach
;	  1061	          then begin
;	  1062	               LINEb = $XPT_GET_LINE_DB(.OL);
;	  1063	               selectone .Nty of
;	  1064	                        set
;	  1065	                        [PHtwo,TOPS20]:
;	  1066	                            NODE_TYPE = TYPE_2;
;	  1067	                        [otherwise]:
;	  1068	                            if .Minhop eql 1
;	  1069	                            then NODE_TYPE = TYPE_A
;	  1070	                            else NODE_TYPE = TYPE_R;
;	  1071	                        tes;
;	  1072	               end
;	  1073	          else NODE_TYPE = TYPE_R;
;	  1074	     end
;	  1075	else if NODE_ADDRESS eql 0
;	  1076	     then NODE_TYPE = TYPE_L
;	  1077	     else NODE_TYPE = TYPE_bad;
;	  1078	
;	  1079	case .CCB [C_NM_SELECT] from NMX$SEL_lo to NMX$SEL_hi of
;	  1080	    set
;	  1081	    [NMX$SEL_sum]:
;	  1082	        selectu .NODE_TYPE of
;	  1083	            set
;	  1084	            [TYPE_U]:
;	  1085	                SHOW_NODE_STATE (.NODEb);       ! STATE
;	  1086	            [TYPE_2,TYPE_A,TYPE_R]:
;	  1087	                begin
;	  1088	                SHOW_NODE_STATE (.NODEb);       ! STATE
;	  1089	                SHOW_NODE_CIRCUIT (.NODEb);     ! CIRCUIT
;	  1090	                end;
;	  1091	            tes;
;	  1092	    [NMX$SEL_sta]:
;	  1093	        selectu .NODE_TYPE of
;	  1094	            set
;	  1095	            [TYPE_2,TYPE_A,TYPE_R,TYPE_U]:
;	  1096	                SHOW_NODE_STATE (.NODEb);       ! STATE
;	  1097	            [TYPE_2,TYPE_A]:
;	  1098	                begin                           ! TYPE
;	  1099	                local VALUE;
;	  1100	                LINEb = $XPT_GET_LINE_DB (.OL);
;	  1101	                case .Nty from 2 to 5 of
;	  1102	                    set                         !   Move in node type:
;	  1103	                    [Full]: VALUE = 0;          !     Routing
;	  1104	                    [Small]: VALUE = 1;         !     Non-routing
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  27
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)

;	  1105	                    [PhTwo,TOPS20]: VALUE = 2;  !     Phase II
;	  1106	                    tes;
;	  1107	                PARAMETER_C_1(810,VALUE);
;	  1108	                end;
;	  1109	            [TYPE_A,TYPE_R]:
;	  1110	                begin
;	  1111	                PARAMETER_DU_2(820,Mincost);    ! COST
;	  1112	                PARAMETER_DU_1(821,Minhop);     ! HOPS
;	  1113	                end;
;	  1114	            [TYPE_2,TYPE_A,TYPE_R]:
;	  1115	                SHOW_NODE_CIRCUIT (.NODEb);     ! CIRCUIT
;	  1116	            tes;
;	  1117	    [NMX$SEL_cha]:
;	  1118	        selectu .NODE_TYPE of
;	  1119	            set
;	  1120	            [TYPE_E]:
;	  1121	                begin                   ! ROUTING VERSION
;	  1122	                PARAMETER_CM(900,3);            ! Three fields:
;	  1123	                PARAMETER_DU_1(,uplit(1));      !   Version # = 1
;	  1124	                PARAMETER_DU_1(,uplit(3));      !   Routing ECO = 3
;	  1125	                PARAMETER_DU_1(,uplit(0));      !   User ECO = 0
;	  1126	                PARAMETER_C_1(901,uplit(0));    ! TYPE
;	  1127	                PARAMETER_DU_2(910,Routing_timer);! ROUTING TIMER
;	  1128	                begin
;	  1129	                local VALUE;
;	  1130	                VALUE = NN;                     ! MAXIMUM ADDRESS
;	  1131	                PARAMETER_DU_2(920,VALUE);
;	  1132	                VALUE = NLN;                    ! MAXIMUM CIRCUITS
;	  1133	                PARAMETER_DU_2(921,VALUE);
;	  1134	                end;
;	  1135	                PARAMETER_DU_2(922,Maxc);       ! MAXIMUM COST
;	  1136	                PARAMETER_DU_1(923,Maxh);       ! MAXIMUM HOPS
;	  1137	                PARAMETER_DU_1(924,Maxv);       ! MAXIMUM VISITS
;	  1138	                begin                           ! MAXIMUM BUFFERS
;	  1139	                local VALUE;
;	  1140	                VALUE = .XPTDB[XPT$updq]        !   Store routing/update quota
;	  1141	                        + .XPTDB[XPT$eclq]      !     plus ECL quota
;	  1142	                        + $LINQ;                !     plus total line quota
;	  1143	                PARAMETER_DU_2(930,VALUE);
;	  1144	                end;
;	  1145	                PARAMETER_DU_2(931,DLLsize);    ! BUFFER SIZE
;	  1146	                end;
;	  1147	            [TYPE_2,TYPE_A,TYPE_E,TYPE_R,TYPE_U]:
;	  1148	                begin
;	  1149	                local MXA: ref vector;
;	  1150	                if (MXA = .NODEmaximum_address_vector) neqa 0
;	  1151	                then if (MXA = .MXA [.NODEaddress - 1]) neq 0
;	  1152	                     then PARAMETER_DU_2(2500,MXA);    ! MAXIMUM ADDRESS
;	  1153	                end;
;	  1154	            tes;
;	  1155	    [NMX$SEL_cou]:
;	  1156	        selectu .NODE_TYPE of
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  28
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)

;	  1157	            set
;	  1158	            [TYPE_E]:
;	  1159	                NODE_COUNTERS (.NODEb);
;	  1160	            tes;
;	  1161	    tes;
;	  1162	
;	  1163	    $NM_RESPONSE_END(.CCB);
;	  1164	    end;                                ! of SHOW_NODE



000014						.PSECT	$PLIT$,  RO ,  D  
000014	000001 				P.AAD:	.WORD	1
000016	000003 				P.AAE:	.WORD	3
000020	000000 				P.AAF:	.WORD	0
000022	000000 				P.AAG:	.WORD	0


						.GLOBL	GTLINE, $DPC1, $DPDU2, $DPDU1
						.GLOBL	$TPDU1


						.SBTTL	SHOW.NODE Network Management
001550						.PSECT	$CODE$,  RO 

000000	004167  000000G			; SHOW.NODE
					U.9:	JSR	R1,$SAVE5			;					0965
000004	016400  000026 				MOV	26(R4),R0			; *(CCB),*				0992
000010	016001  000004 				MOV	4(R0),R1			;					0989
000014	004767  000000G				JSR	PC,$NRBEG			;					1046
000020	010100 					MOV	R1,R0				;					1052
000022	004767  000000G				JSR	PC,GTNODE
000026	010002 					MOV	R0,R2				; *,NODEB
000030	001446 					BEQ	5$
000032	032712  000400 				BIT	#400,(R2)			; *,NODEB				1054
000036	001411 					BEQ	2$
000040	020163  000056 				CMP	R1,56(R3)			; *,*(XPTDB)				1056
000044	001003 					BNE	1$
000046	012705  000004 				MOV	#4,R5				; *,NODE.TYPE				1057
000052	000444 					BR	7$				;					1056
000054	012705  000003 			1$:	MOV	#3,R5				; *,NODE.TYPE				1058
000060	000441 					BR	7$				;					1054
000062	005712 				2$:	TST	(R2)				; NODEB					1060
000064	100025 					BPL	4$
000066	111200 					MOVB	(R2),R0				; NODEB,*				1062
000070	004767  000000G				JSR	PC,GTLINE
000074	010001 					MOV	R0,R1				; *,LINEB
000076	116100  000002 				MOVB	2(R1),R0			; *(LINEB),*				1063
000102	020027  000004 				CMP	R0,#4
000106	002405 					BLT	3$
000110	020027  000005 				CMP	R0,#5
000114	003002 					BGT	3$
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  29
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)

000116	005005 					CLR	R5				; NODE.TYPE				1066
000120	000421 					BR	7$				;					1063
000122	026227  000004  000001 		3$:	CMP	4(R2),#1			; *(NODEB),*				1068
000130	001003 					BNE	4$
000132	012705  000001 				MOV	#1,R5				; *,NODE.TYPE				1069
000136	000412 					BR	7$				;					1068
000140	012705  000002 			4$:	MOV	#2,R5				; *,NODE.TYPE				1073
000144	000407 					BR	7$				;					1052
000146	005701 				5$:	TST	R1				;					1075
000150	001003 					BNE	6$
000152	012705  000005 				MOV	#5,R5				; *,NODE.TYPE				1076
000156	000402 					BR	7$				;					1075
000160	012705  000006 			6$:	MOV	#6,R5				; *,NODE.TYPE				1077
000164	016400  000024 			7$:	MOV	24(R4),R0			; *(CCB),*				1079
000170	072027  177764 				ASH	#-14,R0
000174	042700  177760 				BIC	#177760,R0
000200	005300 					DEC	R0
000202	006300 					ASL	R0
000204	066007  000024'				ADD	P.AAB(R0),PC			; Case dispatch
000210	020527  000003 			8$:	CMP	R5,#3				; NODE.TYPE,*				1082
000214	001002 					BNE	9$
000216	004767  000000V				JSR	PC,U.11				;					1085
000222	020527  000002 			9$:	CMP	R5,#2				; NODE.TYPE,*				1082
000226	101072 					BHI	19$
000230	004767  000000V				JSR	PC,U.11				;					1088
000234	000465 					BR	18$				;					1089
000236	020527  000003 			10$:	CMP	R5,#3				; NODE.TYPE,*				1093
000242	101002 					BHI	11$
000244	004767  000000V				JSR	PC,U.11				;					1096
000250	020527  000001 			11$:	CMP	R5,#1				; NODE.TYPE,*				1093
000254	101030 					BHI	16$
000256	111200 					MOVB	(R2),R0				; NODEB,*				1100
000260	004767  000000G				JSR	PC,GTLINE
000264	010001 					MOV	R0,R1				; *,LINEB
000266	116100  000002 				MOVB	2(R1),R0			; *(LINEB),*				1101
000272	162700  000002 				SUB	#2,R0
000276	006300 					ASL	R0
000300	066007  000034'				ADD	P.AAC(R0),PC			; Case dispatch
000304	005001 				12$:	CLR	R1				; VALUE					1103
000306	000405 					BR	15$				;					1101
000310	012701  000001 			13$:	MOV	#1,R1				; *,VALUE				1104
000314	000402 					BR	15$				;					1101
000316	012701  000002 			14$:	MOV	#2,R1				; *,VALUE				1105
000322	012746  001452 			15$:	MOV	#1452,-(SP)			;					1107
000326	110100 					MOVB	R1,R0				; VALUE,*
000330	004767  000000G				JSR	PC,$DPC1
000334	005726 					TST	(SP)+				;					1098
000336	005705 				16$:	TST	R5				; NODE.TYPE				1093
000340	001420 					BEQ	17$
000342	020527  000002 				CMP	R5,#2				; NODE.TYPE,*
000346	101176 					BHI	23$
000350	012746  001464 				MOV	#1464,-(SP)			;					1111
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  30
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)

000354	016200  000006 				MOV	6(R2),R0			; *(NODEB),*
000360	004767  000000G				JSR	PC,$DPDU2
000364	012716  001465 				MOV	#1465,(SP)			;					1112
000370	116200  000004 				MOVB	4(R2),R0			; *(NODEB),*
000374	004767  000000G				JSR	PC,$DPDU1
000400	005726 					TST	(SP)+				;					1110
000402	020527  000002 			17$:	CMP	R5,#2				; NODE.TYPE,*				1093
000406	101163 					BHI	25$
000410	004767  000000V			18$:	JSR	PC,U.10				;					1115
000414	000560 				19$:	BR	25$				;					1079
000416	020527  000004 			20$:	CMP	R5,#4				; NODE.TYPE,*				1118
000422	001126 					BNE	21$
000424	012746  001604 				MOV	#1604,-(SP)			;					1122
000430	012700  000003 				MOV	#3,R0
000434	004767  000000G				JSR	PC,$DPCM
000440	116700  000014'				MOVB	P.AAD,R0			;					1123
000444	004767  000000G				JSR	PC,$TPDU1
000450	116700  000016'				MOVB	P.AAE,R0			;					1124
000454	004767  000000G				JSR	PC,$TPDU1
000460	116700  000020'				MOVB	P.AAF,R0			;					1125
000464	004767  000000G				JSR	PC,$TPDU1
000470	012716  001605 				MOV	#1605,(SP)			;					1126
000474	116700  000022'				MOVB	P.AAG,R0
000500	004767  000000G				JSR	PC,$DPC1
000504	012716  001616 				MOV	#1616,(SP)			;					1127
000510	016300  000060 				MOV	60(R3),R0			; *(XPTDB),*
000514	004767  000000G				JSR	PC,$DPDU2
000520	016301  000016 				MOV	16(R3),R1			; *(XPTDB),VALUE			1130
000524	012716  001630 				MOV	#1630,(SP)			;					1131
000530	010100 					MOV	R1,R0				; VALUE,*
000532	004767  000000G				JSR	PC,$DPDU2
000536	016301  000022 				MOV	22(R3),R1			; *(XPTDB),VALUE			1132
000542	012716  001631 				MOV	#1631,(SP)			;					1133
000546	010100 					MOV	R1,R0				; VALUE,*
000550	004767  000000G				JSR	PC,$DPDU2
000554	012716  001632 				MOV	#1632,(SP)			;					1135
000560	016300  000040 				MOV	40(R3),R0			; *(XPTDB),*
000564	004767  000000G				JSR	PC,$DPDU2
000570	012716  001633 				MOV	#1633,(SP)			;					1136
000574	116300  000044 				MOVB	44(R3),R0			; *(XPTDB),*
000600	004767  000000G				JSR	PC,$DPDU1
000604	012716  001634 				MOV	#1634,(SP)			;					1137
000610	116300  000050 				MOVB	50(R3),R0			; *(XPTDB),*
000614	004767  000000G				JSR	PC,$DPDU1
000620	005001 					CLR	R1				;					1141
000622	156301  000077 				BISB	77(R3),R1			; *(XPTDB),*
000626	005000 					CLR	R0
000630	156300  000101 				BISB	101(R3),R0			; *(XPTDB),*
000634	060100 					ADD	R1,R0
000636	005001 					CLR	R1				;					1142
000640	156301  000034 				BISB	34(R3),R1			; *(XPTDB),*
000644	060100 					ADD	R1,R0
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  31
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (10)

000646	012716  001642 				MOV	#1642,(SP)			;					1143
000652	004767  000000G				JSR	PC,$DPDU2
000656	012716  001643 				MOV	#1643,(SP)			;					1145
000662	016300  000124 				MOV	124(R3),R0			; *(XPTDB),*
000666	004767  000000G				JSR	PC,$DPDU2
000672	005726 					TST	(SP)+				;					1121
000674	020527  000004 				CMP	R5,#4				; NODE.TYPE,*				1118
000700	101026 				21$:	BHI	25$
000702	016300  000024 				MOV	24(R3),R0			; *(XPTDB),MXA				1150
000706	001423 					BEQ	25$
000710	016202  000002 				MOV	2(R2),R2			; *(NODEB),*				1151
000714	006302 					ASL	R2
000716	060002 					ADD	R0,R2				; MXA,*
000720	016200  177776 				MOV	-2(R2),R0			; *,MXA
000724	001414 					BEQ	25$
000726	012746  004704 				MOV	#4704,-(SP)			;					1152
000732	004767  000000G				JSR	PC,$DPDU2
000736	000406 					BR	24$
000740	020527  000004 			22$:	CMP	R5,#4				; NODE.TYPE,*				1156
000744	001004 				23$:	BNE	25$
000746	010246 					MOV	R2,-(SP)			; NODEB,*				1159
000750	004767  175762 				JSR	PC,U.5
000754	005726 				24$:	TST	(SP)+
000756	004767  000000G			25$:	JSR	PC,$NREND			;					1163
000762	000207 					RTS	PC				;					0965

; Routine Size:  250 words,	Routine Base:  $CODE$ + 1550
; Maximum stack depth per invocation:  8 words


000024						.PSECT	$PLIT$,  RO ,  D  

					P.AAB:						; CASE Table for SHOW.NODE+0204		1079
000024	000000 					.WORD	0				; [8$]
000026	000026 					.WORD	26				; [10$]
000030	000206 					.WORD	206				; [20$]
000032	000530 					.WORD	530				; [22$]

					P.AAC:						; CASE Table for SHOW.NODE+0300		1101
000034	000000 					.WORD	0				; [12$]
000036	000004 					.WORD	4				; [13$]
000040	000012 					.WORD	12				; [14$]
000042	000012 					.WORD	12				; [14$]
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  32
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (11)

;	  1165	routine SHOW_NODE_CIRCUIT (NODEb): XPT_LKG_NODEb novalue =
;	  1166	
;	  1167	!++
;	  1168	! FUNCTIONAL DESCRIPTION:
;	  1169	!	This routine shows the node circuit
;	  1170	!
;	  1171	! FORMAL PARAMETERS:
;	  1172	!
;	  1173	!	CCB	CCB to pass to handler routine
;	  1174	!
;	  1175	! IMPLICIT INPUTS:
;	  1176	!	CCB Contents
;	  1177	!
;	  1178	! IMPLICIT OUTPUTS:
;	  1179	!	None
;	  1180	!
;	  1181	! ROUTINE VALUE:
;	  1182	! COMPLETION CODES:
;	  1183	!	None
;	  1184	!
;	  1185	! SIDE EFFECTS:
;	  1186	!	None
;	  1187	!--
;	  1188	
;	  1189	    begin
;	  1190	    local LINEb;
;	  1191	    require 'XPTSYM';
;	  1228	
;	  1229	    LINEb = $XPT_GET_LINE_DB(.OL);
;	  1230	    NMX$PARAMETER_CIRCUIT(PD_NMX,.NMXid,822);
;	  1231	    end;                                ! of SHOW_NODE_CIRCUIT


						.GLOBL	$NPNAM, $CALLP


						.SBTTL	SHOW.NODE.CIRCUIT Network Management
002534						.PSECT	$CODE$,  RO 

000000	111200 				; SHOW.NODE.CIRCUIT
					U.10:	MOVB	(R2),R0				; NODEB,*				1229
000002	004767  000000G				JSR	PC,GTLINE
000006	012746  001466 				MOV	#1466,-(SP)			;					1230
000012	016046  000034 				MOV	34(R0),-(SP)			; *(LINEB),*
000016	012746  002000 				MOV	#2000,-(SP)
000022	012746  000003 				MOV	#3,-(SP)
000026	012746  000000G				MOV	#$NPNAM,-(SP)
000032	016700  000002G				MOV	.CRDAT+2,R0
000036	005046 					CLR	-(SP)
000040	116016  000005 				MOVB	5(R0),(SP)
000044	004767  000000G				JSR	PC,$CALLP
000050	062706  000014 				ADD	#14,SP				;					1189
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  33
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (11)

000054	000207 					RTS	PC				;					1165

; Routine Size:  23 words,	Routine Base:  $CODE$ + 2534
; Maximum stack depth per invocation:  7 words
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  34
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (12)

;	  1232	routine SHOW_NODE_STATE (NODEb): XPT_LKG_NODEb novalue =
;	  1233	
;	  1234	!++
;	  1235	! FUNCTIONAL DESCRIPTION:
;	  1236	!	This routine shows the node state
;	  1237	!
;	  1238	! FORMAL PARAMETERS:
;	  1239	!
;	  1240	!	CCB	CCB to pass to handler routine
;	  1241	!
;	  1242	! IMPLICIT INPUTS:
;	  1243	!	CCB Contents
;	  1244	!
;	  1245	! IMPLICIT OUTPUTS:
;	  1246	!	None
;	  1247	!
;	  1248	! ROUTINE VALUE:
;	  1249	! COMPLETION CODES:
;	  1250	!	None
;	  1251	!
;	  1252	! SIDE EFFECTS:
;	  1253	!	None
;	  1254	!--
;	  1255	
;	  1256	    begin
;	  1257	    local VALUE;
;	  1258	    require 'XPTSYM';
;	  1295	
;	  1296	    VALUE = 4;                          !   4 if reachable,
;	  1297	    if not .Reach then
;	  1298	       VALUE = .VALUE + 1;              !   5 if unreachable
;	  1299	    PARAMETER_C_1(0,VALUE);
;	  1300	    end;                                ! of SHOW_NODE_STATE


						.SBTTL	SHOW.NODE.STATE Network Management
000000	010146 				; SHOW.NODE.STATE
					U.11:	MOV	R1,-(SP)			;					1232
000002	012701  000004 				MOV	#4,R1				; *,VALUE				1296
000006	005712 					TST	(R2)				; NODEB					1297
000010	100401 					BMI	1$
000012	005201 					INC	R1				; VALUE					1298
000014	005046 				1$:	CLR	-(SP)				;					1299
000016	110100 					MOVB	R1,R0				; VALUE,*
000020	004767  000000G				JSR	PC,$DPC1
000024	005726 					TST	(SP)+				;					1256
000026	012601 					MOV	(SP)+,R1			;					1232
000030	000207 					RTS	PC

; Routine Size:  13 words,	Routine Base:  $CODE$ + 2612
; Maximum stack depth per invocation:  3 words
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  35
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (13)

;	  1301	routine ZERO_NODE_COUNTERS (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
;	  1302	
;	  1303	!++
;	  1304	! FUNCTIONAL DESCRIPTION:
;	  1305	!	This routine zeroes counters for the specified node
;	  1306	!
;	  1307	! FORMAL PARAMETERS:
;	  1308	!
;	  1309	!	CCB	CCB to pass to handler routine
;	  1310	!
;	  1311	! IMPLICIT INPUTS:
;	  1312	!	CCB Contents
;	  1313	!
;	  1314	! IMPLICIT OUTPUTS:
;	  1315	!	None
;	  1316	!
;	  1317	! ROUTINE VALUE:
;	  1318	! COMPLETION CODES:
;	  1319	!	None
;	  1320	!
;	  1321	! SIDE EFFECTS:
;	  1322	!	None
;	  1323	!--
;	  1324	
;	  1325	    begin
;	  1326	    map CCB: ref block field(C_NM_FIELDS);
;	  1327	    bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS),
;	  1328	         NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
;	  1329	    local NODEb;
;	  1330	    require 'XPTSYM';
;	  1367	
;	  1368	    if (NODEb = NODE_DB (.CCB)) eqla 0
;	  1369	    then return;                        ! Invalid node address
;	  1370	
;	  1371	    if NODE_ADDRESS eqlu .Tid
;	  1372	    then begin
;	  1373	         Aged_Loss = 0;
;	  1374	         Unreach_Loss = 0;
;	  1375	         Range_Loss = 0;
;	  1376	         Oversize_Loss = 0;
;	  1377	         Format_Errors = 0;
;	  1378	         Routing_Loss = 0;
;	  1379	         Verify_Rejects = 0;
;	  1380	         end;
;	  1381	
;	  1382	    CCB [C_STS] = NM$SUC;
;	  1383	    end;                                ! of ZERO_NODE_COUNTERS


						.SBTTL	ZERO.NODE.COUNTERS Network Management
000000	010146 				; ZERO.NODE.COUNTERS
					U.12:	MOV	R1,-(SP)			;					1301
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  36
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (13)

000002	016401  000026 				MOV	26(R4),R1			; *(CCB),*				1328
000006	004767  175452 				JSR	PC,U.3				;					1368
000012	005700 					TST	R0				; NODEB
000014	001425 					BEQ	2$				;					1369
000016	026163  000004  000056 			CMP	4(R1),56(R3)			; *,*(XPTDB)				1371
000024	001016 					BNE	1$
000026	105063  000130 				CLRB	130(R3)				; *(XPTDB)				1373
000032	005063  000136 				CLR	136(R3)				; *(XPTDB)				1374
000036	105063  000131 				CLRB	131(R3)				; *(XPTDB)				1375
000042	105063  000132 				CLRB	132(R3)				; *(XPTDB)				1376
000046	105063  000133 				CLRB	133(R3)				; *(XPTDB)				1377
000052	105063  000134 				CLRB	134(R3)				; *(XPTDB)				1378
000056	105063  000135 				CLRB	135(R3)				; *(XPTDB)				1379
000062	012764  000001  000014 		1$:	MOV	#1,14(R4)			; *,*(CCB)				1382
000070	012601 				2$:	MOV	(SP)+,R1			;					1301
000072	000207 					RTS	PC

; Routine Size:  30 words,	Routine Base:  $CODE$ + 2644
; Maximum stack depth per invocation:  2 words


;	  1384	
;	  1385	end
;	  1386	eludom			! End of module XPTNMI



;					OTS external references
						.GLOBL	$SAVE5, $SAVE2


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $PLIT$				   18	    RO ,  D  ,  LCL,  REL,  CON
;	 $CODE$				  752	    RO ,  I  ,  LCL,  REL,  CON




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  RATS:<BANKS.MCB.MCB>XPORTX.L16.10	       599         0         0         0
;  RATS:<BANKS.MCB.MCB>MCBLIB.L16.6	       372        32         8         0
;  RATS:<BANKS.MCB.MCB>NMXLIB.L16.5	       200        62        31         0
;  RATS:<BANKS.MCB.XPT>XPTLIB.L16.3	       510       180        35         0
XPTNMI								15-Nov-1984 10:35:45	TOPS-20 Bliss-16 2A(530)	    Page  37
X01090		Network Management				23-Sep-1983 09:37:18	RATS:<BANKS.MCB.XPT>XPTNMI.BLI.1 (13)



; Size:		752 code + 18 data words
; Run Time:	00:17.4
; Elapsed Time:	00:50.5
; Memory Used:	60 pages
; Compilation Complete
ADDR				 436	 437#	 438	 439
ADDRESS				 127+	 129+	 130+	 132+	 133+	 135+	 136+	 142+	 143+	 146+	 147+	 148+
AGED_LOSS			 573	1373#
BITON				 347
BLISS16				 177
BPT				 156+#	 168+#
BUFCHK				 160+	 161+#	 170+	 171+#
BUFLEN				 619	 659	 668#	 683
CALL$				 184	 185	 220#	 312#
CCB				 220	 248	 287	 290	 293	 295	 297	 299	 301	 303	 304#	 306#
				 309#	 310	 364	 389	 390	 441#	 445	 470	 471	 517	 522	 525
				 537#	 541#	 581	 618	 659	 660#	 673#	 681#	 683#	 686	 711	 712
				 758	 763	 785#	 788#	 797#	 800#	 809#	 812#	 821#	 824#	 833#	 836#
				 840#	 857#	 869#	 872#	 875#	 879	 905	 906	 947	 954	 957	 960
				 961	 962#	 965	 990	 991	1046	1079	1163	1301	1326	1327	1368
				1382#
CHKBUF				 163+*	 164+
CIRCUITTYPE			 209#
CLEAR_NODE			 187	 295	 445*
COUNTER_16			 574
COUNTER_8			 573	 575	 576	 577	 578	 579
C_CNT				 522	 660	 673
C_FNC				 309
C_NM_ENTITY			 287
C_NM_FIELDS			 248	 389	 470	 618	 711	 905	 990	1326
C_NM_FUNC			 290
C_NM_NMPAR			 390	 471	 712	 906	 991	1327
C_NM_SELECT			1079
C_STS				 304	 306	 441	 537	 541	 681	 683	 785	 788	 797	 800	 809
				 812	 821	 824	 833	 836	 840	 857	 869	 872	 875	 960	 962
				1382
DLLSIZE				1145
EQLU				 955	1371
F				 343	 347#	 351	 353#	 354	 356#	 357	 359#	 360
FC_CCP				 309
FORMAT_ERRORS			 577	1377#
FULL				1103
GETB				 347	 359
GETQ				 127+#
GETW				 106+#	 129+	 130+	 353	 356	 526	 764	 765
I				 151+	 153+
IDX				 861
J				 151+	 153+
LINEBLOCK			 276+	 419+	 501+	 648+	 742+	 936+	1031+	1218+	1285+	1357+
LINEB				 274+	 276+	 417+	 419+	 499+	 501+	 646+	 648+	 740+	 742+	 934+	 936+
				1003	1029+	1031+	1062#	1100#	1190	1216+	1218+	1229#	1283+	1285+	1355+
				1357+
LINKAGE_CCB			 186	 364#
LOCAL_NODE			1054
M				 151+	 152+
MAPBUF				 525	 659	 763
MATRIX				 151+#	 153+
MAXC				 808#	1135
MAXH				 820#	 830	1136
MAXV				 832#	1137
MCB$GAW_PROCESS_DATA_BASE	 246	 247	 279+	 280+	 283+	 422+	 423+	 426+	 504+	 505+	 508+	 571
				 572	 651+	 652+	 655+	 745+	 746+	 749+	 939+	 940+	 943+	1034+	1035+
				1038+	1221+	1222+	1225+	1288+	1289+	1292+	1360+	1361+	1364+
MINCOST				1111
MINHOP				1068	1112
MXA				 533	 534#	 536#	 852	 853#	 855	 860	 863#	 864#	 868#	1149	1150#
				1151#	1152
N				 151+	 152+
NL				 151+	 153+
NLN				1132
NM$SUC				 537	 683	 785	 797	 809	 821	 833	 869	1382
NMPAR				 390#	 437	 471#	 472	 712#	 713	 906#	 907	 991#	 992	1327#	1328
NMX$ENT_CKT			 209
NMX$ENT_NOD			 208	 289
NMX$FNC_CLR			 294
NMX$FNC_HI			 290
NMX$FNC_LO			 290
NMX$FNC_RET			 302
NMX$FNC_SET			 292
NMX$FNC_SHO			 298
NMX$FNC_SZC			 300
NMX$FNC_ZRO			 296
NMX$PARAMETER_CIRCUIT		1230
NMX$SEL_CHA			1117
NMX$SEL_COU			1155
NMX$SEL_HI			1079
NMX$SEL_LO			1079
NMX$SEL_STA			1092
NMX$SEL_SUM			1081
NMXID				1230
NMX_NMPAR_FIELDS		 390	 471	 712	 906	 991	1327
NMX_NMPAR_NODE_ADDRESS		 437	 472	 713	 907	 992	1328
NN				 867	1130
NODEADDRESS			 536	 670	 671	 868	1151
NODEBLOCK			 271+	 414+	 496+	 570	 643+	 737+	 931+	1026+	1213+	1280+	1352+
NODEB				 269+	 271+	 391	 412+	 414+	 434#	 443	 473	 494+	 496+	 517#	 544
				 570	 641+	 643+	 714	 735+	 737+	 758#	 908	 929+	 931+	 947#	 956
				1003	1024+	1026+	1052#	1085	1088	1089	1096	1115	1159	1165	1211+
				1213+	1232	1278+	1280+	1329	1350+	1352+	1368#
NODEMAXIMUM_ADDRESS_VECTOR	 534	 853	 860#	1150
NODETYPE			 208#
NODE_ADDRESS			 472#	 713#	 768	 907#	 955	 992#	1052	1056	1075	1328#	1371
NODE_COUNTERS			 188	 544*	 956	1159
NODE_DB				 186	 364*	 517	 758	 947	1368
NODE_TYPE			1003	1057#	1058#	1066#	1069#	1070#	1073#	1076#	1077#	1082	1093	1118
				1156
NOP				 168+	 169+	 171+
NO_LINEB			 275+	 418+	 500+	 647+	 741+	 935+	1030+	1217+	1284+	1356+
NO_NODEB			 270+	 413+	 495+	 642+	 736+	 930+	1025+	1212+	1279+	1351+
NTY				1063	1101
OL				1062	1100	1229
OVERSIZE_LOSS			 576	1376#
PARAMETER_CM			 350	1122
PARAMETER_C_1			1107	1126	1299
PARAMETER_DU_1			1112	1123	1124	1125	1136	1137
PARAMETER_DU_2			 354	 357	 360	1111	1127	1131	1133	1135	1143	1145	1152
PARAMETER_H_1			 351
PD_NMX				1230
PHTWO				1065	1105
PKTA_HDR			 185	 312*
PNUM				 511	 520#	 526#	 529	 752	 764#	 770	 844
POINTER				 344	 524	 620	 762
PTR				 106+	 109+	 110+	 113+	 116+	 117+	 123+	 124+	 127+	 129+	 130+	 132+
				 135+	 136+	 137+	 138+	 142+	 143+	 524	 525	 526	 620	 659	 670
				 671	 672	 762	 763	 764	 765
PUTB				 670	 671	 672
PUTQ				 132+#
PUTW				 113+#	 142+	 143+
PVAL				 752	 765#	 774	 778	 792	 796	 804	 808	 816#	 820	 828#	 832
				 848	 867#	 868
RANGE_LOSS			 575	1375#
REACH				 667	1060	1297
RETURN_NODE_LIST		 189	 303	 581*
ROUTING_CLOCK			 782	 783#
ROUTING_LOSS			 578	1378#
ROUTING_TIMER			 778#	 782	 783	1127
S				 344	 345#	 347	 353	 356	 359
SET_NODE			 191	 293	 686*
SHOW_AND_ZERO_NODE_COUNTERS	 192	 301	 879*
SHOW_NODE			 194	 299	 965*
SHOW_NODE_CIRCUIT		 195	1089	1115	1165*
SHOW_NODE_STATE			 196	1085	1088	1096	1232*
SMALL				1104
SPTR				 312	 345
STS_SAVE			 959	 960#	 962
T				 343	 347#	 350	 352	 358
TID				 768	 955	1056	1371
TYPE_A				 995#	1001	1002	1069	1086	1095	1097	1109	1114	1147
TYPE_BAD			1000#	1001	1002	1077
TYPE_E				 998#	1001	1002	1057	1120	1147	1158
TYPE_HI				1002#
TYPE_L				 999#	1001	1002	1076
TYPE_LO				1001#
TYPE_R				 996#	1001	1002	1070	1073	1086	1095	1109	1114	1147
TYPE_U				 997#	1001	1002	1058	1084	1095	1147
TYPE_2				 994#	1066	1086	1095	1097	1114	1147
UNIT				 151+#	 152+	 153+
UNREACH_LOSS			 574	1374#
VALUE				 113+	 114+	 116+	 117+	 122+	1099	1103#	1104#	1105#	1107	1129	1130#
				1131	1132#	1133	1139	1140#	1143	1257	1296#	1298#	1299
VERIFY_REJECTS			 579	1379#
X				 108+	 109+#	 110+#	 111+	 121+	 122+#	 123+	 124+
XPE_NM				 184	 220*
XPT$ECLQ			1141
XPT$NN				 794	 850	 855	 861
XPT$UPDQ			1140
XPTDBBLOCK			 247	 285+	 428+	 510+	 572	 657+	 751+	 945+	1040+	1227+	1294+	1366+
XPTDB				 247#	 282+	 283+#	 284+	 293	 295	 297	 299	 301	 303	 425+	 426+#
				 427+	 445	 507+	 508+#	 509+	 572#	 581	 654+	 655+#	 656+	 686	 748+
				 749+#	 750+	 794	 796#	 850	 855	 861	 879	 942+	 943+#	 944+	 961
				 965	1037+	1038+#	1039+	1140	1141	1224+	1225+#	1226+	1291+	1292+#	1293+
				1301	1363+	1364+#	1365+
XPTNMI				   1#
XPTNN				 796
XPT_LKG_DB_CCB			 178#	 180#	 187	 189	 191	 192	 194	 197	 445#	 581#	 686#	 879#
				 965#	1301#
XPT_LKG_NODEB			 179#	 195	 196	1165#	1232#
ZEROQ				 146+#
ZERO_NODE_COUNTERS		 197	 297	 961	1301*
$LINQ				1142
$MCB_GET_DSR			 855
$MCB_SCHEDULE_CCB		 310
$NM$ERR_IPV			 788	 800	 812	 824	 836	 872
$NM$ERR_MPE			 304
$NM$ERR_PNA			 541	 840	 875
$NM$ERR_REE			 681	 857
$NM$ERR_URC			 306	 441
$NM_RESPONSE_BEGIN		 954	1046
$NM_RESPONSE_END		 957	1163
$XPT_FOR_EACH_NODEB_DO_BEGIN	 666
$XPT_GET_LINE_DB		1062	1100	1229
$XPT_GET_NODE_DB		 434	1052
$XPT_NEXT_NODEB_END		 675
%CTCE				 114+	 133+
%REMAINING			 158+