Google
 

Trailing-Edge - PDP-10 Archives - BB-R598A-RM_1983 - swskit-v3/listings/xpt/xptnmi.list
There are no other files named xptnmi.list in the archive.
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (1)

;	  0001	module XPTNMI   (				! Network Management stuff
;	  0002			ident = 'X01080'
;	  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								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page   2
X01080								30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (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	!--
;	  0067	
;	  0068	!
;	  0069	! REQUIRED FILES
;	  0070	!
;	  0071	
;	  0072	require 'XPTMAC';
;	  0170	
;	  0171	!
;	  0172	! TABLE OF CONTENTS:
;	  0173	!
;	L 0174	%if %bliss (bliss16)
;	  0175	%then linkage XPT_LKG_DB_CCB = jsr (register = 3, register = 4),
;	  0176	              XPT_LKG_NODEb = jsr (register = 2);
;	U 0177	%else macro XPT_LKG_DB_CCB = BLISS36C %;
;	  0178	%fi
;	  0179	
;	  0180	forward routine
;	  0181	    XPE_NM: CALL$ novalue,              ! Control (i.e., NM)
;	  0182	    PKTA_HDR: CALL$ novalue,
;	  0183	    NODE_DB: LINKAGE_CCB,
;	  0184	    CLEAR_NODE: XPT_LKG_DB_CCB novalue, ! Clear a node parameter
;	  0185	    NODE_COUNTERS: novalue,             ! Get node counters
;	  0186	    RETURN_NODE_LIST: XPT_LKG_DB_CCB novalue,
;	  0187	                                        ! Return list of known nodes
;	  0188	    SET_NODE: XPT_LKG_DB_CCB novalue,   ! Set a node parameter
;	  0189	    SHOW_AND_ZERO_NODE_COUNTERS: XPT_LKG_DB_CCB novalue,
;	  0190	                                        ! Show and zero node counters
;	  0191	    SHOW_NODE: XPT_LKG_DB_CCB novalue,  ! Show node parameters
;	  0192	    SHOW_NODE_CIRCUIT : XPT_LKG_NODEb novalue,
;	  0193	    SHOW_NODE_STATE : XPT_LKG_NODEb novalue,
;	  0194	    ZERO_NODE_COUNTERS: XPT_LKG_DB_CCB novalue; ! Zero node counters
;	  0195	
;	  0196	!
;	  0197	! MACROS:
;	  0198	!
;	  0199	
;	  0200	!
;	  0201	! EQUATED SYMBOLS:
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page   3
X01080								30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (1)

;	  0202	!
;	  0203	
;	  0204	literal
;	  0205	    NODEtype = NMX$ENT_nod,
;	  0206	    CIRCUITtype = NMX$ENT_ckt;
;	  0207	
;	  0208	!
;	  0209	! OWN STORAGE:
;	  0210	!
;	  0211	
;	  0212	!
;	  0213	! EXTERNAL REFERENCES:
;	  0214	!
;	  0215	!       None
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page   4
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (2)

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

;	  0304		    tes;
;	  0305	
;	  0306	    CCB [C_FNC] = FC_CCP;
;	  0307	    $MCB_SCHEDULE_CCB (.CCB);
;	  0308	    end;


						.TITLE	XPTNMI
						.IDENT	/X01080/

						.GLOBL	.CRDAT, $SCHED


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

000000	016703  000002G			XPE.NM::
					U.1:	MOV	.CRDAT+2,R3			;					0242
000004	016504  000002 				MOV	2(R5),R4			; CCB(.AP.),*				0284
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			;					0287
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)			;					0301
000070	000425 					BR	9$				;					0287
000072	004767  000000V			2$:	JSR	PC,U.7				;					0290
000076	000422 					BR	9$				;					0287
000100	004767  000000V			3$:	JSR	PC,U.4				;					0292
000104	000417 					BR	9$				;					0287
000106	004767  000000V			4$:	JSR	PC,U.12				;					0294
000112	000414 					BR	9$				;					0287
000114	004767  000000V			5$:	JSR	PC,U.9				;					0296
000120	000411 					BR	9$				;					0287
000122	004767  000000V			6$:	JSR	PC,U.8				;					0298
000126	000406 					BR	9$				;					0287
000130	004767  000000V			7$:	JSR	PC,U.6				;					0300
000134	000403 					BR	9$				;					0284
000136	012764  177770  000014 		8$:	MOV	#-10,14(R4)			;					0303
000144	112764  000022  000012 		9$:	MOVB	#22,12(R4)			;					0306
000152	004767  000000G				JSR	PC,$SCHED			;					0307
000156	000207 					RTS	PC				;					0217

; Routine Size:  56 words,	Routine Base:  $CODE$ + 0000
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page   6
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (2)

; Maximum stack depth per invocation:  1 word


000000						.PSECT	$PLIT$,  RO ,  D  

					P.AAA:						; CASE Table for XPE.NM+0056		0287
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								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page   7
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (3)

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



						.GLOBL	$DPCM, $TPH1, $TPDU2


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

000000	005746 				PKTA.HDR::
					U.2:	TST	-(SP)				;					0309
000002	016505  000002 				MOV	2(R5),R5			; SPTR(.AP.),S				0342
000006	005002 					CLR	R2				; F					0344
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)				;					0347
000034	010100 					MOV	R1,R0				; T,*
000036	004767  000000G				JSR	PC,$DPCM
000042	110200 					MOVB	R2,R0				; F,*					0348
000044	004767  000000G				JSR	PC,$TPH1
000050	005003 					CLR	R3				;					0349
000052	020127  000004 				CMP	R1,#4				; T,*
000056	001012 					BNE	3$
000060	005203 					INC	R3
000062	112566  000002 				MOVB	(R5)+,2(SP)			; S,X					0350
000066	112566  000003 				MOVB	(R5)+,3(SP)			; S,X
000072	016602  000002 				MOV	2(SP),R2			; X,F
000076	010200 					MOV	R2,R0				; F,*					0351
000100	004767  000000G				JSR	PC,$TPDU2
000104	112566  000002 			3$:	MOVB	(R5)+,2(SP)			; S,X					0353
000110	112566  000003 				MOVB	(R5)+,3(SP)			; S,X
000114	016602  000002 				MOV	2(SP),R2			; X,F
000120	010500 					MOV	R5,R0				; S,*					0354
000122	004767  000000G				JSR	PC,$TPDU2
000126	006003 					ROR	R3				;					0355
000130	103005 					BCC	4$
000132	005002 					CLR	R2				; F					0356
000134	152502 					BISB	(R5)+,R2			; S,F
000136	010200 					MOV	R2,R0				; F,*					0357
000140	004767  000000G				JSR	PC,$TPDU2
000144	022626 				4$:	CMP	(SP)+,(SP)+			;					0309
000146	000207 					RTS	PC

; Routine Size:  52 words,	Routine Base:  $CODE$ + 0160
; Maximum stack depth per invocation:  3 words
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page   9
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (4)

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


						.GLOBL	GTNODE


						.SBTTL	NODE.DB Network Management
000000	016400  000026 			; NODE.DB
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  10
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (4)

					U.3:	MOV	26(R4),R0			; *(CCB),*				0437
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)				0438
000030	000207 				1$:	RTS	PC				;					0361

; Routine Size:  13 words,	Routine Base:  $CODE$ + 0330
; Maximum stack depth per invocation:  1 word
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  11
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (5)

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

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


						.GLOBL	KISAR6


						.SBTTL	CLEAR.NODE Network Management
000000	004167  000000G			; CLEAR.NODE
					U.4:	JSR	R1,$SAVE2			;					0442
000004	005746 					TST	-(SP)
000006	004767  177734 				JSR	PC,U.3				;					0514
000012	005700 					TST	R0				; NODEB
000014	001441 					BEQ	3$				;					0515
000016	012702  004704 				MOV	#4704,R2			; *,PNUM				0517
000022	005764  000022 				TST	22(R4)				; *(CCB)				0519
000026	001411 					BEQ	1$
000030	016467  000016  000000G			MOV	16(R4),KISAR6			; *(CCB),*				0522
000036	016401  000020 				MOV	20(R4),R1			; *(CCB),PTR
000042	112116 					MOVB	(R1)+,(SP)			; PTR,X					0523
000044	112166  000001 				MOVB	(R1)+,1(SP)			; PTR,X
000050	011602 					MOV	(SP),R2				; X,PNUM
000052	020227  004704 			1$:	CMP	R2,#4704			; PNUM,*				0526
000056	001015 					BNE	2$
000060	016301  000024 				MOV	24(R3),R1			; *(XPTDB),MXA				0531
000064	001415 					BEQ	3$
000066	016000  000002 				MOV	2(R0),R0			; *(NODEB),*				0533
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)				0534
000110	000403 					BR	3$				;					0526
000112	012764  177752  000014 		2$:	MOV	#-26,14(R4)			; *,*(CCB)				0538
000120	005726 				3$:	TST	(SP)+				;					0442
000122	000207 					RTS	PC

; Routine Size:  42 words,	Routine Base:  $CODE$ + 0362
; Maximum stack depth per invocation:  5 words
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  13
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (6)

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


						.GLOBL	$DC8, $DC16


						.SBTTL	NODE.COUNTERS Network Management
000000	010146 				; NODE.COUNTERS
					U.5:	MOV	R1,-(SP)			;					0541
000002	016701  000002G				MOV	.CRDAT+2,R1			;					0566
000006	012746  121604 				MOV	#-56174,-(SP)			;					0570
000012	116100  000130 				MOVB	130(R1),R0
000016	004767  000000G				JSR	PC,$DC8
000022	012716  141605 				MOV	#-36173,(SP)			;					0571
000026	016100  000136 				MOV	136(R1),R0
000032	004767  000000G				JSR	PC,$DC16
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  14
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (6)

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

; Routine Size:  48 words,	Routine Base:  $CODE$ + 0506
; Maximum stack depth per invocation:  3 words
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  15
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (7)

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

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


						.SBTTL	RETURN.NODE.LIST Network Management
000000	004167  000000G			; RETURN.NODE.LIST
					U.6:	JSR	R1,$SAVE5			;					0578
000004	016467  000016  000000G			MOV	16(R4),KISAR6			; *(CCB),*				0656
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)				;					0657
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					0664
000044	100012 					BPL	2$
000046	162705  000003 				SUB	#3,R5				; *,BUFLEN				0665
000052	100407 					BMI	2$
000054	116220  000002 				MOVB	2(R2),(R0)+			; *(NODEB),PTR				0667
000060	116220  000003 				MOVB	3(R2),(R0)+			; *(NODEB),PTR				0668
000064	105020 					CLRB	(R0)+				; PTR					0669
000066	062711  000003 				ADD	#3,(R1)				;					0670
000072	062702  000010 			2$:	ADD	#10,R2				; *,NODEB				0671
000076	077317 					SOB	R3,1$				; $XPT$NODEB.CNT,*			0000
000100	012764  177761  000014 		3$:	MOV	#-17,14(R4)			; *,*(CCB)				0678
000106	005705 					TST	R5				; BUFLEN				0680
000110	002403 					BLT	4$
000112	012764  000001  000014 			MOV	#1,14(R4)			; *,*(CCB)
000120	000207 				4$:	RTS	PC				;					0578

; Routine Size:  41 words,	Routine Base:  $CODE$ + 0646
; Maximum stack depth per invocation:  7 words
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  17
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (8)

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

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

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

;	  0875	end;                                    ! of SET_NODE


						.GLOBL	$DSRGT


						.SBTTL	SET.NODE Network Management
000000	004167  000000G			; SET.NODE
					U.7:	JSR	R1,$SAVE5			;					0683
000004	005746 					TST	-(SP)
000006	010446 					MOV	R4,-(SP)
000010	010400 					MOV	R4,R0				;					0710
000012	016001  000026 				MOV	26(R0),R1
000016	004767  177316 				JSR	PC,U.3				;					0755
000022	010002 					MOV	R0,R2				; *,NODEB
000024	001557 					BEQ	9$				;					0756
000026	011600 					MOV	(SP),R0				;					0760
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					0761
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					0762
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)				0765
000102	001076 					BNE	5$
000104	020427  001616 				CMP	R4,#1616			; PNUM,*				0767
000110	001012 					BNE	1$
000112	005705 					TST	R5				; PVAL					0771
000114	001553 					BEQ	15$
000116	010563  000060 				MOV	R5,60(R3)			; PVAL,*(XPTDB)				0775
000122	026305  000072 				CMP	72(R3),R5			; *(XPTDB),*				0779
000126	101541 					BLOS	14$
000130	010563  000072 				MOV	R5,72(R3)			; *,*(XPTDB)				0780
000134	000536 					BR	14$				;					0782
000136	020427  001630 			1$:	CMP	R4,#1630			; PNUM,*				0767
000142	001010 					BNE	2$
000144	005705 					TST	R5				; PVAL					0789
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)				0793
000162	000523 					BR	14$				;					0794
000164	020427  001632 			2$:	CMP	R4,#1632			; PNUM,*				0767
000170	001010 					BNE	3$
000172	005705 					TST	R5				; PVAL					0801
000174	001523 					BEQ	15$
000176	020527  001776 				CMP	R5,#1776			; PVAL,*
000202	101120 					BHI	15$
000204	010563  000040 				MOV	R5,40(R3)			; PVAL,*(XPTDB)				0805
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  21
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (8)

000210	000510 					BR	14$				;					0806
000212	020427  001633 			3$:	CMP	R4,#1633			; PNUM,*				0767
000216	001011 					BNE	4$
000220	042705  177400 				BIC	#177400,R5			; *,PVAL				0813
000224	001507 					BEQ	15$
000226	020527  000036 				CMP	R5,#36				; PVAL,*
000232	101104 					BHI	15$
000234	010563  000044 				MOV	R5,44(R3)			; PVAL,*(XPTDB)				0817
000240	000474 					BR	14$				;					0818
000242	020427  001634 			4$:	CMP	R4,#1634			; PNUM,*				0767
000246	001103 					BNE	16$
000250	042705  177400 				BIC	#177400,R5			; *,PVAL				0825
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)				0829
000276	000455 					BR	14$				;					0830
000300	020427  001630 			5$:	CMP	R4,#1630			; PNUM,*				0841
000304	001403 					BEQ	6$
000306	020427  004704 				CMP	R4,#4704			; PNUM,*
000312	001061 					BNE	16$
000314	005705 				6$:	TST	R5				; PVAL					0845
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				0850
000332	001025 					BNE	12$
000334	016301  000014 				MOV	14(R3),R1			; *(XPTDB),*				0852
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				;					0854
000356	012760  177761  000014 			MOV	#-17,14(R0)
000364	000440 				9$:	BR	17$				;					0853
000366	010463  000024 			10$:	MOV	R4,24(R3)			; MXA,*(XPTDB)				0857
000372	016301  000014 				MOV	14(R3),R1			; *(XPTDB),IDX				0858
000376	001753 					BEQ	7$
000400	005024 				11$:	CLR	(R4)+				; MXA					0860
000402	077102 					SOB	R1,11$				; IDX,*					0000
000404	000750 					BR	7$				;					0850
000406	020563  000016 			12$:	CMP	R5,16(R3)			; PVAL,*(XPTDB)				0864
000412	001001 					BNE	13$
000414	005005 					CLR	R5				; PVAL
000416	016200  000002 			13$:	MOV	2(R2),R0			; *(NODEB),*				0865
000422	006300 					ASL	R0
000424	060400 					ADD	R4,R0				; MXA,*
000426	010560  177776 				MOV	R5,-2(R0)			; PVAL,*
000432	011600 				14$:	MOV	(SP),R0				;					0866
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  22
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (8)

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

; Routine Size:  157 words,	Routine Base:  $CODE$ + 0770
; Maximum stack depth per invocation:  9 words
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  23
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (9)

;	  0876	routine SHOW_AND_ZERO_NODE_COUNTERS (XPTDB,CCB): XPT_LKG_DB_CCB novalue =
;	  0877	
;	  0878	!++
;	  0879	! FUNCTIONAL DESCRIPTION:
;	  0880	!	This routine show the counters for the specified node
;	  0881	!       and then zeroes them.
;	  0882	!
;	  0883	! FORMAL PARAMETERS:
;	  0884	!
;	  0885	!	CCB	CCB to pass to handler routine
;	  0886	!
;	  0887	! IMPLICIT INPUTS:
;	  0888	!	CCB Contents
;	  0889	!
;	  0890	! IMPLICIT OUTPUTS:
;	  0891	!	None
;	  0892	!
;	  0893	! ROUTINE VALUE:
;	  0894	! COMPLETION CODES:
;	  0895	!	None
;	  0896	!
;	  0897	! SIDE EFFECTS:
;	  0898	!	None
;	  0899	!--
;	  0900	
;	  0901	    begin
;	  0902	    map CCB: ref block field(C_NM_FIELDS);
;	  0903	    bind NMPAR = CCB[C_NM_NMPAR]: ref block field(NMX_NMPAR_FIELDS),
;	  0904	         NODE_ADDRESS = .NMPAR[NMX_NMPAR_NODE_ADDRESS];
;	  0905	    local NODEb;
;	  0906	    require 'XPTSYM';
;	  0943	
;	  0944	    if (NODEb = NODE_DB (.CCB)) eqla 0
;	  0945	    then return;                        ! Invalid node address
;	  0946	
;	  0947	!
;	  0948	!  Map in the return buffer
;	  0949	!
;	  0950	
;	  0951	    $NM_RESPONSE_BEGIN(.CCB);
;	  0952	    if NODE_ADDRESS eqlu .Tid
;	  0953	    then NODE_COUNTERS (.NODEb);
;	  0954	    $NM_RESPONSE_END(.CCB);
;	  0955	    begin
;	  0956	    local STS_SAVE;
;	  0957	    STS_SAVE = .CCB [C_STS];
;	  0958	    ZERO_NODE_COUNTERS (.XPTDB,.CCB);
;	  0959	    CCB [C_STS] = .STS_SAVE;
;	  0960	    end;
;	  0961	    end;                                ! of SHOW_AND_ZERO_CIRCUIT_COUNTERS
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  24
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (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			;					0876
000004	016402  000026 				MOV	26(R4),R2			; *(CCB),*				0904
000010	004767  176632 				JSR	PC,U.3				;					0944
000014	010001 					MOV	R0,R1				; *,NODEB
000016	001422 					BEQ	2$				;					0945
000020	004767  000000G				JSR	PC,$NRBEG			;					0951
000024	026263  000004  000056 			CMP	4(R2),56(R3)			; *,*(XPTDB)				0952
000032	001004 					BNE	1$
000034	010146 					MOV	R1,-(SP)			; NODEB,*				0953
000036	004767  176762 				JSR	PC,U.5
000042	005726 					TST	(SP)+
000044	004767  000000G			1$:	JSR	PC,$NREND			;					0954
000050	016401  000014 				MOV	14(R4),R1			; *(CCB),STS.SAVE			0957
000054	004767  000000V				JSR	PC,U.12				;					0958
000060	010164  000014 				MOV	R1,14(R4)			; STS.SAVE,*(CCB)			0959
000064	000207 				2$:	RTS	PC				;					0876

; Routine Size:  27 words,	Routine Base:  $CODE$ + 1462
; Maximum stack depth per invocation:  5 words
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  25
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (10)

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

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

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

;	  1154	            set
;	  1155	            [TYPE_E]:
;	  1156	                NODE_COUNTERS (.NODEb);
;	  1157	            tes;
;	  1158	    tes;
;	  1159	
;	  1160	    $NM_RESPONSE_END(.CCB);
;	  1161	    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			;					0962
000004	016400  000026 				MOV	26(R4),R0			; *(CCB),*				0989
000010	016001  000004 				MOV	4(R0),R1			;					0986
000014	004767  000000G				JSR	PC,$NRBEG			;					1043
000020	010100 					MOV	R1,R0				;					1049
000022	004767  000000G				JSR	PC,GTNODE
000026	010002 					MOV	R0,R2				; *,NODEB
000030	001446 					BEQ	5$
000032	032712  000400 				BIT	#400,(R2)			; *,NODEB				1051
000036	001411 					BEQ	2$
000040	020163  000056 				CMP	R1,56(R3)			; *,*(XPTDB)				1053
000044	001003 					BNE	1$
000046	012705  000004 				MOV	#4,R5				; *,NODE.TYPE				1054
000052	000444 					BR	7$				;					1053
000054	012705  000003 			1$:	MOV	#3,R5				; *,NODE.TYPE				1055
000060	000441 					BR	7$				;					1051
000062	005712 				2$:	TST	(R2)				; NODEB					1057
000064	100025 					BPL	4$
000066	111200 					MOVB	(R2),R0				; NODEB,*				1059
000070	004767  000000G				JSR	PC,GTLINE
000074	010001 					MOV	R0,R1				; *,LINEB
000076	116100  000002 				MOVB	2(R1),R0			; *(LINEB),*				1060
000102	020027  000004 				CMP	R0,#4
000106	002405 					BLT	3$
000110	020027  000005 				CMP	R0,#5
000114	003002 					BGT	3$
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  29
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (10)

000116	005005 					CLR	R5				; NODE.TYPE				1063
000120	000421 					BR	7$				;					1060
000122	026227  000004  000001 		3$:	CMP	4(R2),#1			; *(NODEB),*				1065
000130	001003 					BNE	4$
000132	012705  000001 				MOV	#1,R5				; *,NODE.TYPE				1066
000136	000412 					BR	7$				;					1065
000140	012705  000002 			4$:	MOV	#2,R5				; *,NODE.TYPE				1070
000144	000407 					BR	7$				;					1049
000146	005701 				5$:	TST	R1				;					1072
000150	001003 					BNE	6$
000152	012705  000005 				MOV	#5,R5				; *,NODE.TYPE				1073
000156	000402 					BR	7$				;					1072
000160	012705  000006 			6$:	MOV	#6,R5				; *,NODE.TYPE				1074
000164	016400  000024 			7$:	MOV	24(R4),R0			; *(CCB),*				1076
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,*				1079
000214	001002 					BNE	9$
000216	004767  000000V				JSR	PC,U.11				;					1082
000222	020527  000002 			9$:	CMP	R5,#2				; NODE.TYPE,*				1079
000226	101072 					BHI	19$
000230	004767  000000V				JSR	PC,U.11				;					1085
000234	000465 					BR	18$				;					1086
000236	020527  000003 			10$:	CMP	R5,#3				; NODE.TYPE,*				1090
000242	101002 					BHI	11$
000244	004767  000000V				JSR	PC,U.11				;					1093
000250	020527  000001 			11$:	CMP	R5,#1				; NODE.TYPE,*				1090
000254	101030 					BHI	16$
000256	111200 					MOVB	(R2),R0				; NODEB,*				1097
000260	004767  000000G				JSR	PC,GTLINE
000264	010001 					MOV	R0,R1				; *,LINEB
000266	116100  000002 				MOVB	2(R1),R0			; *(LINEB),*				1098
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					1100
000306	000405 					BR	15$				;					1098
000310	012701  000001 			13$:	MOV	#1,R1				; *,VALUE				1101
000314	000402 					BR	15$				;					1098
000316	012701  000002 			14$:	MOV	#2,R1				; *,VALUE				1102
000322	012746  001452 			15$:	MOV	#1452,-(SP)			;					1104
000326	110100 					MOVB	R1,R0				; VALUE,*
000330	004767  000000G				JSR	PC,$DPC1
000334	005726 					TST	(SP)+				;					1095
000336	005705 				16$:	TST	R5				; NODE.TYPE				1090
000340	001420 					BEQ	17$
000342	020527  000002 				CMP	R5,#2				; NODE.TYPE,*
000346	101176 					BHI	23$
000350	012746  001464 				MOV	#1464,-(SP)			;					1108
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  30
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (10)

000354	016200  000006 				MOV	6(R2),R0			; *(NODEB),*
000360	004767  000000G				JSR	PC,$DPDU2
000364	012716  001465 				MOV	#1465,(SP)			;					1109
000370	116200  000004 				MOVB	4(R2),R0			; *(NODEB),*
000374	004767  000000G				JSR	PC,$DPDU1
000400	005726 					TST	(SP)+				;					1107
000402	020527  000002 			17$:	CMP	R5,#2				; NODE.TYPE,*				1090
000406	101163 					BHI	25$
000410	004767  000000V			18$:	JSR	PC,U.10				;					1112
000414	000560 				19$:	BR	25$				;					1076
000416	020527  000004 			20$:	CMP	R5,#4				; NODE.TYPE,*				1115
000422	001126 					BNE	21$
000424	012746  001604 				MOV	#1604,-(SP)			;					1119
000430	012700  000003 				MOV	#3,R0
000434	004767  000000G				JSR	PC,$DPCM
000440	116700  000014'				MOVB	P.AAD,R0			;					1120
000444	004767  000000G				JSR	PC,$TPDU1
000450	116700  000016'				MOVB	P.AAE,R0			;					1121
000454	004767  000000G				JSR	PC,$TPDU1
000460	116700  000020'				MOVB	P.AAF,R0			;					1122
000464	004767  000000G				JSR	PC,$TPDU1
000470	012716  001605 				MOV	#1605,(SP)			;					1123
000474	116700  000022'				MOVB	P.AAG,R0
000500	004767  000000G				JSR	PC,$DPC1
000504	012716  001616 				MOV	#1616,(SP)			;					1124
000510	016300  000060 				MOV	60(R3),R0			; *(XPTDB),*
000514	004767  000000G				JSR	PC,$DPDU2
000520	016301  000016 				MOV	16(R3),R1			; *(XPTDB),VALUE			1127
000524	012716  001630 				MOV	#1630,(SP)			;					1128
000530	010100 					MOV	R1,R0				; VALUE,*
000532	004767  000000G				JSR	PC,$DPDU2
000536	016301  000022 				MOV	22(R3),R1			; *(XPTDB),VALUE			1129
000542	012716  001631 				MOV	#1631,(SP)			;					1130
000546	010100 					MOV	R1,R0				; VALUE,*
000550	004767  000000G				JSR	PC,$DPDU2
000554	012716  001632 				MOV	#1632,(SP)			;					1132
000560	016300  000040 				MOV	40(R3),R0			; *(XPTDB),*
000564	004767  000000G				JSR	PC,$DPDU2
000570	012716  001633 				MOV	#1633,(SP)			;					1133
000574	116300  000044 				MOVB	44(R3),R0			; *(XPTDB),*
000600	004767  000000G				JSR	PC,$DPDU1
000604	012716  001634 				MOV	#1634,(SP)			;					1134
000610	116300  000050 				MOVB	50(R3),R0			; *(XPTDB),*
000614	004767  000000G				JSR	PC,$DPDU1
000620	005001 					CLR	R1				;					1138
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				;					1139
000640	156301  000034 				BISB	34(R3),R1			; *(XPTDB),*
000644	060100 					ADD	R1,R0
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  31
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (10)

000646	012716  001642 				MOV	#1642,(SP)			;					1140
000652	004767  000000G				JSR	PC,$DPDU2
000656	012716  001643 				MOV	#1643,(SP)			;					1142
000662	016300  000124 				MOV	124(R3),R0			; *(XPTDB),*
000666	004767  000000G				JSR	PC,$DPDU2
000672	005726 					TST	(SP)+				;					1118
000674	020527  000004 				CMP	R5,#4				; NODE.TYPE,*				1115
000700	101026 				21$:	BHI	25$
000702	016300  000024 				MOV	24(R3),R0			; *(XPTDB),MXA				1147
000706	001423 					BEQ	25$
000710	016202  000002 				MOV	2(R2),R2			; *(NODEB),*				1148
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)			;					1149
000732	004767  000000G				JSR	PC,$DPDU2
000736	000406 					BR	24$
000740	020527  000004 			22$:	CMP	R5,#4				; NODE.TYPE,*				1153
000744	001004 				23$:	BNE	25$
000746	010246 					MOV	R2,-(SP)			; NODEB,*				1156
000750	004767  175762 				JSR	PC,U.5
000754	005726 				24$:	TST	(SP)+
000756	004767  000000G			25$:	JSR	PC,$NREND			;					1160
000762	000207 					RTS	PC				;					0962

; 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		1076
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		1098
000034	000000 					.WORD	0				; [12$]
000036	000004 					.WORD	4				; [13$]
000040	000012 					.WORD	12				; [14$]
000042	000012 					.WORD	12				; [14$]
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  32
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (11)

;	  1162	routine SHOW_NODE_CIRCUIT (NODEb): XPT_LKG_NODEb novalue =
;	  1163	
;	  1164	!++
;	  1165	! FUNCTIONAL DESCRIPTION:
;	  1166	!	This routine shows the node circuit
;	  1167	!
;	  1168	! FORMAL PARAMETERS:
;	  1169	!
;	  1170	!	CCB	CCB to pass to handler routine
;	  1171	!
;	  1172	! IMPLICIT INPUTS:
;	  1173	!	CCB Contents
;	  1174	!
;	  1175	! IMPLICIT OUTPUTS:
;	  1176	!	None
;	  1177	!
;	  1178	! ROUTINE VALUE:
;	  1179	! COMPLETION CODES:
;	  1180	!	None
;	  1181	!
;	  1182	! SIDE EFFECTS:
;	  1183	!	None
;	  1184	!--
;	  1185	
;	  1186	    begin
;	  1187	    local LINEb;
;	  1188	    require 'XPTSYM';
;	  1225	
;	  1226	    LINEb = $XPT_GET_LINE_DB(.OL);
;	  1227	    NMX$PARAMETER_CIRCUIT(PD_NMX,.NMXid,822);
;	  1228	    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,*				1226
000002	004767  000000G				JSR	PC,GTLINE
000006	012746  001466 				MOV	#1466,-(SP)			;					1227
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				;					1186
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  33
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (11)

000054	000207 					RTS	PC				;					1162

; Routine Size:  23 words,	Routine Base:  $CODE$ + 2534
; Maximum stack depth per invocation:  7 words
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  34
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (12)

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


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

; Routine Size:  13 words,	Routine Base:  $CODE$ + 2612
; Maximum stack depth per invocation:  3 words
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  35
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (13)

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


						.SBTTL	ZERO.NODE.COUNTERS Network Management
000000	010146 				; ZERO.NODE.COUNTERS
					U.12:	MOV	R1,-(SP)			;					1298
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  36
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (13)

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

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


;	  1381	
;	  1382	end
;	  1383	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
;
;  NETPKG:<MCB>XPORTX.L16.15		       599         0         0         0
;  NETPKG:<MCB>MCBLIB.L16.15		       372        32         8         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200        62        31         0
;  NETPKG:<XPT>XPTLIB.L16.3		       510       180        35         0
XPTNMI								25-Jan-1983 09:54:03	TOPS-20 Bliss-16 2A(530)	    Page  37
X01080		Network Management				30-Dec-1982 21:37:03	NETPKG:<XPT>XPTNMI.BLI.9 (13)



; Size:		752 code + 18 data words
; Run Time:	00:15.6
; Elapsed Time:	00:53.0
; Memory Used:	59 pages
; Compilation Complete
ADDR				 433	 434#	 435	 436
ADDRESS				 124+	 126+	 127+	 129+	 130+	 132+	 133+	 139+	 140+	 143+	 144+	 145+
AGED_LOSS			 570	1370#
BITON				 344
BLISS16				 174
BPT				 153+#	 165+#
BUFCHK				 157+	 158+#	 167+	 168+#
BUFLEN				 616	 656	 665#	 680
CALL$				 181	 182	 217#	 309#
CCB				 217	 245	 284	 287	 290	 292	 294	 296	 298	 300	 301#	 303#
				 306#	 307	 361	 386	 387	 438#	 442	 467	 468	 514	 519	 522
				 534#	 538#	 578	 615	 656	 657#	 670#	 678#	 680#	 683	 708	 709
				 755	 760	 782#	 785#	 794#	 797#	 806#	 809#	 818#	 821#	 830#	 833#
				 837#	 854#	 866#	 869#	 872#	 876	 902	 903	 944	 951	 954	 957
				 958	 959#	 962	 987	 988	1043	1076	1160	1298	1323	1324	1365
				1379#
CHKBUF				 160+*	 161+
CIRCUITTYPE			 206#
CLEAR_NODE			 184	 292	 442*
COUNTER_16			 571
COUNTER_8			 570	 572	 573	 574	 575	 576
C_CNT				 519	 657	 670
C_FNC				 306
C_NM_ENTITY			 284
C_NM_FIELDS			 245	 386	 467	 615	 708	 902	 987	1323
C_NM_FUNC			 287
C_NM_NMPAR			 387	 468	 709	 903	 988	1324
C_NM_SELECT			1076
C_STS				 301	 303	 438	 534	 538	 678	 680	 782	 785	 794	 797	 806
				 809	 818	 821	 830	 833	 837	 854	 866	 869	 872	 957	 959
				1379
DLLSIZE				1142
EQLU				 952	1368
F				 340	 344#	 348	 350#	 351	 353#	 356#	 357
FC_CCP				 306
FORMAT_ERRORS			 574	1374#
FULL				1100
GETB				 344	 356
GETQ				 124+#
GETW				 103+#	 126+	 127+	 350	 353	 523	 761	 762
I				 148+	 150+
IDX				 858
J				 148+	 150+
LINEBLOCK			 273+	 416+	 498+	 645+	 739+	 933+	1028+	1215+	1282+	1354+
LINEB				 271+	 273+	 414+	 416+	 496+	 498+	 643+	 645+	 737+	 739+	 931+	 933+
				1000	1026+	1028+	1059#	1097#	1187	1213+	1215+	1226#	1280+	1282+	1352+
				1354+
LINKAGE_CCB			 183	 361#
LOCAL_NODE			1051
M				 148+	 149+
MAPBUF				 522	 656	 760
MATRIX				 148+#	 150+
MAXC				 805#	1132
MAXH				 817#	 827	1133
MAXV				 829#	1134
MCB$GAW_PROCESS_DATA_BASE	 243	 244	 276+	 277+	 280+	 419+	 420+	 423+	 501+	 502+	 505+	 568
				 569	 648+	 649+	 652+	 742+	 743+	 746+	 936+	 937+	 940+	1031+	1032+
				1035+	1218+	1219+	1222+	1285+	1286+	1289+	1357+	1358+	1361+
MINCOST				1108
MINHOP				1065	1109
MXA				 530	 531#	 533#	 849	 850#	 852	 857	 860#	 861#	 865#	1146	1147#
				1148#	1149
N				 148+	 149+
NL				 148+	 150+
NLN				1129
NM$SUC				 534	 680	 782	 794	 806	 818	 830	 866	1379
NMPAR				 387#	 434	 468#	 469	 709#	 710	 903#	 904	 988#	 989	1324#	1325
NMX$ENT_CKT			 206
NMX$ENT_NOD			 205	 286
NMX$FNC_CLR			 291
NMX$FNC_HI			 287
NMX$FNC_LO			 287
NMX$FNC_RET			 299
NMX$FNC_SET			 289
NMX$FNC_SHO			 295
NMX$FNC_SZC			 297
NMX$FNC_ZRO			 293
NMX$PARAMETER_CIRCUIT		1227
NMX$SEL_CHA			1114
NMX$SEL_COU			1152
NMX$SEL_HI			1076
NMX$SEL_LO			1076
NMX$SEL_STA			1089
NMX$SEL_SUM			1078
NMXID				1227
NMX_NMPAR_FIELDS		 387	 468	 709	 903	 988	1324
NMX_NMPAR_NODE_ADDRESS		 434	 469	 710	 904	 989	1325
NN				 864	1127
NODEADDRESS			 533	 667	 668	 865	1148
NODEBLOCK			 268+	 411+	 493+	 567	 640+	 734+	 928+	1023+	1210+	1277+	1349+
NODEB				 266+	 268+	 388	 409+	 411+	 431#	 440	 470	 491+	 493+	 514#	 541
				 567	 638+	 640+	 711	 732+	 734+	 755#	 905	 926+	 928+	 944#	 953
				1000	1021+	1023+	1049#	1082	1085	1086	1093	1112	1156	1162	1208+
				1210+	1229	1275+	1277+	1326	1347+	1349+	1365#
NODEMAXIMUM_ADDRESS_VECTOR	 531	 850	 857#	1147
NODETYPE			 205#
NODE_ADDRESS			 469#	 710#	 765	 904#	 952	 989#	1049	1053	1072	1325#	1368
NODE_COUNTERS			 185	 541*	 953	1156
NODE_DB				 183	 361*	 514	 755	 944	1365
NODE_TYPE			1000	1054#	1055#	1063#	1066#	1067#	1070#	1073#	1074#	1079	1090	1115
				1153
NOP				 165+	 166+	 168+
NO_LINEB			 272+	 415+	 497+	 644+	 738+	 932+	1027+	1214+	1281+	1353+
NO_NODEB			 267+	 410+	 492+	 639+	 733+	 927+	1022+	1209+	1276+	1348+
NTY				1060	1098
OL				1059	1097	1226
OVERSIZE_LOSS			 573	1373#
PARAMETER_CM			 347	1119
PARAMETER_C_1			1104	1123	1296
PARAMETER_DU_1			1109	1120	1121	1122	1133	1134
PARAMETER_DU_2			 351	 354	 357	1108	1124	1128	1130	1132	1140	1142	1149
PARAMETER_H_1			 348
PD_NMX				1227
PHTWO				1062	1102
PKTA_HDR			 182	 309*
PNUM				 508	 517#	 523#	 526	 749	 761#	 767	 841
POINTER				 341	 521	 617	 759
PTR				 103+	 106+	 107+	 110+	 113+	 114+	 120+	 121+	 124+	 126+	 127+	 129+
				 132+	 133+	 134+	 135+	 139+	 140+	 521	 522	 523	 617	 656	 667
				 668	 669	 759	 760	 761	 762
PUTB				 667	 668	 669
PUTQ				 129+#
PUTW				 110+#	 139+	 140+
PVAL				 749	 762#	 771	 775	 789	 793	 801	 805	 813#	 817	 825#	 829
				 845	 864#	 865
RANGE_LOSS			 572	1372#
REACH				 664	1057	1294
RETURN_NODE_LIST		 186	 300	 578*
ROUTING_CLOCK			 779	 780#
ROUTING_LOSS			 575	1375#
ROUTING_TIMER			 775#	 779	 780	1124
S				 341	 342#	 344	 350	 353	 354	 356
SET_NODE			 188	 290	 683*
SHOW_AND_ZERO_NODE_COUNTERS	 189	 298	 876*
SHOW_NODE			 191	 296	 962*
SHOW_NODE_CIRCUIT		 192	1086	1112	1162*
SHOW_NODE_STATE			 193	1082	1085	1093	1229*
SMALL				1101
SPTR				 309	 342
STS_SAVE			 956	 957#	 959
T				 340	 344#	 347	 349	 355
TID				 765	 952	1053	1368
TYPE_A				 992#	 998	 999	1066	1083	1092	1094	1106	1111	1144
TYPE_BAD			 997#	 998	 999	1074
TYPE_E				 995#	 998	 999	1054	1117	1144	1155
TYPE_HI				 999#
TYPE_L				 996#	 998	 999	1073
TYPE_LO				 998#
TYPE_R				 993#	 998	 999	1067	1070	1083	1092	1106	1111	1144
TYPE_U				 994#	 998	 999	1055	1081	1092	1144
TYPE_2				 991#	1063	1083	1092	1094	1111	1144
UNIT				 148+#	 149+	 150+
UNREACH_LOSS			 571	1371#
VALUE				 110+	 111+	 113+	 114+	 119+	1096	1100#	1101#	1102#	1104	1126	1127#
				1128	1129#	1130	1136	1137#	1140	1254	1293#	1295#	1296
VERIFY_REJECTS			 576	1376#
X				 105+	 106+#	 107+#	 108+	 118+	 119+#	 120+	 121+
XPE_NM				 181	 217*
XPT$ECLQ			1138
XPT$NN				 791	 847	 852	 858
XPT$UPDQ			1137
XPTDBBLOCK			 244	 282+	 425+	 507+	 569	 654+	 748+	 942+	1037+	1224+	1291+	1363+
XPTDB				 244#	 279+	 280+#	 281+	 290	 292	 294	 296	 298	 300	 422+	 423+#
				 424+	 442	 504+	 505+#	 506+	 569#	 578	 651+	 652+#	 653+	 683	 745+
				 746+#	 747+	 791	 793#	 847	 852	 858	 876	 939+	 940+#	 941+	 958
				 962	1034+	1035+#	1036+	1137	1138	1221+	1222+#	1223+	1288+	1289+#	1290+
				1298	1360+	1361+#	1362+
XPTNMI				   1#
XPTNN				 793
XPT_LKG_DB_CCB			 175#	 177#	 184	 186	 188	 189	 191	 194	 442#	 578#	 683#	 876#
				 962#	1298#
XPT_LKG_NODEB			 176#	 192	 193	1162#	1229#
ZEROQ				 143+#
ZERO_NODE_COUNTERS		 194	 294	 958	1298*
$LINQ				1139
$MCB_GET_DSR			 852
$MCB_SCHEDULE_CCB		 307
$NM$ERR_IPV			 785	 797	 809	 821	 833	 869
$NM$ERR_MPE			 301
$NM$ERR_PNA			 538	 837	 872
$NM$ERR_REE			 678	 854
$NM$ERR_URC			 303	 438
$NM_RESPONSE_BEGIN		 951	1043
$NM_RESPONSE_END		 954	1160
$XPT_FOR_EACH_NODEB_DO_BEGIN	 663
$XPT_GET_LINE_DB		1059	1097	1226
$XPT_GET_NODE_DB		 431	1049
$XPT_NEXT_NODEB_END		 672
%CTCE				 111+	 130+
%REMAINING			 155+