*DECK NS$IMS PROC NS$IMS; # TITLE NS$IMS - NS INTERNAL MAINTAINENCE SPECIFICATION. # BEGIN # NS$IMS # # ** NS$IMS - NS INTERNAL MAINTAINENCE SPECIFICATION(IMS). * * A. LIM 83/01/05 * * THIS PROCEDURE CONTAINS NO EXECUTABLE CODE. IT IS AN IMS. * * PROC NS$IMS * * ENTRY NONE * * EXIT NONE * *E * 1.0 INTRODUCTION * 2.0 OVERLAY STRUCTURES * 2.1 OVERLAY LOADING * 3.0 TABLE STRUCTURES * 3.1 NPU TABLE (NPT) * 3.2 NPU ACTIVITY TABLE (NAT) * 3.3 NPU STATUS TABLE (NST) * 3.4 NODE CONNECTION TABLE (NCT) * 3.5 HISTORY BUFFER * 3.6 K-DISLPAY BUFFER * 3.7 PAGE-WAIT BUFFER * 3.8 NETWORK CONFIGURATION FILE * 3.8.1 NPU CROSS REFERENCE TABLE * 3.8.2 PHYSICAL LINK CROSS REFERENCE TABLE * 3.9 NETWORK DUMP FILE (NDF) * 3.10 NETWORK LOAD FILE (NLF) * 4.0 OVERVIEW * 4.1 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY SAM * 4.2 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY PIP * 4.3 REMOTE NPU DUMP/LOAD PROCESS * 4.4 DUMP PROCEDURE * 4.4.1 DUMP DECISION * 4.4.2 DUMP SM SEQUENCE * 4.5 LOAD PROCEDURE * 4.5.1 LOAD SM SEQUENCE * 4.6 NS STATE TABLE * 4.6.1 NS STATE DIAGRAM * 4.6.2 NOTES ON NS STATE DIAGRAM * 4.7 STRUCTURE CHARTS * 4.7.1 NS EXECUTIVE * 4.7.2 SM PROCESSOR * 4.7.2.1 NETWORK SM PROCESSOR * 4.7.2.2 HOST SM PROCESSOR * 5.0 MISCELLANEOUS * 5.1 NS CONTROL STATEMENT PARAMETERS * 5.2 TSB MANAGER * 5.3 MACREL INTERFACE * 5.4 HOST OPERATOR COMMANDS * 6.0 MODULE DESCRIPTIONS * * * * * *E * 1.0 INTRODUCTION * * THE NETWORK SUPERVISOR (NS) EXECUTES AS A NAM APPLICATION * WITH SPECIAL PRIVILEGES AND RESPONDS TO REQUESTS TO * PERFORM THE FOLLOWING PROCEDURE: * * (1) DUMP NPU MEMORY INTO A HOST PERMANENT FILE AS * DIRECTED BY THE DUMP PROCEDURE CONTROL BLOCK * DIRECTIVES OF THE PROGRAM INITIATION CONTROL * BLOCK (PICB) THAT RESIDES ON THE NETWORK LOAD * FILE (NLF). * * (2) LOAD CCP SOFTWARE FROM NETWORK LOAD FILE (NLF), * AND NPU CONFIGURATION BLOCK (NCB) FROM THE * NETWORK CONFIGURATION FILE (NCF) INTO NPU * MEMORY AS DIRECTED BY THE LOAD PROCEDURE * CONTROL BLOCK (LPCB) DIRECTIVES OF THE PICB * THAT RESIDES ON NLF. * * (3) SUPPORT NAM K-DISPLAY COMMANDS. * * * * *E * 2.0 OVERLAY STRUCTURES * * NS IS COMPOSED OF A MAIN OVERLAY AND SEVEN PRIMARY * OVERLAYS, WITH SOME PRIMARY OVERLAYS CONSIST OF * SECONDARY OVERLAYS. * THE FOLLOWING IS A GENERAL MEMORY LAYOUT OF NS. * THE FIELD LENGTH, AND THE LENGTH OF THE VARIOUS * OVERLAYS ARE SUBJECT TO CHANGE IF FUTURE ENHANCEMENT * OR MODIFICATION IS SO DECIDED TO BE NECESSARY. * THE FIELD LENGTH SHOWS IN THIS DIAGRAM IS JUST * AN APPROXIMATION. * DUE TO PAGE SIZE CONTRAINT, NOT ALL THE SECONDARY * OVERLAYS ARE SHOWN IN THE DIAGRAM. * * * 0 +-----------------------------------------------------------+ * I I * I I * I I * I I * I I * I 0,0 I * I I * I I * I I * I I * I I * 15000 +-----------------------------------------------------------+ * I I I I 4,0 I I I I * I I 2,0 I 3,0 I I I 6,0 I I * I I I I-----I 5,0 I I I * I 1,0 I----------------+-----+ I I-----I 7,0 I * I I I I I I I I I I * I I2,1I2,2I...I2,13I +-----+ I I * I I I---+ I I I I * +------------+---+ +----+ +-----+ * I I I I * I I I1,5I * I 1,1I...I I * I I I I * I I +---+ * I I * 16500 +----+ * * * OVERLAY NUMBER DESCRIPTIONS * -------------- ------------ * * 0,0 NS MAIN/RESIDENT OVERLAY * NS EXECUTIVE * UTILITY ROUTINES * * 1,0 NS INITIALIZATION OVERLAY * * 1,2 NS NETON PROCESSOR OVERLAY * * 1,3 NS BUILD NODE CONNECTION TABLE(NCT) OVERLAY * * 1,4 NS BUILD NPU TABLE(NPT) OVERLAY * * 1,5 NS NPU DUMP INDEX INITIALIZER OVERLAY * * 2,0 NS HOST INTERFACE OVERLAY * * 2,1 NS HOP/BREAK PROCESSOR OVERLAY * * 2,2 NS HOP/END PROCESSOR OVERLAY * * 2,3 NS HOP COMMAND CRACKER OVERLAY * * 2,4 NS FILE COMMAND PROCESSOR OVERLAY * * 2,5 NS HISTORY COMMAND PROCESSOR OVERLAY * * 2,6 NS NOFILE COMMAND PROCESSOR OVERLAY * * 2,7 NS STATUS COMMMAND PROCESSOR OVERLAY * * 2,10 NS K-DISPLAY DIAGNOSTIC OVERLAY * * 2,11 NS HOP/PAGE PROCESSOR OVERLAY * * 2,12 NS PROGRAM COMMAND PROCESSOR OVERLAY * * 2,13 NS HOP/START PROCESSOR OVERLAY * * 3,0 NS K-DISLPAY MANAGER OVERLAY * * 4,0 NS NPU ABNORMAL RESPONSE PROCESSOR OVERLAY * * 5,0 NS ERROR PROCESSOR OVERLAY * * 6,0 NS LOAD REQUEST PROCESSOR OVERLAY * * 7,0 NS NDCB RESPONSE PROCESSOR OVERLAY * * *E * 2.1 OVERLAY LOADING * * OVERLAY LOADING IS DONE VIA SUBROUTINE CALL TO NETWORK * DEFINITION LANGUAGE PROCESSOR (NDLP) ROUTINE *NDLOVLD*. * NDLOVLD-S MAJOR FUNCTION IS TO LOAD OVERLAYS. * IT DETERMINES IF PRIMARY OR SECONDARY OVERLAY IS * REQUESTED. IF THE OVERLAY HAS ALREADY BEEN LOADED * JUST SET UP THE RJ AND JUMP TO IT. OTHERWISE, LOAD * IT. OVERLAY LOAD ERRORS CAUSE NS TO ABORT. CLEAR * THE SECONDARY DATA WORDS TO ZERO WHEN LOADING A NEW * PRIMARY. ALSO SAVE THE PRIMARY RETURN ADDRESS * TO PRESERVE IT IF SECONDARIES ARE LATER LOADED. * UPON RETURN FROM TEH OVERLAY, FOR PRIMARIES, RESTORE * THE RETURN ADDRESS IN CASE IT HAS BEEN CLOBBERED BY * SECONDARY OVERLAY LOADS. FOR SECONDARIES, RESTORE * THE PRIMARY NAME IN CUROVL. RETURN. * * ENTRY PARAMETERS: 42/OVL-NAME,6/0,6/PRI,6/SEC * OVL-NAME = 7-CHARACTERS OR LESS OVERLAY NAME * PRI = PRIMARY OVERLAY NUMBER * SEC = SECONDARY OVERLAY NUMBER * * EXIT PARAMETERS: CUROVL - CURRENT OVERLAY SET IN * EXTERNAL REFERENCE AREA. * * * * *E * 3.0 TABLE STRUCTURES * * THE TABLES DESCRIBED IN THE FOLLOWING SUBSECTIONS ARE * MAJOR TABLES USED BY NS. * * *E * 3.1 NPU TABLE (NPT) * * THE NPU-TABLE(NPT) CONSISTS OF A ONE-WORD HEADER AND * A FIVE-WORD ENTRY FOR EACH NPU DEFINED IN THE NETWORK * CONFIGURATION FILE. IT HAS THE FOLLOWING FORMAT: * * HEADER FORMAT: * *TEXT *T 6/ID,12/EC,18/0,12/NLTAIL,12/NLHEAD *ENDTEXT * * ID = NPU TABLE ID (5) * EC = NPU TABLE ENTRY COUNT * NLTAIL = NAT LIST TAIL PTR * NLHEAD = NAT LIST HEAD PTR * * * NPT FORMAT: * *TEXT *T WORD+0 42/NPU-NAME,2/-,1/L,1/D,1/F,1/S,4/PEC,8/NPUNN *T WORD+1 36/VAR-NAME,8/NCTOR,4/LSN,12/NSTTSB *T WORD+2 12/NATTSB,48/N-NODE-NUMBERS *T WORD+3 30/NCB-LENGTH,30/NCB-RSA *T WORD+4 42/ALF-PFN,6/-,12/DIR-TSB *ENDTEXT * * NPU-NAME = NPU NAME * - = UNUSED * L = LAST LOAD FILE FAILED FLAG * D = DEFAULT DUMP FLAG * F = LONG TERM DUMP FLAG * S = SUD BYPASS FLAG * PEC = PROTOCOL ERROR COUNT * NPUNN = NPU NODE NUMBER * VAR-NAME = NPU VARIANT NAME * NCTOR = NODE CONNECTION TABLE ORDINAL * LSN = LOAD SEQUENCE NUMBER * NSTTSB = NPU STATUS TABLE TSB NUMBER * NATTSB = NPU ACTIVITY TABLE TSB NUMBER * N-NODE-NUMBERS = NEIGHBOR NODE NUMBERS * NCB-LENGTH = LENGTH OF NCB IN NPU WORDS * NCB-RSA = NCB RELATIVE SECTOR ADDRESS * ALF-PFN = ALTERNATE NLF PFN * DIR-TSB = ALTERNATE NLF DIRECTORY TSB NUMBER * * *E * 3.2 NPU ACTIVITY TABLE (NAT) * * NAT IS A DYNAMIC TABLE USED BY NS TO CO-ORDINATE * AND CONTROL ACTIVITY ON AN NPU. IT IS CREATED * WHEN AN ACTIVITY(NPU DUMP, NPU LOAD, OR SAM LOAD * BEGINS AND IS RELEASED WHEN THE ACTIVITY TERMINATES. * IT HAS THE FOLLOWING FORMAT: * *TEXT *T WORD+0 6/ID,12/S,12/NCT-ORD,3/-,3/EC,12/BPTR,12/FPTR *T WORD+1 8/RN,8/CN,8/PN,8/SPN,4/LSN,8/NO,1/-,1/N,1/L,1/R,3/RTC,1/-,7/ST *T WORD+2 4/-,8/BC,12/NDTSBN,12/PITSBN,12/PENDI,12/XPCBI *T WORD+3 4/DC,3/-,1/P,3/DBT,1/S,24/DIRP1,24/DIRP2 *T WORD+4 30/CCRI,30/NCRI *T WORD+5 24/LTIMER,24/GTIMER,12/SMTSBN *T WORD+6 18/LDATE,18/LTIME,24/NDCB-FWA *ENDTEXT * * ID = NAT ID (3) * S = NAT SIZE * - = UNUSED * NCT-ORD = NODE CONNECTION TABLE ENTRY ORDINAL * EC = XPCB DIRECTIVE ERROR COUNT * BPTR = NAT LIST BACKWARD PTR * FPTR = NAT LIST FORWARD PTR * RN = LOAD REQUESTOR NODE NUMBER * CN = COUPLER NODE NUMBER * PN = PORT NUMBER * SPN = SUB PORT NUMBER * LSN = LOAD SEQUENCE NUMBER * A SEQUENCE NUMBER MAINTAINED BY NS * (USING MODULO 15) FOR EACH REMOTE NPU, * AND INCLUDED IN NPU/DT SUPERVISORY * MESSAGES OF A REMOTE NPU DUMP/LOAD SEQUENCE. * IT SERVES TO PREVENT RESPONSE SUPERVISORY * MESSAGES OF AN EARLIER ABORTED SEQUENCE * FROM INTERFERING WITH THE CURRENT ONE. * NO = NPU TABLE ENTRY ORDINAL FOR THE ACTIVE NPU * - = UNUSED * N = SAVE NPU DUMP FILE FLAG * L = SELF LOADING FLAG * R = REMOTE LOAD FLAG * RTC = NPU/DT/R RETRY COUNT * ST = NPU STATE * PRIMARY NPU STATE: * 1- LOADING SAM * 2- DUMPING NPU * 3- LOADING NPU * 4- DUMPING NDCB * SECONDARY NPU STATE: * 1- WAITING FOR LOAD RESPONSE * 2- WAITING FOR DUMP RESPONSE * 3- WAITING FOR START RESPONSE * 4- WAITING FOR LOAD NDCB RESPONSE * BC = BATCH COUNT * NDTSBN = TSB NUMBER OF DUMP TSB * PITSBN = TSB NUMBER OF PICB * PENDI = PICB INDEX OF END DIRECTIVE * XPCBI = CURRENT PICB DIRECTIVE INDEX * DC = DIRECTIVE CODE * P = SET IF DIRECTIVE IS PROCESSED * DBT = DUMP BLOCK TYPE * DIRP1 = DIRECTIVE PARAMETER 1 * DIRP2 = DIRECTIVE PARAMETER 2 * CCRI = CURRENT-RANDOM-INDEX OF CURRENT * RECORD BEING READ * NCRI = CURRENT-RANDOM-INDEX OF NEXT * READ TO BE READ * LTIMER = LOCAL RESPONSE TIMER (IN SECONDS) * GTIMER = GLOBAL RESPONSE TIMER (IN SECONDS) * SMTSBN = TSB NUMBER OF DUMP NDCB RESPONSE * LDATE = LOAD DATE IN PACKED BINARY * LTIME = LOAD TIME IN PACKED BINARY * NDCB-FWA = NDCB FWA IN NPU * * *E * 3.3 NPU STATUS TABLE (NST) * * THE NPU STATUS TABLE(NST) IS A VARIABLE-LENGTH DYNAMIC TABLE * CONTAINING THE MOST RECENT DUMP/LOAD STATUS OF AN NPU WHICH * HAS BEEN SERVICED BY NS. IT IS CREATED WHEN AN NPU ACTIVITY * IS INITIATED AND STAYS PERMANENTLY TO LOG ALL RELEVANT STATUS * INFORMATION ASSOCIATED WITH AN NPU ACTICITY. IT HAS THE * FOLLOWING FORMAT: * *TEXT *T WORD+0 6/NSTID,12/NST-SIZE,24/TIMER,2/L,8/NN,8/NORD *T WORD+1 36/L-DATE-TIME,24/- *T WORD+2 36/D-DATE-TIME,8/LC,16/NHALTC *T WORD+3 42/NDF-PFN,2/F,16/P-CONTENT *T WORD+4 60/EVENT-MESSAGE *ENDTEXT * * NSTID = NST ID (6) * NST-SIZE = NST SIZE * TIMER = TIMER FOR CHECKING MULTI LOADS * NN = NPU NODE NO * L-DATE-TIME = PACKED BINARY LOAD DATE/TIME * - = UNUSED * D-DATE-TIME = PACKED BINARY DUMP DATE/TIME * LC = LOAD COUNT * NHALTC = NPU HALT CODE IN HEX * NDF-PFN = NAME OF MOST RECENT DUMP FILE * F = LOAD FAILURE COUNT * P-CONTENT = NPU P-REGISTER CONTENTS * EVENT-MESSAGE = EVENT-MESSAGE TEXT(UP TO 6 WORDS) * * *E * 3.4 NODE CONNECTION TABLE (NCT) * * NCT IS NON-REMOVABLE AND IS BUILT AT NS INITIALIZATION * TIME FROM THE NCF-S PHYSICAL LINK CROSS REFERENCE * TABLE AND IS USED TO IDENTIFY AS * TO WHICH NPU AN INCOMING SM FOR AN NPU * DUMP/LOAD ACTIVITY RELATES. THE ADDRESSING INFORMATION * IN THE SM I.E. SOURCE NODE NUMBER IN APPLICATION BLOCK * HEADER AND PORT NUMBER IN SM, IS USED TO SEARCH THE * NCT TO IDENTIFY THE "ACTIVE" NEIGHBOR NPU NODE. NCT * ENTRIES CONTAINING A CURRENTLY "ACTIVE" NPU NODE ARE * QUEUED TO THE TOP OF THE LIST TO SPEED UP IDENTIFYING * TO WHICH "ACTIVE" NPU A RESPONSE SM RELATES. THE * ENTRIES ARE DEQUEUED FROM THE LIST AND * QUEUED TO THE BOTTOM OF THE LIST WHEN THE ACTIVITY TERMINATES. * THE NCT IS COMPRISED OF A 1-WORD HEADER AND 1-WORD * ENTRIES WHICH CAN BE EITHER A COUPLER-NODE ENTRY OR * AN NPU NODE ENTRY. * * NCT HEADER WORD FORMAT: * *TEXT *T 6/ID,12/EC,18/-,12/LISTTP,12/LISTHP *ENDTEXT * * ID = NCT ID * EC = NCT ENTRY COUNT * - = UNUSED * LISTTP = LIST TAIL POINTER * LISTHP = LIST HEAD POINTER * * * NCT ENTRY FORMAT: * *TEXT *T 8/NN,8/PN,8/SPN,8/NNN,3/-,1/N,12/LISTBP,12/LISTFP *ENDTEXT * * NN = NETWORK NODE NUMBER * COUPLER NODE NUMBER IF A COUPLER NODE ENTRY, * AND NPU NODE NUMBER IF A NPU NODE ENTRY. * PN = PORT NUMBER (NON-ZERO FOR NPU NODE ENTRY ONLY) * SPN = SUBPORT NUMBER * NNN = NEIGHBOR NPU NODE NUMBER * - = UNUSED * N = NEIGHBOR NPU ACTIVE FLAG * LISTBP = LIST BACKWARD POINTER * LISTFP = LIST FORWARD POINTER * * * APPLICATION BLOCK HEADER(ABH) FORMAT FOR NETWORK SM: * *TEXT *T 6/ABT,8/DN,8/SN,8/CN,4/BT,18/ ,8/CC *ENDTEXT * * ABT = SPECIAL APPLICATION BLOCK TYPE FOR NETWORK * SERVICE MESSAGES EXCHANGED BETWEEN CCP AND * CS/NS. VALUE = 4. * DN = DESTINATION NODE * SN = SOURCE NODE * CN = CONNECTION NUMBER * BT = BLOCK TYPE * CC = CHARCTER COUNT OF THE SERVICE MESSAGE TEXT * * *E * 3.5 HISTORY BUFFER * * HISTORY BUFFER IS A VARIABLE-LENGTH DYNAMIC FIFO BUFFER * USED BY NS TO LOG THE RECENT EVENT MESSAGES. IT IS * ALLOCATED AT NS INITIALIZATION TIME TO LOG THE * HEADLINES OF HISTORY DISPLAY, AND EXPANDS AS * HISTORY LINES ARE ADDED TO IT. UP TO 124 LINES * ARE ALLOWED IN THIS BUFFER. * * HEADER FORMAT: * *TEXT *T 6/ID,12/WC,12/LC,30/0 *ENDTEXT * * ID = HISTORY BUFFER IDENTIFIER (2) * WC = NUMBER OF WORDS IN HISTORY BUFFER * LC = NUMBER OF LINES IN HISTORY BUFFER * * * HEADLINE 1: NAME AND VERSION OF NS IN DISPLAY CODE. * HEADLINE 2: VERSION (CREATION DATE AND TIME) OF NLF * IN DISPLAY CODE * HEADLINE 3: VERSION (CREATION DATE AND TIME) OF NCF * IN DISPLAY CODE. * * EACH EVENT MESSAGE (AND HEADLINE) IN THE HISTORY-BUFFER * IS COMPRISED OF A LINE HEADER, AND UP TO 58 DISPLAY CODE * CHARACTERS PLUS THE ZERO-BYTE LINE TERMINATOR. * * *E * 3.6 K-DISPLAY BUFFER * * K-DISPLAY BUFFER IS A VARIABLE LENGTH DYNAMIC * BUFFER USED BY NS TO STORE ANY OUTGOING MESSAGE * FOR THE NAM K-DISPLAY. A HEADER IS ALLOCATED AT * INITIALIZATION TIME AND THE BUFFER EXPANDS AS * OUTGOING MESSAGES ARE ADDED TO IT AND SHRINKS * AS THESE MESSAGES ARE SENT. A MAXIMUM OF 30 * LINES (ONE K-DISPLAY PAGE) IS ALLOWED IN THE BUFFER. * EACH LINE IN THE K-DISPLAY BUFFER IS COMPRISED OF * A LINE HEADER AND UP TO 58 DIPLAY CODE CHARACTERS * PLUS THE ZERO-BYTE TERMINATOR. * * ITS HEADER FORMAT: * *TEXT *T 6/ID,12/WC,12/LC,30/- *ENDTEXT * * ID = IDENTIFIER (1) * WC = WORD COUNT * LC = LINE COUNT * - = UNUSED * * *E * 3.7 PAGE WAIT BUFFER * * * PAGE-WAIT-BUFFER IS A VARIABLE-LENGTH DYNAMIC FIFO * BUFFER USED BY NS TO STORE K-DISPLAY OUTPUT LINES * WHEN THE NAM K-DISPLAY IS IN PAGE-WAIT MODE. * IT IS INITIALLY ALLOCATED AS A ONE-WORD TSB * CONTAINING ONLY THE PAGE-WAIT-BUFFER HEADER WORD * WHEN NAM K-DISPLAY IS ASSIGNED TO NS, AND EXPANDS * AS K-DISPLAY OUTPUT LINES ARE ADDED TO IT. UP TO * 160 LINES IS ALLOWED. PAGE-WAIT BUFFER * IS RELEASED WHEN NS NO LONGER HAS THE NAM K-DISPLAY * ASSIGNED TO IT. * EACH LINE IN THE PAGE WAIT BUFFER IS COMPRISED OF * A LINE HEADER AND UP TO 58 DISPLAY CODE CHARACTERS * PLUS THE ZERO-BYTE TERMINATOR. * * ITS HEADER FORMAT: * *TEXT *T 6/ID,12/WC,12/LC,30/- *ENDTEXT * * ID = IDENTIFIER (7) * WC = CURRENT WORD COUNT * LC = CURRENT LINE COUNT * - = UNUSED * * *E * 3.8 NETWORK CONFIGURATION FILE (NCF) * * THE NCF IS A DIRECT ACCESS PERMANENT FILE USED BY NS. * ONLY THREE RECORDS FROM THE NCF ARE USED BY NS. AND * THEY ARE: 1) THE NPU CROSS REFERENCE TABLE, * 2) THE PHYSICAL LINK CROSS REFERENCE TABLE, AND * * 3) THE NETWORK CONFIGURATION BLOCK (NCB). * *E * 3.8.1 NPU CROSS REFERENCE TABLE * * THE NPU CROSS REFERENCE TABLE IS A RECORD ON THE * NETWORK CONFIGURATION FILE WHICH IS USED TO ASSOCIATE AN * NPU NAME WITH ITS NODE NUMBER AND VARIANT NAME. THERE * IS A 2-WORD ENTRY IN THE TABLE FOR EACH NPU. * *TEXT *T WORD+0 42/"NPUXREF",18/0 *T WORD+1 48/-,12/WC *T WORD+2 42/NPUNAME,1/G,1/D,8/-,8/NID *T WORD+3 36/VNAME,24/- *ENDTEXT * * - = UNUSED * WC = NUMBER OF WORDS IN THIS TABLE * NPUNAME = NPU NAME * G = OPERATOR GO REQUIRED FLAG * D = LONG TERM NPU DUMP FLAG * NID = NPU NODE ID * VNAME = NPU VARIANT NAME * * *E * 3.8.2 PHYSICAL LINK CROSS REFERENCE TABLE * * * THE PHYSICAL LINK CROSS REFERENCE TABLE IS A * RECORD ON THE NETWORK CONFIGURATION FILE WHICH IS * USED TO INDICATE THE PHYSICAL ELEMENTS(COUPLER AND * TRUNK) OF A NETWORK. THERE IS A 2-WORD ENTRY IN THE * TABLE FOR EACH COUPLER OR TRUNK. * THE TABLE HAS THE FOLLOWING FORMAT: * *TEXT *T WORD+0 42/"PHYLINK",18/0 *T WORD+1 48/-,12/WC *T WORD+2 42/PLNAME,1/T,1/E,8/NUMBER,8/NID *T WORD+3 42/PLHNAME,1/S,1/L,8/P2PN,8/N2NID *ENDTEXT * * WC = NUMBER OF WORDS IN TABLE * PLNAME = COUPLER/TRUNK NAME * T = LINK TYPE: 0=COUPLER, 1=TRUNK * E = ENTRY STATE. * FOR COUPLER ENTRY: * 0 - PRIMARY COUPLER * 1 - SECONDARY COUPLER * FOR TRUNK ENTRY: * 0 - NOLOAD NOT SPECIFIED * 1 - NOLOAD SPECIFIED * NUMBER = FOR COUPLER ENTRY: * HOST NODE NUMBER * FOR TRUNK ENTRY: * N1 NODE NUMBER * NID = NODE ID/NUMBER * PLHNAME = HOST NUMBER OF THIS COUPLER * S = TRUNK STATUS: 0-ENABLED, 1-DISABLED * P2PN = P2 PORT NUMBER * N2NID = N2 NODE ID/NUMBER * * *E * 3.9 NETWORK DUMP FILE (NDF) * * THE NPU-DUMP-FILE (NDF) IS A SINGLE-RECORD SEQUENTIAL FILE * CREATED BY NS AS A DIRECT ACCESS PERMANENT FILE DURING AN * NPU DUMP PROCEDURE. NS USES THE FOLLOWING CONSTRAINED * NAMING SCHEME TO GENERATE A 7-CHARACTER PERMANENT FILE * NAME FOR THE NPU DUMP FILE: * * NP(DN)(NIN) * * DN = A 2-DIGIT HEXADECIMAL DUMP NUMBER WHOSE INITIAL * VALUE IS DETERMINED BY NS AT INITIALIZATION TIME * BY SEARCHING THE PERMANENT FILE CATALOG FOR THE * FIRST AVAILABLE DUMP NUMBER. * THE NUMBER IS CONSECUTIVELY ASSIGNED WHEN * NPU DUMP FILES ARE CREATED. * NIN = A 3-DIGIT DECIMAL NETWORK INVOCATION NUMBER * WHICH IS PASSED TO NS AS A CONTROL STATEMENT * PARAMETER. * * THE NDF IS WRITTEN AS A SINGLE-RECORD SEQUENTIAL FILE * WITH A PREFIX TABLE FOLLOWED BY MULTIPLE CONTIGUOUS * NPU DUMP BLOCKS(NDB). EACH NDB MAY CONSIST OF UP TO * 64 DUMP PACKETS EACH OF WHICH MAY CONTAIN UP TO 105 NPU * WORDS. THE DUMP-PACKETS WITHIN AN NDB ARE NOT NECESSARILY * ARRANGED IN ASCENDING ORDER. * * THE NDF FORMAT: * *TEXT *T 60/ PREFIX TABLE *T 60/ DUMP BLOCK HEADER *T 60/ DUMP PACKET 1 *T 60/ . *T 60/ . *T 60/ . *T 60/ . *T 60/ DUMP PACKET N (UP TO 64) *T 60/ . *T 60/ . *T 60/ . *T 60/ . *T 60/ NPU DUMP BLOCK M *T 60/ EOR *T 60/ EOF *ENDTEXT * * * * THE PREFIX TABLE HAS THE FOLLOWING FORMAT: * *TEXT *T WORD+0 12/"7700",12/"0020",36/0 *T WORD+1 42/NDFPFN,18/0 *T WORD+2 60/ DATE *T WORD+3 60/ TIME *T WORD+4 60/ OPS *T WORD+5 42/ PRNAME,18/ PRVER *T WORD+6 30/ PRLEV,30/- *T WORD+7 60/ *T WORD+8 60/ TITLE *T WORD+15 42/ NPUNAME,1/0,17/NPUPREG *T WORD+16 36/ NPUVAR,12/NPUID,12/NPUHALT *ENDTEXT * * NDFPFN = NDF PERMANENT FILE NAME * DATE = DATE THE FILE WAS CREATED, LEFT JUSTIFIED * WITH BLANK FILLED * TIME = TIME THE FILE WAS CREATED, LEFT JUSTIFIED * WITH BLANK FILLED * OPS = NAME AND VERSION NUMBER OF THE OPERATING * SYSTEM UNDER WHICH THE FILE WAS CREATED * PRNAME = NAME OF THE PROGRAM THAT CREATED THE FILE * PRVER = VERSION OF THE PROGRAM THAT CREATED THE FILE * PRLEV = MODIFICATION LEVEL OF THE PROGRAM THAT CREATED * THE FILE * TITLE = TITLE FO THE FILE. 70 CHARACTERS OR LESS. * NPUNAME = NPU NAME * NPUPREG = CONTENT OF NPU P-REGISTER * NPUVAR = NPU VARIANT NAME * NPUID = NPU NODE ID * NPUHALT = NPU HALT CODE IN HEXADECIMAL DIGIT * * EACH NPU DUMP BLOCK(NDB) HAS A HEADER WITH THE FOLLOWING * FORMAT: * *TEXT *T 3/BT,9/BC,24/BA,24/EA *ENDTEXT * * BT = DUMP BLOCK TYPE * 1- BASE FILE 1 REGISTERS * 2- BASE FILE 2 REGISTERS * 4- MACROMEMORY * BC = BATCH COUNT * NUMBER OF DUMP PACKETS IN NPU DUMP BLOCK * BA = FWA OF NPU MEMORY DUMP BLOCK * EA = LWA OF NPU MEMORY DUMP BLOCK * * NPU DUMP PACKET FORMAT: * *TEXT *T 12/WC,12/HC,12/0,24/BA *T 16/NPU WORD 0,16/NPU WORD 1,16/NPU WORD 2,12/ETC *T 60/ . *T 60/ . *T 60/ UP TO 105 WORDS *T 60/ . *T 60/ . *ENDTEXT * * WC = NUMBER OF WORDS IN PACKET * HC = NUMBER OF HEX WORDS IN PACKET * BA = FWA OF NPU MEMORY IN PACKET * * *E * 3.10 NETWORK LOAD FILE (NLF) * * THE NLF CONTAINS ONE OR MORE LOGICAL RECORDS OF THE * FOLLOWING CCP CODE ENTITIES FOR ALL THE NPUS IN THE * NETWORK THAT CAN BE LOADED BY A GIVEN NS: * * - PICB(S) PROGRAM INITIATION CONTROL * BLOCK WHICH CONTAINS DIRECTIVES * FOR NPU DUMP/LOAD PROCEDURE. * * - CCP LOAD MODULE(S) MICROMEMORY CODE, MACROMEMORY * CODE, STARTUP DIAGNOSTIC, SYSTEM * AUTOSTART MODULE OR DUMP BOOTSTRAP. * * - CCP OVERLAY MODULE(S) DUMP/LOAD OVERLAY FOR REMOTE * NPU DUMP/LOAD OR DIAGNOSTIC OVERLAYS. * * THE NLF IS ORGANIZED AS A RANDOM ACCESS FILE WITH AN OPLD. * THE FIRST RECORD OF EACH CCP CODE ENTITY HAS AN ENTRY IN * THE OPLD, WHILE THE REMAINING RECORDS, IF ANY, ARE ACCESSED * SEQUENTIALLY AND DO NOT HAVE CORRESPONDING ENTRIES IN THE OPLD. * * * NLF OPLD * * +-----------------+ +------------+ * I HEADER RECORD I I HEADER I * +-----------------+ +------------+ * I EOR I +--------+ ENTRY 1 I * +-----------------+ I +------------+ * ICCP CODE ENTITY 1I<----------+ I-----+ ENTRY 2 I * I RECORD 1 I I +------------+ * +-----------------+ I I . I * I EOR I I I . I * +-----------------+ I I . I * I . I I +------------+ * I . I I +-+ ENTRY N I * I . I I I +------------+ * +-----------------+ I I I I * ICCP CODE ENTITY 1I I I +------------+ * I RECORD N I I I * +-----------------+ I I * I EOR I I I * +-----------------+ I I * I PICB X I<-------------+ I * I FOR NPU LOAD I I * I VARIANT X I I * +-----------------+ I * I EOR I I * +-----------------+ I * ICCP CODE ENTITY NI<-----------------+ * I RECORD 1 I * +-----------------+ * I . I * I . I * I . I * +-----------------+ * I OPLD I * +-----------------+ * I EOR I * +-----------------+ * I EOF I * +-----------------+ * I EOI I * +-----------------+ * * THE HEADER RECORD CONTAINS THE "7700" TABLE. FOR * THE LAYOUT OF IT, REFER TO THE NDF. * * NS READS THE PICB DIRECTIVES. * EACH PICB HAS THE FOLLOWING FORMAT: * * * 5 2 * 9 4 0 * +---------------------+--------------+ * I RNAME I 0 I * +---------------------+--------------+ * I LSPCB I LLPCB I LDPCB I NDCB ADRI * +------------------------------------+ * I "DPCB" I * +------------------------------------+ * I DPCB DIRECTIVES I * I I * I I * I I * I I * I I * +------------------------------------+ * I END DIRECTIVE I * +------------------------------------+ * I "LPCB" I * +------------------------------------+ * I LPCB DIRECTIVES I * I I * I I * I I * I I * +------------------------------------+ * I END DIRECTIVE I * +------------------------------------+ * I "SPCB" I * +------------------------------------+ * I SPCB DIRECTIVES I * I I * I I * I I * I I * +------------------------------------+ * I END DIRECTIVE I * +------------------------------------+ * * RNAME = RECORD NAME, SAME AS NPU LOAD VARIANT NAME, * DISPLAY-CODED, LEFT-JUSTIFIED AND ZERO-FILLED. * LSPCB = SIZE OF SPCB * LLPCB = SIZE OF LPCB * LDPCB = SIZE OF DPCB * NDCB = ADDRESS OF NPU DUMP CONTROL BLOCK IN NPU MEMORY * DPCB = DUMP PROCEDURE CONTROL BLOCK * LPCB = LOAD PROCEDURE CONTROL BLOCK * SPCB = SAM-LOAD PROCEDURE CONTROL BLOCK * * *E * 4.0 OVERVIEW * * A SMALL BOOTSTRAP PROGRAM (SAM-P) IS INITIATED IN THE NPU * TO COMMUNICATE THE REQUEST FOR INITIALIZATION TO A NETWORK * NEIGHBOR COMPONENT (NPU OR PIP). A NEIGHBOR NPU OR PIP * SENDS A REQUEST FOR NPU INITIALIZATION (NPU/IN) TO THE NS * PROGRAM OF ANY ACCESSIBLE HOST. * * NS DETERMINES IF A DUMP IS TO BE TAKEN, CONTROLS THE DUMP * PROCESS IF REQUESTED, CONTROLS THE LOAD PROCESS AND ISSUES * THE ORDER TO START THE NEWLY LOADED SOFTWARE. * * DUMP AND LOAD DATA IS EXCHANGED BETWEEN NS AND SAM-P BY * MEANS OF NPU DATA SERVICE MESSAGES (NPU/DT). NS WRITES * THE DUMP DATA TO A NETWORK DUMP FILE (NDF) AND READS LOAD * DATA FROM THE NETWORK LOAD FILE (NLF). NDF AND NLF ARE * PERMANENT FILES ON THE HOST-S MASS STORAGE DEVICE. NDF IS * LATER PROCESSED BY THE NETWORK DUMP ANALYZER (NDA) WHILE * NLF MUST HAVE BEEN CREATED PREVIOUSLY BY THE NETWORK LOAD * FILE GENERATOR (LFG). NDA AND LFG ARE BATCH UTILITY * PROGRAMS PROVIDED FOR NETWORK SUPPORT. * * ALSO GENERATED BY A BATCH RUN OF THE NETWORK DEFINITION * LANGUAGE (NDL) PROCESSOR IS THE NETWORK CONFIGURATION FILE * (NCF). BESIDES OTHER INFORMATION USED BY THE COMMUNICATION * SUPERVISOR (CS), IT CONTAINS A PREFORMATTED NPU CONFIGURATION * BLOCK (NCB) FOR EACH NPU TO BE LOADED. THE PROPER NCB IS * SELECTED AND APPENDED TO THE LOAD DATA BY NS DURING THE * LOAD PROCESS. SEE NDLP IMS FOR A DESCRIPTION OF THE NCB. * * ONCE SUCCESSFULLY LOADED, THE NEWLY LOADED NPU IS STARTED. * THE NPU USES THE NCB INFORMATION TO SET ITS NODE NUMBER AND * TO CREATE VARIOUS CONTROL BLOCKS AND ROUTING TABLES WHICH * DEFINE THE LINKS TO THE HOST(S) AND TO THE OTHER NPUS AS * WELL AS THE PATH(S) TO A CS. * * *E * 4.1 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY SAM * * IF THE NPU IS EQUIPPED WITH A SAM-C BOARD, ALL LOAD/DUMP * REQUESTS MUST BE INITIATED BY THE SAM BOOTSTRAP PROGRAM. * REQUESTS VIA A COUPLER ARE MADE BY SETTING THE * "INITIALIZATION" STATUS CODE INTO THE NPU STATUS WORD * REGISTER OF THE COUPLER. THE NEIGHBOR COMPONENT IS THE * PERIPHERAL PROCESSOR INTERFACE PROGRAM (PIP). * A PIP, SENSING SUCH AN NPU REQUEST FOR INITIALIZATION, * FORWARDS THE REQUEST TO NS IN THE FORM OF AN NPU/IN/C * (NPU INITIALIZATION SM COMMAND). * * *E * 4.2 INITIATION OF LOCAL NPU DUMP/LOAD PROCESS BY PIP * * FOR NPUS WITHOUT SAM-C BOARDS, PIP MAINTAINS AN NPU DEAD * TIMER. THIS TIMER IS RESTARTED AFTER EVERY SUCCESSFUL * DIALOGUE WITH THE NPU. A PERIODIC "IDLE" DIALOGUE IS FORCED * IN ABSENCE OF ANY DATA EXCHANGES. IF THE DEAD TIMER EXCEEDS * 20 SECONDS, PIP ASSUMES THE NPU HAS FAILED. IT ISSUES AN * NPU/IN/C (B) (NPU INITIALIZATION SM REQUEST FOR SAM-P * BOOTSTRAP) TO NS. * * THE NPU/IN/C (B) CAUSES NS TO INITIATE THE LOAD OF THE SAM-P * BOOTSTRAP INTO THE NPU. THE BOOTSTRAP IS FOUND ON THE NLF * AS PREFORMATTED 105-NPU-WORD SEGMENTS WHICH ARE SENT TO PIP * AS NPU/DT/R (L) SERVICE MESSAGES. THESE SEGMENTS ARE SENT * IN BATCHES, WHERE THE BATCH COUNT PARAMETER IN THE LAST * SEGMENT CAUSES AN NPU/DT/N (L) RESPONSE FROM PIP. * * LOADING OF SAM-P BY NS IS CONTROLLED BY THE SPCB (SAM-LOAD * PROCEDURE CONTROL BLOCK). THIS SPCB IS CONTAINED IN THE * PICB (PROGRAM INITIATION CONTROL BLOCK) FOR THE NPU IN * THE NETWORK LOAD FILE (NLF). * * *E * 4.3 REMOTE NPU DUMP/LOAD PROCESS * * A NEIGHBOR NPU, SENSING A REMOTE NPU REQUEST FOR * INITIALIZATION VIA THE CDCCP TRUNK PROTOCOL, SENDS * AN NPU/IN/R (NPU INITIALIZATION SM REQUEST) TO NS. * NS DISTINGUISHES A REMOTE NPU DUMP/LOAD REQUEST FROM * A LOCAL NPU DUMP/LOAD REQUEST VIA THE APPLICATION * BLOCK HEADE ID R WORD OF THE NPU/IN. A SOURCE NODE ID (SN) * EQUALS THE DESTINATION NODE ID (DN) WOULD INDICATE * A REQUEST FOR A LOCAL NPU DUMP/LOAD. NS DETERMINES * THE REMOTE NPU THAT NEEDS THE INITIALIZATION FROM THE * SOURCE NODE ID OF THE APPLICATION BLOCK HEADER OF * NPU/IN/R AND FROM THE PORT NUMBER SPECIFIED AS A PARAMETER * IN NPU/IN/R. THIS DETERMINATION IS ACCOMPLISHED BY * SEARCHING THE NODE CONNECTION TABLE (NCT). * * NS THEN MAKES SURE THAT IT DOES NOT ALREADY HAVE AN NPU * ACTIVITY CONTROL BLOCK (NAT) FOR THIS NPU. IF THERE IS * ALREADY AN NAT, THE PREVIOUS ACTIVITY IS ABORTED. NS * THEN INCREMENTS THE LOAD SEQUENCE NUMBER (LSN) IT MAINTAINS * FOR THIS NPU. THE LSN IS INCLUDED IN NPU/DT MESSAGES AND * SERVES TO PREVENT MESSAGES OF AN EARLIER LOAD SEQUENCE FROM * INTERFERING WITH A CURRENT ONE. * * THE PROCESS CONTINUES WITH THE DETERMINATION OF WHETHER OR * NOT A DUMP SHALL BE TAKEN, FOLLOWED BY THE DUMP SM SEQUENCE * IF APPLICABLE AND WITH THE LSN. ALL ACTIONS ARE DICTATED BY * NS, THE NEIGHBOR NPU MUST ONLY PASS THE VARIOUS NPU/DT/R * (NPU DATA SM REQUESTS) TO SAM IN THE REMOTE NPU AND PASS * NPU/DT/N RESPONSES FROM SAM IN THE REMOTE NPU TO NS AS * DESCRIBED IN MORE DETAIL IN SECTIONS 4.4 AND 4.5. * * THE LOAD/DUMP PROCESS IS TERMINATED BY NS ONCE THE NPU * SOFTWARE HAS BEEN SUCCESSFULLY LOADED AND STARTED OR * WHEN, DUE TO AN UNRECOVERABLE FAILURE, IS UNABLE TO * CONTINUE. IN BOTH TERMINATION CASES, THE NAT IS RELEASED * AND THE NEIGHBOR NPU IS NOTIFIED BY A NPU/IN/N (NPU * INITIALIZATION SM NORAML RESPONSE). * * *E * 4.4 DUMP PROCEDURE * * 4.4.1 DUMP DECISION * * THE FIRST DECISION NS MUST MAKE AFTER IT HAS RECEIVED AN * NPU/IN/R IS TO DETERMINE WHETHER OR NOT A DUMP SHALL BE * TAKEN. THIS DECISION IS DEPENDANT ON FOUR VARIABLE: * * 1) THE "RELOAD DUMP FLAG" OBTAINED FROM THE NDCB IN NPU * MEMORY. WHENEVER THIS FLAG IS SET TO EITHER "YY" OR * "NN", NS CAN ASSUME IT IS OBEYING AN OPERATOR "LOAD" * COMMAND, AND WILL THEREFORE OBEY THE "YY" OR "NN" * DIRECTION WITHOUT FURTHER CONSIDERATIONS. * * 2) THE LENGTH OF TIME SINCE THE NEXT-TO-LAST LOAD OF THIS * NPU BY THIS NS. EXCEPT FOR THE OPERATOR "LOAD" COMMANDS, * NS WILL ATTEMPT TO PREVENT FLOODS OF DUMPS FROM AN * OSCILLATING NPU. THIS WILL BE ACCOMPLISHED BY INHIBITING * DUMPS AFTER MORE THAN TWO LOAD REQUESTS ARE RECEIVED FROM * AN NPU IN 8 MINUTES. THIS WILL STILL GIVE OPPORTUNITY TO * OBTAIN ONE DUMP FROM AN NPU THAT COMES DOWON AS SOON AS * IT IS LOADED, WHILE STOPPING THE SUBSEQUENT FLOOD THAT CAN * OCCUR UNTIL AN OPERATOR DISABLES A COUPLER OR A TRUNK. * * 3) A "NETWORK STARTUP MODE" PARAMETER (FDP) THAT IS ENTERED * BY THE HOST OPERATOR WHEN THE HOST NETWORK SOFTWAE IS * STARTED. IN ADDITION TO THE "NORMAL" MODE OF OPERATION, * NS WILL RECOGNIZE "FORCE DUMP" AND "INHIBIT DUMP" MODES, * WHEN IT IS STARTED. (THESE ARE GLOBAL FOR NS, AND NOT * ON AN INDIVIDUAL NPU BASIS). NS WILL RESET THE MODE BACK * TO "NORMAL" 10 MINUTES AFTER IT IS STARTED. * * 4) THE "LONG TERM DUMP FLAG" OBTAINED FROM THE NDCB IN * NPU MEMORY. * * THE RULES BY WHICH NS WILL MAKE THE DECISION ON WHETHER OR * NOT TO DUMP ARE SUMMARIZED IN THE FOLLOWING DECISION TABLE: * * * NS RULES FOR NPU DUMPING * ------------------------ * * CONDITIONS I1 2 3 4 5 6 7 8 9 10 11 12 * -------------------------+----------------------------------- * "RELOAD" DUMP FLAG IYY NN G G G G 0 0 0 0 0 0 * I * -------------------------+----------------------------------- * THIS NPU LOADED TWICE BY I- - Y N N N Y N N N N N * THIS NS IN LAST 8 MIN I * -------------------------+----------------------------------- * STARTUP MODE I- - - D ND NM - D ND NM NM NM * I * -------------------------+----------------------------------- * LONG TERM DUMP FLAG I- - - - - - - - - YY NN G * I * -------------------------+----------------------------------- * ACTION: DUMP IY N N Y N Y N Y N Y N Y * * - = ANY VALUE * G = GARBAGE * NM = NORMAL MODE * D = FORCED DUMP MODE * ND = INHIBIT DUMP MODE * *E * 4.4.2 DUMP SM SEQUENCE * * AN NPU DUMP PROCEDURE IS DICTATED BY DIRECTIVES SPECIFIED * IN THE DUMP PROCEDURE CONTROL BLOCK (DPCB). NS WOULD * ISSUE NPU/DT/R (D) (NPU DUMP DATA SM REQUESTS) AS SPECIFIED * IN THE DPCB. * * EACH ENTRY IN THE DPCB REQUESTING THE TRANSMITTAL OF A * BLOCK WHICH EXCEEDS 105 NPU WORDS (OF 16 BITS) IS DIVIDED * INTO A BATCH OF NPU/DT/R (D) SERVICE MESSAGES. EACH OF * THESE SERVICE MESSAGES EITHER CARRIES UP TO 105 WORDS OF * LOAD DATA OR REQUESTS A DUMP OF 105 WORDS OR LESS. THUS * A DPCB REQUEST FOR A LARGE DUMP DATA BLOCK WILL CAUSE NS * TO GENERATE MULTIPLE NPU/DT/R (D) REQUESTS, EACH ASKING * FOR A MAXIMUM OF 105 WORDS TO BE RETURNED IN AN NPU/DT/N * (D) RESPONSE. * * AN ABNORMAL RESPONSE FROM THE NPU FOR A LOAD BATCH OR DUMP * SERVICE MESSAGE WILL CAUSE NS TO ABORT THE DUMP PROCEDURE. * * A DPCB DIRECTIVE CAN BE USED TO INDICATE TO NS WHEN ENOUGH * OF THE DUMP PROCESS HAS BEEN COMPLETED TO MAKE IT WORTH * WHILE TO SAVE THE DUMP FILE BEING CREATED. THIS INDICATION * IS FLAGGED BY NS IN THE NAT. ANY UNRECOVERABLE FAILURE OR * A REPEATED NPU/IN/R BEFORE THE FLAG IS SET CAUSES NS TO EVICT * THE PARTIAL NDF. ANY SUCH INTERRUPTION AFTER THE FLAG HAS SET * OR SUCCESSFUL COMPLETION OF THE FULL DUMP PROCEDURE CAUSES * NS TO DISPOSE THE NDF AS A PERMANENT FILE. * * DUMP SM SEQUENCE * ---------------- * * CCP/PIP NS * (FETCH/CHOOSE DPCB) * * -> N * NPU/DT/R (D) * I ------------------<--<--<--<--<-- * I I * PHASE I N * NPUIDTIN (D) I * 1 I <----------------->-->-->-->-->------> TO NDF * I I * I I * -> I * I N * NPU/DT/R (L) I * I <-----------------<--<--<--<--<--<---- FROM NLF * I I * I NPU/DT/N (L) I * I --------------------------------> * I I * PHASE I I * 2 I NPU/DT/R (S) I * I <-------------------------------- * I * I NPU/DT/N (S) * I --------------------------------> * I I * -> I * I N * NPU/DT/R (D) I * I <-----------------<--<--<--<--<-- * I I * PHASE I N * NPUIDTIN (D) I * 3 I ------------------>-->-->-->-->------> TO NDF * I I * I I * I I * -> I * V * * WHERE: 0 N * NPU/DT/R (L) * I <-----------------<--<--<--<--<-+<---- FROM NLF * I I * I I * I NPU/DT/N (L) I * I --------------------------------> * I I * PHASE I NPU/DT/R (S) I * 1 I <-------------------------------- * I I * I NPU/DT/N (S) I * I --------------------------------> * I I * -> I * I N * NPU/DT/R (L) I * I <-----------------<--<--<--<--<--<---- FROM NLF * I I * I NPU/DT/N (L) I * I --------------------------------> * I I * I I * I N * NPU/DT/R (L) I * I <-----------------<--<--<--<--<--<---- FROM NCF * I * PHASE I NPU/DT/N (L) * 2 I --------------------------------> * I I * I I * I NPU/DT/R (L) I * I <--------------------------------<---- NDCB IMAGE * I * I NPU/DT/N (L) * I --------------------------------> * I I * I NPU/DT/R (S) I * -> <-------------------------------- * * WHERE: 0 NDLOVD * I * I * +---------> NETCHECK * I * I * +---------> NETWAIT * I * I * +---------> RTIME * I * I * NS$EXC ---------+---------> NS$SMP * I * I * +---------> NS$OFF * I * I * +---------> NS$SHD * I * I * +---------> NS$FEC * I * I * +---------> NS$MSG * * * NS$EXC - NS EXECUTIVE * NDLOVLD - OVERLAY LOADER * NETCHECK - UPDATE NSUP WORD (AIP) * NETWAIT - REQUEST NAM TO ROLLOUT PROGRAM (AIP) * RTIME - GET REAL TIME CLOCK READING * NS$SMP - SM PROCESSOR * NS$OFF - DISCONNECT FROM NETWORK (NETOFF) * NS$SHD - SHUTDOWN PROCESSOR * NS$FEC - FORMAT ERROR CODE * NS$MSG - MESSAGE DISPATCHER * * *E * 4.7.2 SM PROCESSOR * * * +---------> NETGET * I * I * +---------> NETREL * I * I * NS$SMP ---------+---------> NS$NSM * I * I * +---------> NS$HSM * I * I * +---------> NS$FEC * * * NS$SMP - SM PROCESSOR * NETGET - RECEIVE NETWORK TRAFFIC (AIP) * NETREL - RELEASE DEBUG TRACE FILE (AIP) * NS$NSM - NETWORK SM PROCESSOR * NS$HSM - HOST SM PROCESSOR * NS$FEC - FORMAT ERROR CODE * * *E * 4.7.2.1 NETWORK SM PROCESSOR * * * +---------> NS$NSS ---------> (1), (2), (3), (4), * I (5), (6), (7), (8) * I * NS$NSM ---------+---------> NS$FEC * I * I * +---------> NS$MSG * * * NS$NSM - NETWORK SM PROCESSOR * NS$NSS - NPU STATE TABLE PROCESSOR * NS$FEC - FORMAT ERROR CODE * NS$MSG - MESSAGE DISPATCHER * * * (1) - PROCESS NPU LOAD REQUEST * * +---------> NS$FLR * I * I * +---------> NS$INL * I * I * +---------> NS$LSN * I * I * +---------> NS$MSG * I * I * +---------> NS$NAI * I * NS$N00 ---------I * +---------> NS$SGT * I * I * +---------> NS$SLT * I * I * +---------> NS$XPD * I * I * +---------> NS$FEC * I * I * +---------> NETPUT * * * NS$N00 - PROCESS NPU LOAD REQUEST * NS$FLR - FIND LOAD RECORD * NS$INL - INITIATE NPU LOAD * NS$LSN - INCREMENT LOAD SEQUENCE NUMBER * NS$MSG - MESSAGE DISPATCHER * NS$NAI - INITIALIZE NPU ACTIVITY * NS$SGT - START ACTIVITY TIMER * NS$SLT - START RESPONSE TIMER * NS$XPD - START NEXT XPCB DIRECTIVE * NS$FEC - FORMAT ERROR CODE * NETPUT - SEND NETWORK TRAFFIC * * * (2) - PROCESS NPU/DT/N (DUMP NDCB) * * +---------> NS$IND * I * I * +---------> NS$INL * I * NS$N04 ---------I * +---------> NS$MSG * I * I * +---------> NS$XPD * * * NS$N04 - PROCESS NPU/DT/N (DUMP NDCB) * NS$IND - INITIATE NPU DUMP * NS$INL - INITIATE NPU LOAD * NS$MSG - MESSAGE DISPATCHER * NS$XPD - PROCESS NEXT XPCB DIRECTIVE * * * (3) - PROCESS NPU/DT/N (DUMP SUD) * * ****NOT IMPLEMENTED FOR R6.1**** * * * (4) - PROCESS NPU/DT/N (DUMP) * * +---------> NS$SDB * I * I * +---------> NS$SLT * I * NS$N06 ---------I * +---------> NS$XPD * I * I * +---------> NS$FEC * * * NS$N06 - PROCESS NPU/DT/N (DUMP) * NS$SDB - SEND DUMP BATCH * NS$SLT - START RESPONSE TIMER * NS$XPD - PROCESS NEXT XPCB DIRECTIVE * NS$FEC - FORMAT ERROR CODE * * * (5) - PROCESS NPU/DT/N (LOAD) * * +---------> NS$SLB * I * I * NS$N08 ---------+---------> NS$SLT * I * I * +---------> NS$XPD * * * NS$N08 - PROCESS NPU/DT/N (LOAD) * NS$SLB - SEND LOAD BATCH * NS$SLT - START RESPONSE TIMER * NS$XPD - PROCESS NEXT XPCB DIRECTIVE * * * (6) - PROCESS NPU/DT/N (LOAD NDCB) * * +---------> NETPUT * I * I * NS$N09 ---------+---------> NS$FBH * I * I * +---------> NS$XPD * * * NS$N09 - PROCESS NPU/DT/N (LOAD NDCB) * NETPUT - SEND NETWORK TRAFFIC * NS$FBH - FORMAT ABH * NS$XPD - PROCESS NEXT XPCB DIRECTIVE * * * (7) - PROCESS NPU/DT/N (START) * * NS$N13 ---------> NS$XPD * * * NS$N13 - PROCESS NPU/DT/N (START) * NS$XPD - PROCESS NEXT XPCD DIRECTIVE * * * (8) - PROCESS NPU/DT/A * * +---------> NS$FBH * I * I * +---------> NS$FEC * I * NS$DAR ---------I * +---------> NS$MSG * I * I * +---------> NETPUT * * * NS$DAR - PROCESS NPU/DT/A * NS$FBH - FORMAT ABH * NS$FEC - FORMAT ERROR CODE * NS$MSG - MESSAGE DISPATCHER * NETPUT - SEND NETWORK TRAFFIC * * *E * 4.7.2.2 HOST SM PROCESSOR * * +---------> NS$HCP * I * I * +---------> NS$STR * I * I * +---------> NS$PAG * I * I * +---------> NS$BRK * I * I * +---------> NS$END * I * NS$HSM ---------I * +---------> NS$PCM * I * I * +---------> NS$HHI * I * I * +---------> NS$HST * I * I * +---------> NS$HFI * I * I * +---------> NS$HNO * * * NS$HSM - HOST SM PROCESSOR * NS$HCP - HOP COMMAND PROCESSOR * NS$STR - PROCESS HOP/START * NS$PAG - PROCESS HOP/PAGE * NS$BRK - PROCESS HOP/BRK * NS$END - PROCESS HOP/END * NS$PCM - PROGRAM COMMAND PROCESSOR * NS$HHI - HISTORY COMMAND PROCESSOR * NS$HST - STATUS COMMAND PROCESSOR * NS$HFI - FILE COMMAND PROCESSOR * NS$HNO - NO FILE COMMAND PROCESSOR * * *E * 5.0 MISCELLANOUS * * 5.1 NS CONTROL STATEMENT PARAMETERS * * NS CONTROL CARD HAS THE FOLLOWING FORMAT: * * NS(NIN=NN,FDP=OPTIONS,RT=OPTIONS,MC=NN) * * * NIN = NN A ONE TO THREE DIGIT DECIMAL NETWORK * -INVOCATION-NUMBER ASSIGNED BY NAMI * AT NETWORK STARTUP TIME. THIS PARAMETER * IS REQUIRED. * * FDP=OPTIONS IS THE FORCED DUMP OPTION. IF YES IS * SPECIFIED THEN, WITHIN THE FIRST 10-MINUTES * IN THE ABSENCE OF OTHER NPU DUMPING * CONDITIONS, NPUS WILL BE DUMPED BEFORE LOADING * TAKES PLACE. LEGAL VALUES ARE: YES OR NO. * IF NOT SPECIFIED, NO WILL BE ASSUMED. * * RT =OPTIONS IS THE RELEASE TRACE FILE OPTION. IF YES * SPECIFIED, NPD/REL/R WILL BE SENT TO NAM * TO REQUEST ALL NETWORK PROGRAMS TO RELEASE * THEIR TRACE FILES WHENEVER NS DUMPS AN NPU. * LEGAL VALUES ARE YES OR NO. DEFAULT IS YES. * * MC = NN A ONE TO THREE DIGIT DECIMAL MESSAGE COUNT. * THIS PARAMETER IS OPTIONAL. * * *E * 5.2 TSB MANAGER * * NS CALLS TSB MANAGER (TASK SEQUENCE BLOCK MANAGER) ROUTINES * TO MANAGE ITS DYNAMIC MEMORY AREA. THE TSB-MANAGER IS A * SET OF MEMORY MANAGEMENT ROUTINES TO ALLOCATE AND RELEASE * BLOCKS OF MEMORY. EACH BLOCK IS CALLED A TASK SEQUENCE * BLOCK (TSB) AND MAY BE A MOVABLE OR NON-MOVABLE BLOCK OF * VARIABLE LENGTH. ASSOCIATED WITH EACH TSB IS A ONE WORD * HEADER THAT DESCRIBES THE CURRENT STATE OF THE TSB AND * OTHER INFORMATION FOR THAT TSB. EACH ACTIVE OR BUSY TSB * ASLO HAS AN ENTRY IN THE TSB INFORMATION TABLE (TSBIT) * THAT KEEPS TRACK OF ASSIGNED BLOCKS. * * THE FOLLOWING TSB MANAGER ROUTINES ARE USED: * * ROUTINE NAME DESCRIPTIONS/PARAMETERS * ------------ ----------------------- * * REQTSB ASSIGN A MOVABLE/UNIQUE TSB. * INPUT PARAMETERS: * - TSB-SIZE REQUESTED IN WORDS. * OUTPUT PARAMETERS: * - TSB-NUMBER OF ASSIGNED TSB. * - FWA OF ASSIGNED TSB. * * RETTSB RELEASE ASSIGNED TSB AND TSB-NUMBER * INPUT PARAMETERS: * - TSB-NUMBER OF TSB TO BE RELEASED. * * EXINCSZ INCREASE SIZE OF AN ASSIGNED TSB * INPUT PARAMETERS: * - TSB-NUMBER OF TSB TO HAVE SIZE INCREASED * - ADDITIONAL SIZE REQUESTED IN WORDS * OUTPUT PARAMETERS: * - FWA OF TSB. * * EXREDUC REDUCE THE SIZE OF AN ASSIGNED TSB. * INPUT PARAMETERS: * - TSB-NUMBER OF TSB TO HAVE SIZE REDUCED * - NUMBER OF WORDS TO BE REDUCED * - FIFO-INDICATOR, IF SET TO TRUE, RELEASE * SPECIFIED NUMBER OF WORDS STARTING FROM * FWA OF TSB, OTHERWISE THE LOWER PORTION * OF TSB IS RELEASED. * OUTPUT PARAMETERS: * - FWA OF TSB * * TSBINFO RETURN SIZE AND FWA OF AN ASSIGNED TSB AND * AND TSB BECOMES NON-REMOVABLE. * INPUT PARAMETERS: * - TSB NUMBER OF ASSIGNED TSB * OUTPUT PARAMETERS: * - TSB-SIZE IN WORDS * - FWA OF TSB * * * MOVEOK MAKE TSB MOVABLE * INPUT PARAMETERS: * - TSB-NUMBER OF ASSIGNED TSB * OUTPUT PARAMETERS: * - NONE * * XFLMGR PERFORM GARBAGE COLLECTION TO * ELIMINATE MEMORY FRAGMENTATION IN * DYNAMIC MEMORY AREA OF NS FIELD LENGTH. * * *E * 5.3 MACREL INTERFACE * * MACREL IS A COLLECTION OF RELOCATABLE MODULES THAT * PROVIDES THE INTERFACE BETWEEN HIGHER LEVEL LANGUAGE * (SYMPL/FORTRAN) AND THE NOS SYSTEM MACROS. NS CALLS * THE FOLLOWING LIST OF MACREL ROUTINES: * * * OPEN * READ * RETURN * REWIND * WRITEF * WRITER * READW * WRITEW * MOVE * ABORT * CLOCK * DATE * EREXIT * MEMORY * MESSAGE * PDATE * RECALL * RTIME * DEFINE * PURGE * * *E * 5.4 HOST OPERATOR COMMANDS * * NS SUPPORTS THE NAM K-DISPLAY, COMMANDS PROCESSED BY * NS ARE: * * 1) NPU LOAD STATUS COMMAND - * THIS COMMAND DISPLAYS A SPECIFIED NPU-S CURRENT DUMP/LOAD * STATUS THAT THIS NS KNOWS ABOUT. * * 2) HISTORY COMMAND - * THIS COMMAND DISPLAYS THE ENTIRE HISTORY BUFFER, OR * JUST THE LAST PAGE OF THE HISTORY BUFFER DEPENDING * ON THE CONTEXT OF THE COMMAND. THE HISTORY BUFFER * CONTAINS THE MOST SIGNIFICANT EVENTS PERFORMED BY * NS (LIKE LOAD REQUESTED/COMPLETED/ABORTED). * * 3) FILE COMMAND - * THIS COMMAND ALLOWS THE HOP TO ASSIGN AN ALTERNATE * LOAD FILE TO NS FOR LOADING A SPECIFIC NPU. * * 4) NOFILE COMMAND - * THIS COMMAND ALLOWS THE HOP TO CANCEL THE ALTERNATE * LOAD FILE ASSIGNED TO AN NPU (VIA THE FILE COMMAND) * AND RETURN TO USING THE DEFAULT LOAD FILE FOR LOADING * ALL NPUS. * * *E * 6.0 MODULE DESCRIPTIONS * # END # NS$IMS # TERM