.TITLE IMXTBL - PORT EXPANDER CONFIGURATION TABLES .ENABL ISD .INSRT ../../mos/mostbl.sml .INSRT mosdev-1.sml .INSRT imxtbl.sml $DFDEV .GLOBL MBTBL ;MATCH DESCRIPTOR BLOCK TABLE .GLOBL PRTTBL ;PORT TABLE .GLOBL NCPPRT ;NCP PORT NUMBER .GLOBL IMP.UP,IMP.DN,IMP.IN ;IMP-TYPE HANDLERS .GLOBL HST.UP,HST.DN,HST.IN ;HOST-TYPE HANDLERS ; ; DEFINE THE MATCH DESCRIPTOR BLOCK TABLE. ; .CSECT MDBTBL .WORD 0 ;COUNT OF MDB'S ..CNT=0 ;RESET MDB COUNTER EQUATE MBTBL: .CSECT .MACRO SEND NET,HST,LHST,IMP,PRT ; ; NET - NET NUMBER, OPTIONAL - DEFAULTS TO DON'T CARE ; HST - HOST PORT NUMBER, OPTIONAL - DEFAULTS TO DON'T CARE ; LHST - LOGICAL HOST NUMBER, OPTIONAL - DEFAULTS TO DON'T CARE ; IMP - IMP NUMBER, OPTIONAL - DEFAULT TO DON'T CARE ; PRT - PORT NUMBER TRAFFIC IS TO BE SENT TO ; ; ..TMP - TEMPORARY ADDRESS HOLDER ; ..CNT - COUNT OF NUMBER OF MDB'S DEFINED ; .CSECT MDBTBL ;SWITCH TO MDB SPACE ..TMP=. .=MBTBL-2 ..CNT=..CNT+1 .WORD ..CNT .=..TMP .IF NB, NET .BYTE 0 .IFF .BYTE 377 .ENDC .IF NB, HST .BYTE 0 .IFF .BYTE 377 .ENDC .IF NB, LHST .BYTE 0 .IFF .BYTE 377 .ENDC .IF NB, IMP .BYTE 0 .IFF .BYTE 377 .ENDC .IF NB, NET .BYTE NET .IFF .BYTE 0 .ENDC .IF NB, HST .BYTE HST .IFF .BYTE 0 .ENDC .IF NB, LHST .BYTE LHST .IFF .BYTE 0 .ENDC .IF NB, IMP .BYTE IMP .IFF .BYTE 0 .ENDC .WORD PRT .CSECT .ENDM SEND ; ; DEFINE THE PORT TABLE DATABASE. THE PRTTBL IS INDEXED BY THE PORT ID * 2 ; TO GET THE ADDRESS OF THE PORT TABLE. THE FIRST WORD OF THE PRTTBL ; CONTAINS THE NUMER OF PORTS DEFINED ; .CSECT PRTBL ..PID=0 ;RESET PORT ID COUNTER PRTTBL: .WORD 0 ;NUMBER OF PORT DEFINED .CSECT .MACRO PORT IN,OUT,FCN,TYPE,NAME ; ; IN - NAME OF INPUT DEVICE ; OUT - NAME OF OUTPUT DEVICE ; FCN - FUNCTION OF PORT: IMP OR HOST ; TYPE - TYPE OF PORT: 1822 OR LNI ; NAME - 6 CHAR ASCII NAME STRING ; ;..PADR - ADDRESS OF PORT TABLE ENTRY ;..PID - PORT ID ;..TMP - TEMPORARY STORAGE ; ..PADR = . .WORD IN .WORD OUT ..PID = ..PID+1 .WORD ..PID .ASCII / / ..TMP = . . = .-6 .ASCII /NAME/ .IF GT, .-..TMP .ERROR ;NAME FIELD OVERFLOW .ENDC . = ..TMP .IF IDN FCN,IMP .WORD IMP.UP .WORD IMP.DN .WORD IMP.IN .IFF .IF IDN FCN,HOST .WORD HST.UP .WORD HST.DN .WORD HST.IN .IFF .ERROR ;INVALID PORT FUNCTION SPECIFICATION .ENDC .ENDC .IF IDN TYPE,1822 .WORD 0 .IFF .IF IDN TYPE,LNI .WORD 1 .IFF .ERROR ;BAD PORT TYPE .ENDC .ENDC .BLKB PT.LEN-PT.FLG .CSECT PRTBL ;SWITCH TO PORT TABLE ..TMP = . . = PRTTBL .WORD ..PID ;UPDATE NUMBER OF PORTS DEFINED . = ..TMP .WORD ..PADR ;POINT TO PORT TABLE ENTRY .CSECT .ENDM PORT .PAGE .SBTTL PORT CONFIGURATION INFORMATION ; ; PARAMETERS ARE: ; INPUT DEVICE NAME ; | OUTPUT DEVICE NAME ; | | TYPE OF INTERFACE (IMP OR HOST) ; | | | TYPE OF INTERFACE (1822 OR LNI) ; | | | | NAME STRING FOR INTERFACE ; | | | | | ; V V V V V ; PORT1: PORT DV.IMP+0, DV.IMP+1, IMP, 1822, ;DEFINE IMP PORT PORT2: PORT DV.IMP+2, DV.IMP+3, HOST, 1822, ;DEFINE HOST PRT PORT3: PORT DV.LNI+0, DV.LNI+1, HOST, LNI, ;DEFINE LOCAL NET ; NCPPRT CONTAINS THE NUMBER OF THE PORT TO WHICH ALL NON-INTERNET TRAFFIC ; SHOULD BE SENT. IF THIS IS 0, NCP TRAFFIC IS DISCARDED. NCPPRT: .WORD 2 ;SEND TO FIRST HOST ; ; DEFINE DISTRIBUTION OF TRAFFIC TO THE VARIOUS PORTS ACCORDING TO THE ; CONTENTS OF THE INET DESTINATION ADDRESS FIELD ; ; PARAMETERS ARE: ; NET NUMBER ; | HOST NUMBER ; | | LOGICAL HOST NUMBER ; | | | IMP NUMBER ; | | | | OUTPUT PORT NUMBER ; | | | | | ; V V V V V SEND 12, , , ,3 ;NET 12 TRAFFIC TO NET (PORT 3) SEND 22, , , ,3 ;NET 22 TRAFFIC TO NET SEND , , , ,0 ;DISCARD ALL OTHER TRAFFIC .END