Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_SRC_1_19910112 - 7/ft3/monitor/stanford/ipipip.dif
There are no other files named ipipip.dif in the archive.

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 1



LINE 1, PAGE 1
1)	;[MACBETH.STANFORD.EDU]SRC:<7.FT2.MONITOR.STANFORD>IPIPIP.MAC.3, 20-Jun-88 15:21:06, Edit by A.ALDERSON
1)	; V7.0 FT Clock tape
1)	;[MACBETH]SRC:<7.FT2.MONITOR.STANFORD>IPIPIP.MAC.2,  5-Apr-88 12:07:46, Edit by A.APPLEHACKS
1)	; FT7.2 Merge
1)	;[MACBETH]SRC:<7.FT1.MONITOR.STANFORD>IPIPIP.MAC.2, 23-Jan-88 17:47:02, Edit by A.APPLEHACKS
1)	; FT7 Merge
1)	;;SRC:<6.1.MONITOR.STANFORD>IPIPIP.MAC.6,  5-Nov-86 13:43:42, Edit by BILLW
1)	;; use HS%RSN=13 for destination unreachable
1)	;;<6-1-MONITOR>IPIPIP.MAC.13, 21-Apr-86 17:06:58, Edit by LOUGHEED
1)	;; Fix RCVGAT patch to check correctly for broadcast IP addresses
1)	;;<6-1-MONITOR.FT6>IPIPIP.MAC.2, 11-Aug-85 19:41:48, Edit by WHP4
1)	;;Stanford changes:
1)	;; Support multiple interfaces to a single network
1)	;; Teach RCVGAT to accept broadcast packets without reforwarding.
1)	;; INTLKB and INTULK lock/unlock header portion of Internet buffer
1)	;; Give non-privileged users access to IQ for UDP user ports only.
1)	;
1)	; UPD ID= 8710, RIP:<7.MONITOR>IPIPIP.MAC.5,   6-May-88 11:41:35 by RASPUZZI
1)	;TCO 7.1283 - Make some symbols global for GTDOM% hooks.
1)	; UPD ID= 8531, RIP:<7.MONITOR>IPIPIP.MAC.4,   9-Feb-88 16:15:38 by GSCOTT
1)	;TCO 7.1218 - Update copyright date.
1)	; *** Edit 7182 to IPIPIP.MAC by MELOHN on 5-Nov-85 (TCO 6-1-1549)
1)	; Fix SNDPNG routine to correctly send ECHOs to all but DUMB gateways 
1)	; UPD ID= 2088, SNARK:<6.1.MONITOR>IPIPIP.MAC.13,   3-Jun-85 14:46:18 by MCCOLLUM
LINE 1, PAGE 1
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.26,  5-Jul-88 15:04:30, Edit by MKL
2)	; change IS.xxx stats stuff
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.23, 17-May-88 14:32:48, Edit by MKL
2)	; add code to ignore packets from LOSHST (can be patched)
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.22,  4-Apr-88 16:36:57, Edit by MKL
2)	; make CHKIQ global if CHIVES
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.21, 21-Jan-88 21:30:37, Edit by MKL
2)	; MARKUP routine looked in wrong place for host number
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.19, 20-Jan-88 02:45:39, Edit by MKL
2)	; more statistics, count fragments and echos
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.18, 14-Jan-88 22:39:25, Edit by MKL
2)	; in ICMPEC, put back echo replies, but only one per host packet stream
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.7, 10-Nov-87 15:55:55, Edit by MKL
2)	; add IP statistics counting
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.6,  6-Nov-87 14:40:02, Edit by MKL
2)	; BUGCHK in RETPKT for proper buffer size
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.3, 31-Aug-87 16:36:14, Edit by MKL
2)	; At RCVGA6, don't forward packets back out.
2)	;[SRI-NIC]SRC:<6-1-MONITOR>IPIPIP.MAC.2, 25-Jun-87 17:57:52, Edit by MKL
2)	; don't process ICMP echo's.
2)	;[SRI-NIC]XS:<SU-61SU>IPIPIP.MAC.2,  5-Dec-86 14:52:34, Edit by MKL
2)	;;[SRI-NIC]SS:<6-1-MONITOR>IPIPIP.MAC.3, 30-Oct-85 20:10:38, Edit by MKL
2)	;; get rid of ethernet calls to FNDINT

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 2


2)	
2)	;SRC:<6.1.MONITOR.STANFORD>IPIPIP.MAC.6,  5-Nov-86 13:43:42, Edit by BILLW
2)	; use HS%RSN=13 for destination unreachable
2)	;<6-1-MONITOR>IPIPIP.MAC.13, 21-Apr-86 17:06:58, Edit by LOUGHEED
2)	; Fix RCVGAT patch to check correctly for broadcast IP addresses
2)	;<6-1-MONITOR.FT6>IPIPIP.MAC.2, 11-Aug-85 19:41:48, Edit by WHP4
2)	;Stanford changes:
2)	; Support multiple interfaces to a single network
2)	; Teach RCVGAT to accept broadcast packets without reforwarding.
2)	; INTLKB and INTULK lock/unlock header portion of Internet buffer
2)	; Give non-privileged users access to IQ for UDP user ports only.
2)	;
2)	; UPD ID= 2088, SNARK:<6.1.MONITOR>IPIPIP.MAC.13,   3-Jun-85 14:46:18 by MCCOLLUM


LINE 95, PAGE 1
1)	;	COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1976, 1988.
1)	;	ALL RIGHTS RESERVED.
1)	;
1)	;	THIS SOFTWARE IS FURNISHED UNDER A  LICENSE AND MAY BE USED AND  COPIED
1)	;	ONLY IN  ACCORDANCE  WITH  THE  TERMS OF  SUCH  LICENSE  AND  WITH  THE
1)	;	INCLUSION OF THE ABOVE  COPYRIGHT NOTICE.  THIS  SOFTWARE OR ANY  OTHER
1)	;	COPIES THEREOF MAY NOT BE PROVIDED  OR OTHERWISE MADE AVAILABLE TO  ANY
1)	;	OTHER PERSON.  NO  TITLE TO  AND OWNERSHIP  OF THE  SOFTWARE IS  HEREBY
1)	;	TRANSFERRED.
1)	;
1)	;	THE INFORMATION IN THIS  SOFTWARE IS SUBJECT  TO CHANGE WITHOUT  NOTICE
1)	;	AND SHOULD  NOT  BE CONSTRUED  AS  A COMMITMENT  BY  DIGITAL  EQUIPMENT
1)	;	CORPORATION.
1)	;
1)	;	DIGITAL ASSUMES NO  RESPONSIBILITY FOR  THE USE OR  RELIABILITY OF  ITS
1)	;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
   {Skipped 1 page and 1 line}
1)		SEARCH ANAUNV,PROLOG
1)		TTITLE (IPIPIP,IPIPIP,< - ARPANET Internet Protocols>)
1)	
1)		IF1 <IFN IPLDSW,<PRINTX Assembling Debuging IP Locking Routines>>
1)		IF1 <IFN IPQDSW,<PRINTX Assembling Debuging IP Queue Routines>>
1)	
1)	^L	Subttl	Table of Contents
1)	
1)	;		     Table of Contents for IPIPIP
1)	;
1)	;				  Section		      Page
1)	;
1)	;
1)	;    1. Lock Handling  . . . . . . . . . . . . . . . . . . . .   5
1)	;        1.1    Clear and Release Locks  . . . . . . . . . . .   6
1)	;        1.2    Seize Locks and Free Locks . . . . . . . . . .   7
1)	;    2. Queue Handling . . . . . . . . . . . . . . . . . . . .   8
1)	;        2.1    Event Tracking . . . . . . . . . . . . . . . .   9

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 3


1)	;        2.2    Initialization and Clearing  . . . . . . . . .  10
1)	;        2.3    Enqueueing and Dequeueing  . . . . . . . . . .  11
1)	;    3. Wait Bit Routines  . . . . . . . . . . . . . . . . . .  12
1)	;    4. Wait Bit Initialization, Assignment, and Deassignment   13
1)	;    5. Wait Bit State Changing Routines . . . . . . . . . . .  14
1)	;    6. Wait Bit Single Bit Scheduler Test Routines  . . . . .  15
1)	;    7. Wait Bit Multiple Bit Scheduler Tests  . . . . . . . .  16
1)	;    8. Internet Process Switching (INTFRK)  . . . . . . . . .  17
1)	;    9. Internet Fork
1)	;        9.1    Startup and Initialization . . . . . . . . . .  18
1)	;        9.2    Main Loop  . . . . . . . . . . . . . . . . . .  19
1)	;        9.3    Buffer Releasing . . . . . . . . . . . . . . .  21
1)	;        9.4    Get and Return Internet Buffers  . . . . . . .  22
1)	;        9.5    Internet Grand Initialization  . . . . . . . .  23
1)	;   10. Internet Control Message Protocol  . . . . . . . . . .  24
1)	;   11. ICMP
1)	;       11.1    Gateway and ICMP Initialization  . . . . . . .  26
1)	;       11.2    Load the Gateway File  . . . . . . . . . . . .  27
1)	;       11.3    Gateway File Line Processing . . . . . . . . .  28
1)	;       11.4    Load Gateway Descriptor  . . . . . . . . . . .  30
1)	;       11.5    Create Gateway Blocks  . . . . . . . . . . . .  32
1)	;       11.6    Gateway File Processing  . . . . . . . . . . .  34
1)	;       11.7    Find A Gateway . . . . . . . . . . . . . . . .  35
1)	;       11.8    ICMP Processing  . . . . . . . . . . . . . . .  36
1)	;       11.9    Gateway Pinger . . . . . . . . . . . . . . . .  37
1)	;       11.10   Gateway Pinging Routine  . . . . . . . . . . .  38
1)	;       11.11   ICMP Message Handling  . . . . . . . . . . . .  40
1)	;       11.12   ICMP Message Dispatching . . . . . . . . . . .  41
1)	;       11.13   ICMP Message Handling Routines . . . . . . . .  42
1)	;       11.14   ICMP Action Passing  . . . . . . . . . . . . .  45
1)	;       11.15   ICMP Error Handling  . . . . . . . . . . . . .  46
1)	;   12. Internet Gateway . . . . . . . . . . . . . . . . . . .  48
1)	;       12.1    Send a Packet into the Internet  . . . . . . .  49
1)	;       12.2    Send a Packet  . . . . . . . . . . . . . . . .  52
1)	;       12.3    Local Bypass . . . . . . . . . . . . . . . . .  53
1)	;       12.4    Checksum Handling  . . . . . . . . . . . . . .  55
1)	;       12.5    Receive a Packet . . . . . . . . . . . . . . .  56
1)	;       12.6    Fragment an IP Packet  . . . . . . . . . . . .  59
1)	;       12.7    Receive Fragment Processing  . . . . . . . . .  66
1)	;       12.8    Process IP Options . . . . . . . . . . . . . .  74
1)	;       12.9    Process Routing Options  . . . . . . . . . . .  76
1)	;       12.10   Timestamp Option Handling  . . . . . . . . . .  78
1)	^L	Subttl	Table of Contents (page 2)
1)	
1)	;		     Table of Contents for IPIPIP
1)	;
1)	;				  Section		      Page
1)	;
1)	;
1)	;   13. Gateway Table Routines . . . . . . . . . . . . . . . .  80
1)	;       13.1    Lookup a Gateway Address . . . . . . . . . . .  81

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 4


1)	;       13.2    State Change Routines  . . . . . . . . . . . .  82
1)	;       13.3    Hash Table Routines  . . . . . . . . . . . . .  83
1)	;   14. Internet User Queues . . . . . . . . . . . . . . . . .  85
1)	;       14.1    ASNIQ% JSYS  . . . . . . . . . . . . . . . . .  86
1)	;       14.2    RELIQ% JSYS  . . . . . . . . . . . . . . . . .  89
1)	;       14.3    SNDIN% JSYS  . . . . . . . . . . . . . . . . .  92
1)	;       14.4    RCVIN% JSYS  . . . . . . . . . . . . . . . . .  94
1)	;       14.5    Misc. Routines . . . . . . . . . . . . . . . .  96
1)	;       14.6    Processing . . . . . . . . . . . . . . . . . .  99
1)	;   15. Internet Packet Locking and Unlocking  . . . . . . . . 104
1)	;   16. Misc. Routines
1)	;       16.1    Lock Handling - Event Tracking . . . . . . . . 105
1)	;       16.2    Get Universal Time Since Midnight  . . . . . . 106
1)	;   17. End Of IPIPIP  . . . . . . . . . . . . . . . . . . . . 107
1)	^L	SUBTTL Lock Handling
1)	
1)		$INIT
1)	
1)		XSWAPCD
1)	
1)	COMMENT	!
LINE 1, PAGE 2
2)	;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY  BE  USED
2)	;OR COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
2)	;
2)	;COPYRIGHT  (C)  DIGITAL  EQUIPMENT  CORPORATION  1976, 1985.
2)	;ALL RIGHTS RESERVED.
2)	
2)	
2)		SEARCH ANAUNV,PROLOG
2)		TTITLE (IPIPIP,IPIPIP,< - ARPANET Internet Protocols>)
2)	
2)		IFNDEF REL6,<REL6==1>
2)	
2)		IF1 <IFN IPLDSW,<PRINTX Assembling Debuging IP Locking Routines>>
2)		IF1 <IFN IPQDSW,<PRINTX Assembling Debuging IP Queue Routines>>
2)	
2)	^L	SUBTTL Lock Handling
2)	
2)		$INIT
2)	
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	COMMENT	!

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 5



LINE 1, PAGE 6
1)	^L	SUBTTL Lock Handling -- Clear and Release Locks
1)	
1)	;CLRLCK	Initialize a lock.
LINE 1, PAGE 4
2)	^L	SUBTTL Lock Handling - Clear and Release Locks
2)	
2)	;CLRLCK	Initialize a lock.


LINE 1, PAGE 8
1)	^L	SUBTTL Lock Handling -- Seize Locks and Free Locks
1)	
1)	;SETLCK	Seize a lock.
LINE 1, PAGE 6
2)	^L	SUBTTL Lock Handling - Seize Locks and Free Locks
2)	
2)	;SETLCK	Seize a lock.


LINE 4, PAGE 10
1)		XSWAPCD
1)	
1)	COMMENT	!
LINE 4, PAGE 8
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	COMMENT	!


LINE 1, PAGE 11
1)	^L	SUBTTL Queue Handling -- Event Tracking
1)	
1)	; IP Queue Manipulation Debugging code and storage
LINE 1, PAGE 9
2)	^L	SUBTTL Queue Handling - Event Tracking
2)	
2)	; IP Queue Manipulation Debugging code and storage

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 6



LINE 22, PAGE 12
1)		XRESCD			; THIS CODE IS RESIDENT
1)	
1)	IPQTRK:				; TRACK IP QUEUE EVENTS
LINE 22, PAGE 10
2)	IFE REL6,<RESCD>		; THIS CODE IS RESIDENT
2)	IFN REL6,<XRESCD>		; THIS CODE IS RESIDENT
2)	
2)	IPQTRK:				; TRACK IP QUEUE EVENTS


LINE 63, PAGE 12
1)		XSWAPCD
1)	
1)	>				; end of IPQDSW
1)	
1)	^L	SUBTTL Queue Handling -- Initialization and Clearing
1)	
1)	;INITQ	Initialize a queue head
LINE 64, PAGE 10
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	>				; end of IPQDSW
2)	
2)	^L	SUBTTL Queue Handling - Initialization and Clearing
2)	
2)	;INITQ	Initialize a queue head


LINE 1, PAGE 14
1)	^L	SUBTTL Queue Handling -- Enqueueing and Dequeueing
1)	
1)	;NQ	Add an item to a queue just to the left of another item.
LINE 1, PAGE 12
2)	^L	SUBTTL Queue Handling - Enqueueing and Dequeueing
2)	
2)	;NQ	Add an item to a queue just to the left of another item.


LINE 13, PAGE 15
1)	NQ::
1)		IFN IPQDSW,<CALL IPQTRK> ; If debuging queue maniulations
1)		TEMP <ITEM,QHEAD,PREV>
LINE 13, PAGE 13
2)	NQ::	IFN IPQDSW,<CALL IPQTRK> ; If debuging queue maniulations
2)		TEMP <ITEM,QHEAD,PREV>

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 7



LINE 7, PAGE 17
1)		XSWAPCD
1)	
1)	WTBINI:	MOVSI T1,-NTWBWD	; Number of words in the pool
LINE 7, PAGE 15
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	WTBINI:	MOVSI T1,-NTWBWD	; Number of words in the pool


LINE 4, PAGE 21
1)		XSWAPCD
1)	
1)	COMMENT	!
LINE 4, PAGE 19
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	COMMENT	!


LINE 1, PAGE 22
1)	^L	SUBTTL	Internet Fork -- Startup and Initialization
1)	
1)	;INTBEG	Start the Internet process at system startup time.
1)	;	CALL INTBEG
1)	;Ret+1:	Always.
1)	
1)		XNENT (INTBEG,G)
1)		MOVSI T1,(CR%CAP)
LINE 1, PAGE 20
2)	^L	SUBTTL	Internet Fork - Startup and Initialization
2)	
2)	;INTBEG	Start the Internet process at system startup time.
2)	;	CALL INTBEG
2)	;Ret+1:	Always.
2)	
2)	IFE REL6,<INTBEG::>
2)	IFN REL6,<XNENT INTBEG,G>
2)		MOVSI T1,(CR%CAP)

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 8



LINE 22, PAGE 23
1)		MOVX T1,USRCTX		; INIT CONTEXT
1)		MOVEM T1,FFL
1)		SETZM FPC
1)		MCENTR			; Establish monitor context
1)		MOVX T1,<JP%SYS!1B35>	; GET THE SYS BIT
LINE 23, PAGE 21
2)	IFE REL6,<
2)		MOVSI T1,(PC%USR)	; User mode bit
2)		MOVEM T1,FPC		; Fake a return PC
2)	>
2)	IFN REL6,<
2)		MOVX T1,USRCTX		; INIT CONTEXT
2)		MOVEM T1,FFL
2)		SETZM FPC
2)	>
2)		MCENTR			; Establish monitor context
2)		IFE REL6,<SE1ENT>	; make sure section one
2)		MOVX T1,<JP%SYS!1B35>	; GET THE SYS BIT


LINE 30, PAGE 23
1)		MOVE T1,[XCDSEC,,INTUXI]
1)		MOVEM T1,MONBK		; Setup unexpected interrupt dispatch
LINE 38, PAGE 21
2)	IFE REL6,<MOVE T1,[ITFPC,,INTUXI]>
2)	IFN REL6,<MOVE T1,[XCDSEC,,INTUXI]>
2)		MOVEM T1,MONBK		; Setup unexpected interrupt dispatch


LINE 1, PAGE 24
1)	^L	SUBTTL	Internet Fork -- Main Loop
1)	
1)	PIX==5
LINE 1, PAGE 22
2)	^L	SUBTTL	Internet Fork - Main Loop
2)	
2)	PIX==5


LINE 8, PAGE 25
1)		PUSH P,[XCDSEC,,INTBP1] ; Return for following routines.
1)		SETZM INTFLG		; Clear forced run flag.
LINE 8, PAGE 23
2)		IFE REL6,<PUSH P,[MSEC1,,INTBP1]> ; Return for following routines.
2)		IFN REL6,<PUSH P,[XCDSEC,,INTBP1]> ; Return for following routines.
2)		SETZM INTFLG		; Clear forced run flag.

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 9



LINE 39, PAGE 25
1)		CALL CIPSRV	 	; See if IP CI driver needs anything
   {Skipped 1 page and 2 lines}
1)		MOVEI PTB,INTPIX+1	; ...
LINE 40, PAGE 23
2)		IFN REL6,<CALL CIPSRV> 	; See if IP CI driver needs anything
   {Skipped 1 page and 2 lines}
2)		MOVEI PTB,INTPIX+1	; ...


LINE 41, PAGE 26
1)		MCENTR
LINE 41, PAGE 24
2)		IFE REL6,<SE1ENT>	; Enter section 1
2)		MCENTR


LINE 59, PAGE 26
1)		XSWAPCD
1)	
1)	^L	SUBTTL	Internet Fork -- Buffer Releasing
1)	
1)	;INTNRB	Release packet buffers left by PI level 
LINE 60, PAGE 24
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	^L	SUBTTL	Internet Fork - Buffer Releasing
2)	
2)	;INTNRB	Release packet buffers left by PI level 


LINE 1, PAGE 28
1)	^L	SUBTTL	Internet Fork -- Get and Return Internet Buffers
1)	
1)	;INTGIB	Get input buffers.
LINE 1, PAGE 26
2)	^L	SUBTTL	Internet Fork - Get and Return Internet Buffers
2)	
2)	;INTGIB	Get input buffers.

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 10



LINE 32, PAGE 29
1)		XRESCD			; THIS CODE IS RESIDENT
1)	
1)	RETPKT::JE PFSIZ,(PKT),RETPK1	; Is it a full size packet?
LINE 32, PAGE 27
2)	IFE REL6,<RESCD>		; THIS CODE IS RESIDENT
2)	IFN REL6,<XRESCD>		; THIS CODE IS RESIDENT
2)	
2)	RETPKT::JE PFSIZ,(PKT),RETPK1	; Is it a full size packet?


LINE 42, PAGE 29
1)		XMOVEI T2,LCLPKT(PKT)	; Get pointer to IMPDV portion
LINE 43, PAGE 27
2)	ifn nicsw,<
2)		push p,t1
2)		hlrz t1,-1(pkt)		;get buffer header word (length field)
2)		trz t1,400000
2)		caml t1,maxwpm
2)		 jrst retpk9
2)		BUG.(CHK,RETSPK,IPIPIP,SOFT,<IPIPIP: Internet buffer wrong size>,<<T1,D>>,<
2)	
2)	Cause:	The monitor has detected an input buffer that is not of the
2)		maximum size required by this routine.  This is probably a
2)		software problem.
2)	
2)	>)
2)		pop p,t1
2)		jrst retpk1
2)	retpk9:	pop p,t1
2)	>;ifn nicsw
2)	
2)		XMOVEI T2,LCLPKT(PKT)	; Get pointer to IMPDV portion


LINE 55, PAGE 29
1)		XSWAPCD
1)	
1)	RETPK1:	MOVE T1,PKT		; What to return
LINE 74, PAGE 27
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	RETPK1:	MOVE T1,PKT		; What to return

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 11



LINE 1, PAGE 30
1)	^L	SUBTTL	Internet Fork -- Internet Grand Initialization
1)	
1)	;INTINI	Internet Grand Initialization.
LINE 1, PAGE 28
2)	^L	SUBTTL	Internet Fork - Internet Grand Initialization
2)	
2)	;INTINI	Internet Grand Initialization.


LINE 3, PAGE 32
1)		XSWAPCD
1)	
1)	COMMENT	!
LINE 3, PAGE 30
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	COMMENT	!


LINE 8, PAGE 33
1)	MAXGWA==:^D50			;[7.1283] Number of GWs we will keep track of
1)					; (Gateways and multi-homed hosts)
1)	; The file name to use:
LINE 8, PAGE 31
2)	IFE CHIVES,<
2)	MAXGWA==^D50			; Number of GWs we will keep track of
2)					; (Gateways and multi-homed hosts)
2)	>
2)	IFN CHIVES,<
2)	MAXGWA==:^D80
2)	>
2)	
2)	; The file name to use:


LINE 1, PAGE 34
1)	^L	SUBTTL ICMP -- Gateway and ICMP Initialization
1)	
1)	;ICMINI	Initialize ICM Protocol
LINE 1, PAGE 32
2)	^L	SUBTTL ICMP - Gateway and ICMP Initialization
2)	
2)	;ICMINI	Initialize ICM Protocol

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 12



LINE 34, PAGE 35
1)	GWYINI::SAVEAC <GW>
1)		ACVAR <I>
LINE 34, PAGE 33
2)	GWYINI::IFE REL6,<SE1CAL>	; In case called from MDDT
2)		SAVEAC <GW>
2)		ACVAR <I>


LINE 1, PAGE 36
1)	^L	SUBTTL ICMP -- Load the Gateway File
1)	
1)	;LODFIL	Load the gateway file
LINE 1, PAGE 34
2)	^L	SUBTTL ICMP - Load the Gateway File
2)	
2)	;LODFIL	Load the gateway file


LINE 1, PAGE 38
1)	^L	SUBTTL ICMP -- Gateway File Line Processing
1)	
1)	;PRCLIN	Process lines of the gateway file
LINE 1, PAGE 36
2)	^L	SUBTTL ICMP - Gateway File Line Processing
2)	
2)	;PRCLIN	Process lines of the gateway file


LINE 1, PAGE 41
1)	^L	SUBTTL ICMP -- Load Gateway Descriptor
1)	
1)	;LOADGW	Load one gateway desciption and add to table
LINE 1, PAGE 39
2)	^L	SUBTTL ICMP - Load Gateway Descriptor
2)	
2)	;LOADGW	Load one gateway desciption and add to table


LINE 1, PAGE 44
1)	^L	SUBTTL ICMP -- Create Gateway Blocks
1)	
1)	;DEFGWY	Create real gateway blocks
LINE 1, PAGE 42
2)	^L	SUBTTL ICMP - Create Gateway Blocks
2)	
2)	;DEFGWY	Create real gateway blocks

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 13



LINE 1, PAGE 47
1)	^L	SUBTTL ICMP -- Gateway File Processing
1)	
1)	;GETC	Get a character from a file
LINE 1, PAGE 45
2)	^L	SUBTTL ICMP - Gateway File Processing
2)	
2)	;GETC	Get a character from a file


LINE 1, PAGE 49
1)	^L	SUBTTL ICMP -- Find A Gateway
1)	
1)	;FNDGWY	Find a gateway with an interface on a given net.
LINE 1, PAGE 47
2)	^L	SUBTTL ICMP - Find A Gateway
2)	
2)	;FNDGWY	Find a gateway with an interface on a given net.


LINE 1, PAGE 51
1)	^L	SUBTTL ICMP -- ICMP Processing
1)	
1)	;ICMPRC	Top level ICMP Processing routine.  Called From Internet Fork 
LINE 1, PAGE 49
2)	^L	SUBTTL ICMP - ICMP Processing
2)	
2)	;ICMPRC	Top level ICMP Processing routine.  Called From Internet Fork 


LINE 1, PAGE 53
1)	^L	SUBTTL ICMP -- Gateway Pinger
1)	
1)	;PINGER	Ping gateways to see if they are alive
LINE 1, PAGE 51
2)	^L	SUBTTL ICMP - Gateway Pinger
2)	
2)	;PINGER	Ping gateways to see if they are alive


LINE 1, PAGE 55
1)	^L	SUBTTL ICMP -- Gateway Pinging Routine
1)	
1)	;SNDPNG	Send a ping message to a GW
LINE 1, PAGE 53
2)	^L	SUBTTL ICMP - Gateway Pinging Routine
2)	
2)	;SNDPNG	Send a ping message to a GW

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 14



LINE 39, PAGE 56
1)		CAIE T4,GW%DUM		; [7182] Dumb Gateway?
1)		 JRST SNDPN6		; No.
1)		EXCH T1,T2		; Yes, Swap source and destination
1)		MOVEI T3,ICM%ER		; ECHO-REPLY code
LINE 39, PAGE 54
2)		CAIN T4,GW%PRM		; Prime?
2)		 JRST SNDPN6		; Yes
2)		EXCH T1,T2		; Swap source and destination
2)		MOVEI T3,ICM%ER		; ECHO-REPLY code


LINE 1, PAGE 58
1)	^L	SUBTTL ICMP -- ICMP Message Handling
1)	
1)	;ICMDSP	Dispatch on ICMP message type
LINE 1, PAGE 56
2)	^L	SUBTTL ICMP - ICMP Message Handling
2)	
2)	;ICMDSP	Dispatch on ICMP message type


LINE 1, PAGE 60
1)	^L	SUBTTL ICMP -- ICMP Message Dispatching
1)	
1)	; Table of type codes (ordered by frequency):
LINE 1, PAGE 58
2)	^L	SUBTTL ICMP - ICMP Message Dispatching
2)	
2)	; Table of type codes (ordered by frequency):


LINE 1, PAGE 62
1)	^L	SUBTTL ICMP -- ICMP Message Handling Routines
1)	
1)	ICMPDU:
LINE 1, PAGE 60
2)	^L	SUBTTL ICMP - ICMP Message Handling Routines
2)	
2)	ICMPDU:

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 15



LINE 24, PAGE 63
1)		CALL MARKUP		; Mark the host as up
LINE 24, PAGE 61
2)	IFN NICSW,<
2)		AOS IS.ECO+1		; Count echo requests
2)		LOAD T1,PISH,(PKT)	; Get the host number
2)		CAMN T1,LSTHEC		;same damn host?
2)		 RET			;yep.  sorry loser.
2)		MOVEM T1,LSTHEC		;else save this guy and do echo
2)		AOS IS.ECO		; Count echos sent
2)	>
2)		CALL MARKUP		; Mark the host as up


LINE 17, PAGE 64
1)		LOAD T1,PIDH,-PKTELI+.CMINH(CPKT) ; Get the host number
1)		CALL HSTHSH		; Get its hash code
LINE 17, PAGE 62
2)	IFE NICSW,<
2)		LOAD T1,PIDH,-PKTELI+.CMINH(CPKT) ; Get the host number
2)	>
2)	IFN NICSW,<
2)		LOAD T1,PISH,(PKT)	; Get the host number
2)	>
2)		CALL HSTHSH		; Get its hash code


LINE 1, PAGE 66
1)	^L	SUBTTL ICMP -- ICMP Action Passing
1)	
1)	;ICMUSR	Give an ICMP message to the user.
LINE 1, PAGE 64
2)	^L	SUBTTL ICMP - ICMP Action Passing
2)	
2)	;ICMUSR	Give an ICMP message to the user.


LINE 1, PAGE 68
1)	^L	SUBTTL ICMP -- ICMP Error Handling
1)	
1)	;ICMERR	Handle an error.
LINE 1, PAGE 66
2)	^L	SUBTTL ICMP - ICMP Error Handling
2)	
2)	;ICMERR	Handle an error.

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 16



LINE 25, PAGE 71
1)		XSWAPCD
1)	
1)	GATINI:
LINE 25, PAGE 69
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	GATINI:


LINE 1, PAGE 72
1)	^L	SUBTTL	Internet Gateway -- Send a Packet into the Internet
1)	
1)	;Send  the  packet  to  some  host on a local net which is either the
LINE 1, PAGE 70
2)	^L	SUBTTL	Internet Gateway - Send a Packet into the Internet
2)	
2)	;Send  the  packet  to  some  host on a local net which is either the


LINE 1, PAGE 76
1)	^L	SUBTTL Internet Gateway -- Send a Packet
1)	
1)	;SNDPKT	Send a packet
LINE 1, PAGE 74
2)	^L	SUBTTL Internet Gateway - Send a Packet
2)	
2)	;SNDPKT	Send a packet


LINE 12, PAGE 77
1)	SNDPKT:	PUSH P,T1		; Save the host
1)		PUSH P,T2		; Save the routine
LINE 12, PAGE 75
2)	SNDPKT:
2)	IFN NICSW,<
2)		PUSH P,T1
2)		PUSH P,T2
2)		AOS IS.IP		;ip
2)		LDB T1,[POINT 16,PKTELI+5(PKT),31]	;get dest port
2)		LDB T2,[POINT 16,PKTELI+5(PKT),15]	;get src port
2)		CAMLE T2,T1
2)		 MOVE T2,T1		;get well known port
2)		LOAD T1,PIPRO,(PKT)	;get protocol
2)		CAIE T1,^d1		;icmp
2)		IFSKP.
2)		 AOS IS.ICM
2)		 LDB T2,[POINT 8,PKTELI+5(PKT),7]	;get type

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 17


2)		 CAIN T2,3
2)		  AOS IS.UNR
2)		 CAIN T2,4
2)		  AOS IS.SQ
2)		 CAIN T2,5
2)		  AOS IS.RED
2)		ENDIF.
2)		CAIE T1,^d6		;tcp
2)		IFSKP.
2)		 AOS IS.TCP
2)		 CAIN T2,^D25
2)		  AOS IS.T25
2)		 CAIN T2,^D23
2)		  AOS IS.T23
2)		 CAIN T2,^D43
2)		  AOS IS.T43
2)		 CAIN T2,^D101
2)		  AOS IS.T101
2)		 CAIE T2,^D20
2)		  CAIN T2,^D21
2)		   AOS IS.T21
2)		ENDIF.
2)		CAIE T1,^d17		;udp
2)		IFSKP.
2)		 AOS IS.UDP
2)		 CAIN T2,^D53
2)		  AOS IS.U53
2)		ENDIF.
2)		POP P,T2
2)		POP P,T1
2)	>;IFN NICSW
2)		PUSH P,T1		; Save the host
2)		PUSH P,T2		; Save the routine


LINE 1, PAGE 78
1)	^L	SUBTTL Internet Gateway -- Local Bypass
1)	
1)	;SNDLCL	Attempt to send the packet via the "bypass".
LINE 1, PAGE 76
2)	^L	SUBTTL Internet Gateway - Local Bypass
2)	
2)	;SNDLCL	Attempt to send the packet via the "bypass".

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 18



LINE 25, PAGE 79
1)		XRESCD			; THIS CODE IS RESIDENT
1)	
1)	SNDLC0:	PIOFF			; Get unique access to IMP buffers
LINE 25, PAGE 77
2)	IFE REL6,<RESCD>		; THIS CODE IS RESIDENT
2)	IFN REL6,<XRESCD>		; THIS CODE IS RESIDENT
2)	
2)	SNDLC0:	PIOFF			; Get unique access to IMP buffers


LINE 51, PAGE 80
1)		XSWAPCD
1)	
1)	^L	SUBTTL Internet Gateway -- Checksum Handling
1)	
1)	;SNDGAB	Fill in header fields
LINE 51, PAGE 78
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	^L	SUBTTL Internet Gateway - Checksum Handling
2)	
2)	;SNDGAB	Fill in header fields


LINE 1, PAGE 82
1)	^L	SUBTTL Internet Gateway -- Receive a Packet
1)	
1)	;RCVGAT	Receive a packet from all networks
1)	;	CALL RCVGAT
1)	;Ret+1:	Always.  PKT has pointer to packet or 0 if none available
1)	
1)		XRESCD			; THIS CODE IS RESIDENT
1)	
1)	RCVGAT:
LINE 1, PAGE 80
2)	^L	SUBTTL Internet Gateway - Receive a Packet
2)	
2)	;RCVGAT	Receive a packet from all networks
2)	;	CALL RCVGAT
2)	;Ret+1:	Always.  PKT has pointer to packet or 0 if none available
2)	
2)	IFE REL6,<RESCD>		; THIS CODE IS RESIDENT
2)	IFN REL6,<XRESCD>		; THIS CODE IS RESIDENT
2)	
2)	RCVGAT:

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 19



LINE 29, PAGE 83
1)		XSWAPCD
1)	
1)	RCVGA0:	SETZRO NBQUE,(PKT)	; Packet not in a queue
LINE 30, PAGE 81
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	RCVGA0:	SETZRO NBQUE,(PKT)	; Packet not in a queue


LINE 14, PAGE 84
1)		CALL INTCKS		; Compute the checksum
LINE 14, PAGE 82
2)	;patch area to ignore packets from losing hosts
2)	IFN NICSW,<
2)		LOAD T1,PISH,(PKT)	; get source host
2)		CAMN T1,LOSHST		; is it the losing host?
2)		 JRST RCVGA9		; yep, flush it.
2)	>;IFN NICSW
2)		CALL INTCKS		; Compute the checksum


LINE 56, PAGE 84
1)	RCVGA6:	SKIPE INTSCR
1)		 JRST RCVGA9		; Only the other GW can do the fwd-ing
LINE 62, PAGE 82
2)	RCVGA6:
2)	IFN NICSW,<
2)		JRST RCVGA9		; DON'T FORWARD PACKETS!
2)	>
2)		SKIPE INTSCR
2)		 JRST RCVGA9		; Only the other GW can do the fwd-ing


LINE 10, PAGE 85
1)		JUMPN PKT,RCVGAX	; Packet was reassembled, to dispatcher
LINE 10, PAGE 83
2)	IFN NICSW,<
2)	;	SKIPE PKT
2)	;	 AOS IS.FRG+1		; Count fragmented packets received
2)	>
2)		JUMPN PKT,RCVGAX	; Packet was reassembled, to dispatcher

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 20



LINE 20, PAGE 85
1)		XRESCD			; THIS CODE IS RESIDENT
1)	
1)	RCVGAY:	PION
1)	RCVGAX:
1)	
1)	..X=.				; Logically clean up here, but the
LINE 24, PAGE 83
2)	IFE REL6,<RESCD>		; THIS CODE IS RESIDENT
2)	IFN REL6,<XRESCD>		; THIS CODE IS RESIDENT
2)	
2)	RCVGAY:	PION
2)	RCVGAX:
2)	IFN NICSW,<
2)		JUMPE PKT,[RET]
2)		PUSH P,T1
2)		PUSH P,T2
2)		AOS IS.IP+1		;ip
2)		LDB T1,[POINT 16,PKTELI+5(PKT),31]	;get dest port
2)		LDB T2,[POINT 16,PKTELI+5(PKT),15]	;get src port
2)		CAMLE T2,T1
2)		 MOVE T2,T1		;get well known port
2)		LOAD T1,PIPRO,(PKT)	;get protocol
2)		CAIE T1,^d1		;icmp
2)		IFSKP.
2)		 AOS IS.ICM+1
2)		 LDB T2,[POINT 8,PKTELI+5(PKT),7]	;get type
2)		 CAIN T2,3
2)		  AOS IS.UNR+1
2)		 CAIN T2,4
2)		  AOS IS.SQ+1
2)		 CAIN T2,5
2)		  AOS IS.RED+1
2)		ENDIF.
2)		CAIE T1,^d6		;tcp
2)		IFSKP.
2)		 AOS IS.TCP+1
2)		 CAIN T2,^D25
2)		  AOS IS.T25+1
2)		 CAIN T2,^D23
2)		  AOS IS.T23+1
2)		 CAIN T2,^D43
2)		  AOS IS.T43+1
2)		 CAIN T2,^D101
2)		  AOS IS.T101+1
2)		 CAIE T2,^D20
2)		  CAIN T2,^D21
2)		   AOS IS.T21+1
2)		ENDIF.

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 21


2)		CAIE T1,^d17		;udp
2)		IFSKP.
2)		 AOS IS.UDP+1
2)		 CAIN T2,^D53
2)		  AOS IS.U53+1
2)		ENDIF.
2)		POP P,T2
2)		POP P,T1
2)	>;IFN NICSW
2)	
2)	..X=.				; Logically clean up here, but the


LINE 33, PAGE 85
1)		XSWAPCD
1)	
1)	^L	SUBTTL Internet Gateway -- Fragment an IP Packet
1)	
1)	;SNDFR	Fragment IP packet
LINE 83, PAGE 83
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	^L	SUBTTL Internet Gateway - Fragment an IP Packet
2)	
2)	;SNDFR	Fragment IP packet


LINE 21, PAGE 87
1)	SNDFR2:				; Compute storage required for fragment
1)		LOAD T2,PIDO,(LPK)	; Data offset (w)
LINE 21, PAGE 85
2)	SNDFR2:
2)	IFN NICSW,<
2)	;	AOS IS.FRG		; Count packets fragmented
2)	>
2)					; Compute storage required for fragment
2)		LOAD T2,PIDO,(LPK)	; Data offset (w)


LINE 1, PAGE 93
1)	^L	SUBTTL Internet Gateway -- Receive Fragment Processing
1)	
1)	;RCVFR	Process a fragment which was just received or Flush timedouts.
LINE 1, PAGE 91
2)	^L	SUBTTL Internet Gateway - Receive Fragment Processing
2)	
2)	;RCVFR	Process a fragment which was just received or Flush timedouts.

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 22



LINE 1, PAGE 102
1)	^L	SUBTTL Internet Gateway -- Process IP Options
1)	
1)	;IPOPT	Process IP Options - Phase 1, before routing.
LINE 1, PAGE 100
2)	^L	SUBTTL Internet Gateway - Process IP Options
2)	
2)	;IPOPT	Process IP Options - Phase 1, before routing.


LINE 19, PAGE 103
1)		XRESCD			; THIS CODE IS RESIDENT
1)	
1)	IPOPT:	SETZM SRP(T1)		; No Source Route
LINE 19, PAGE 101
2)	IFE REL6,<RESCD>		; THIS CODE IS RESIDENT
2)	IFN REL6,<XRESCD>		; THIS CODE IS RESIDENT
2)	
2)	IPOPT:	SETZM SRP(T1)		; No Source Route


LINE 1, PAGE 105
1)	^L	SUBTTL Internet Gateway -- Process Routing Options
1)	
1)	;RUTOP	Routing Options
LINE 1, PAGE 103
2)	^L	SUBTTL Internet Gateway - Process Routing Options
2)	
2)	;RUTOP	Routing Options


LINE 1, PAGE 108
1)	^L	SUBTTL Internet Gateway -- Timestamp Option Handling
1)	
1)	;DOSTP	Time Stamp Option.
LINE 1, PAGE 106
2)	^L	SUBTTL Internet Gateway - Timestamp Option Handling
2)	
2)	;DOSTP	Time Stamp Option.

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 23



LINE 5, PAGE 111
1)		XSWAPCD
1)	
1)	COMMENT	!
LINE 5, PAGE 109
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	COMMENT	!


LINE 1, PAGE 112
1)	^L	SUBTTL Gateway Table Routines -- Lookup a Gateway Address
1)	
1)	;GWYLUK	Look up a gateway address for a given destination.
LINE 1, PAGE 110
2)	^L	SUBTTL Gateway Table Routines - Lookup a Gateway Address
2)	
2)	;GWYLUK	Look up a gateway address for a given destination.


LINE 16, PAGE 113
1)	GWYLUK::ACVAR	<NET>			;[7.1283] Global routine
1)		NETNUM T2,T1			; Get the network number
LINE 16, PAGE 111
2)	IFE CHIVES,<GWYLUK:>
2)	IFN CHIVES,<GWYLUK::>
2)		ACVAR	<NET>
2)		NETNUM T2,T1			; Get the network number


LINE 22, PAGE 113
1)	IFE STANSW,<
LINE 24, PAGE 111
2)	IFE NICSW,<
2)	IFE STANSW,<


LINE 28, PAGE 113
1)		JUMPE P1,LUKNIT			; Deleted entry
LINE 31, PAGE 111
2)	>;IFE NICSW
2)	IFN NICSW,<
2)		 RET		; -1,,.NCTi	; No, return with interface
2)	>
2)	
2)		JUMPE P1,LUKNIT			; Deleted entry

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 24



LINE 34, PAGE 113
1)	IFN STANSW,<
1)		CALL FNDINT			; Ensure best interface on desired net
1)	>;IFN STANSW
1)		RET				; and return with it
LINE 42, PAGE 111
2)	IFE NICSW,<
2)	IFN STANSW,<
2)		CALL FNDINT			; Ensure best interface on desired net
2)	>;IFN STANSW
2)	>;IFE NICSW
2)		RET				; and return with it


LINE 1, PAGE 114
1)	^L	SUBTTL Gateway Table Routines -- State Change Routines
1)	
1)	;INTUP	Signal that an interface has come up.
LINE 1, PAGE 112
2)	^L	SUBTTL Gateway Table Routines - State Change Routines
2)	
2)	;INTUP	Signal that an interface has come up.


LINE 1, PAGE 116
1)	^L	SUBTTL Gateway Table Routines -- Hash Table Routines
1)	
1)	;NETHSI	Initialize the network hash table
LINE 1, PAGE 114
2)	^L	SUBTTL Internet Gateway Tables - Hash Table Routines
2)	
2)	;NETHSI	Initialize the network hash table


LINE 5, PAGE 119
1)		XSWAPCD
1)	
1)		COMMENT !
LINE 5, PAGE 117
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)		COMMENT !

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 25



LINE 1, PAGE 120
1)	^L	SUBTTL Internet User Queues -- ASNIQ% JSYS
1)	
1)	;Assign Internet Queue JSYS (ASNIQ%)
LINE 1, PAGE 118
2)	^L	SUBTTL Internet User Queues - ASNIQ% JSYS
2)	
2)	;Assign Internet Queue JSYS (ASNIQ%)


LINE 17, PAGE 121
1)		XNENT (.ASNIQ,G)
1)		MCENT			; Enter monitor
LINE 17, PAGE 119
2)	IFE REL6,<.ASNIQ::>
2)	IFN REL6,<XNENT .ASNIQ,G>
2)		MCENT			; Enter monitor


LINE 33, PAGE 123
1)		CALL LCL2GL		; Get the global job number
1)		 SETZ T1,		; in case of error return
1)		UMOVEM T1,T2		; Give it to user
LINE 34, PAGE 121
2)	IFN REL6,<			; Only if we are release 6
2)		CALL LCL2GL		; Get the global job number
2)		 SETZ T1,>		; in case of error return
2)	
2)		UMOVEM T1,T2		; Give it to user


LINE 1, PAGE 124
1)	^L	SUBTTL Internet User Queues -- RELIQ% JSYS
1)	
1)	;INTLGO	Internet logout routine -- called by each job as it logs out.
1)	
1)		XNENT (INTLGO,G)
1)		SETO T1,		; Say all Internet Queues
LINE 1, PAGE 122
2)	^L	SUBTTL Internet User Queues - RELIQ% JSYS
2)	
2)	;INTLGO	Internet logout routine -- called by each job as it logs out.
2)	
2)	IFE REL6,<INTLGO::>
2)	IFN REL6,<XNENT INTLGO,G>
2)		SETO T1,		; Say all Internet Queues

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 26



LINE 18, PAGE 125
1)		XNENT (.RELIQ,G)
1)		MCENT			; Enter monitor
LINE 19, PAGE 123
2)	IFE REL6,<.RELIQ::>
2)	IFN REL6,<XNENT .RELIQ,G>
2)		MCENT			; Enter monitor


LINE 1, PAGE 128
1)	^L	SUBTTL Internet User Queues -- SNDIN% JSYS
1)	
1)	;Send an Internet Segment JSYS
LINE 1, PAGE 126
2)	^L	SUBTTL Internet User Queues - SNDIN% JSYS
2)	
2)	;Send an Internet Segment JSYS


LINE 11, PAGE 129
1)		XNENT (.SNDIN,G)
1)		MCENT			; Enter monitor
LINE 11, PAGE 127
2)	IFE REL6,<.SNDIN::>
2)	IFN REL6,<XNENT .SNDIN,G>
2)		MCENT			; Enter monitor


LINE 1, PAGE 131
1)	^L	SUBTTL Internet User Queues -- RCVIN% JSYS
1)	
1)	;Receive an Internet Segment JSYS
LINE 1, PAGE 129
2)	^L	SUBTTL Internet User Queues - RCVIN% JSYS
2)	
2)	;Receive an Internet Segment JSYS


LINE 12, PAGE 132
1)		XNENT (.RCVIN,G)
1)		MCENT			; Enter the monitor
LINE 12, PAGE 130
2)	IFE REL6,<.RCVIN::>
2)	IFN REL6,<XNENT .RCVIN,G>
2)		MCENT			; Enter the monitor

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 27



LINE 1, PAGE 134
1)	^L	SUBTTL Internet User Queues -- Misc. Routines
1)	
1)	;INQGET	Get a message (Internet segment) from specified queue.
LINE 1, PAGE 132
2)	^L	SUBTTL Internet User Queues - Misc. Routines
2)	
2)	;INQGET	Get a message (Internet segment) from specified queue.


LINE 36, PAGE 135
1)	CHKIQ::	HRRZS T2,T1             ;[7.1283] Global routine
1)		CAIL T2,NIQ		; Range check the handle
LINE 36, PAGE 133
2)	IFE CHIVES,<
2)	CHKIQ:
2)	>
2)	IFN CHIVES,<
2)	CHKIQ::
2)	>	HRRZS T2,T1
2)		CAIL T2,NIQ		; Range check the handle


LINE 1, PAGE 138
1)	^L	SUBTTL Internet User Queues -- Processing
1)	
1)	;INQPRC	Internet User Queue Process.
LINE 1, PAGE 136
2)	^L	SUBTTL Internet User Queues - Processing
2)	
2)	;INQPRC	Internet User Queue Process.


LINE 11, PAGE 144
1)		XRESCD			; THIS CODE IS RESIDENT
1)	
1)	INTLKB::LOCAL <IMPPKT,PKTLIM>
LINE 11, PAGE 142
2)	IFE REL6,<RESCD>		; THIS CODE IS RESIDENT
2)	IFN REL6,<XRESCD>		; THIS CODE IS RESIDENT
2)	
2)	INTLKB::LOCAL <IMPPKT,PKTLIM>

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 28



LINE 43, PAGE 144
1)		CALLX (MSEC1,MLKMA)	; lock down the page
1)		RET			; and return to caller
LINE 44, PAGE 142
2)		IFE REL6,<CALL MLKMA>  	; lock down the page
2)		IFN REL6,<CALLX (MSEC1,MLKMA)> ; lock down the page
2)		RET			; and return to caller


LINE 80, PAGE 144
1)		CALLX (MSEC1,MULKSP)	; unlock the page
1)		RET			; return to caller
1)	
1)	^L	SUBTTL Misc. Routines -- Lock Handling - Event Tracking
1)	
1)	; IP Buffer Lock Manipulation Debugging code and storage
LINE 82, PAGE 142
2)		IFE REL6,<CALL MULKSP>	; unlock the page
2)		IFN REL6,<CALLX (MSEC1,MULKSP)> ; unlock the page
2)		RET			; return to caller
2)	
2)	^L	SUBTTL Lock Handling - Event Tracking
2)	
2)	; IP Buffer Lock Manipulation Debugging code and storage


LINE 1, PAGE 146
1)	^L	SUBTTL Misc. Routines -- Get Universal Time Since Midnight
1)	
1)	;INETUT	Get universal time since midnight.
1)	;	CALL INETUT
1)	;Ret+1:	Always, T1 contains 32-bit time since midnight
1)	
1)		XSWAPCD
1)	
1)	INETUT:	SAVEAC <T2>
LINE 1, PAGE 144
2)	^L	SUBTTL Misc. Routines
2)	
2)	;INETUT	Get universal time since midnight.
2)	;	CALL INETUT
2)	;Ret+1:	Always, T1 contains 32-bit time since midnight
2)	
2)	IFE REL6,<SWAPCD>
2)	IFN REL6,<XSWAPCD>
2)	
2)	INETUT:	SAVEAC <T2>

; IPIPIP.MAC.1 & <MONITOR>IPIPIP.MAC.1 24-Feb-89 1721	PAGE 29



LINE 1, PAGE 148
1)	^L	SUBTTL End Of IPIPIP
1)		TNXEND
LINE 18, PAGE 145
2)		TNXEND