Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_SRC_1_19910112
-
7/ft3/monitor/stanford/tcptcp.dif
There are no other files named tcptcp.dif in the archive.
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 1
LINE 1, PAGE 1
1) ;[MACBETH.STANFORD.EDU]SRC:<7.FT2.MONITOR.STANFORD>TCPTCP.MAC.3, 20-Jun-88 15:39:28, Edit by A.ALDERSON
1) ; V7.0 FT Clock tape
1) ;[MACBETH]SRC:<7.FT2.MONITOR.STANFORD>TCPTCP.MAC.2, 7-Apr-88 14:47:33, Edit by A.APPLEHACKS
1) ; FT7.2 Merge
1) ;[MACBETH]SRC:<7.FT1.MONITOR.STANFORD>TCPTCP.MAC.2, 1-Feb-88 19:08:09, Edit by A.APPLEHACKS
1) ; FT7 Merge
1) ;;SIERRA::SRC:<6.1.MONITOR.STANFORD>TCPTCP.MAC.48, 8-Dec-86 15:56:24, Edit by GROSSMAN
1) ;; Prevent negative window sizes near PKTIZ7. This prevents buffers from
1) ;; getting smashed and causing subsequent havoc (ILMNRF's, INTFRx's, et. al.).
1) ;;SRC:<6.1.MONITOR.STANFORD>TCPTCP.MAC.47, 5-Nov-86 13:26:51, Edit by BILLW
1) ;; Send a Maximum Segment Length Option in SYN packets...
1) ;; Try to avoid one-way gateway problems by aborting SYN.SYN connections
1) ;; on first retransmission if they contain a funny host status.
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.46, 31-Mar-86 15:56:12, Edit by BILLW
1) ;; CLYNN (Via KLH) fix for receiving duplicate data.
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.43, 25-Mar-86 00:42:41, Edit by BILLW
1) ;; advertize optimistic windows based on number of interupt level
1) ;; buffer that are available at NUWNDO.
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.42, 11-Mar-86 17:34:56, Edit by BILLW
1) ;;in PKTIZE, recognize TSTVO as meaning a data packet should be sent
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.41, 10-Mar-86 00:46:02, Edit by BILLW
1) ;;rewrite CHKADD. now TCBs are hashed on LP/FH/FP, if possible.
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.32, 19-Feb-86 01:12:57, Edit by BILLW
1) ;;undo FP hashing. Never call TRMPKT - it fragments Free space horribly
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.28, 13-Feb-86 17:17:59, Edit by BILLW
1) ;; include Foriegn port in TCB hash table key.
1) ;; at PRCAC4-1, change PZ signaling (Hedrick's hung connection fix).
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.27, 13-Feb-86 01:19:28, Edit by BILLW
1) ;; redo time-out avoidance on closed window by updating PDCT
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.25, 11-Feb-86 16:23:38, Edit by BILLW
1) ;; Create RSIGNAL, and use it at REMSEx for requeing Rxmiter
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.24, 4-Feb-86 23:30:59, Edit by BILLW
1) ;; make a stab at correcting fencepst error at PRCAC4+n
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.23, 4-Feb-86 18:27:58, Edit by BILLW
1) ;; add other stuff from <6-1-exp-mon>: interval rounding at SIGNAL,
1) ;; TIMCALs for TCP processes, TSKAGN counter.
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.22, 4-Feb-86 02:25:31, Edit by BILLW
1) ;; A lot of things cause RX to be run, besides RX and PZ. Have these
1) ;; NOT signal RX if the send window is 0. Some of them probably need
1) ;; to not signal RX under other circumstances too. (REMSE7, PRCAC4)
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.21, 3-Feb-86 17:56:03, Edit by BILLW
1) ;; Modify XFRDAT, PRCDAT, SNDDA1, USRBFF, USRBFE so that they understand
1) ;; TCPJFN buffers are in monitor space, and dont thrash the pager.
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.20, 30-Jan-86 02:22:17, Edit by BILLW
1) ;; When calling TVTCSO from BG, set T2 to -1 (means scan ALL TVTs)
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.19, 18-Dec-85 15:14:59, Edit by BILLW
1) ;; Dont timeout connections waiting for a 0 window to open. (REXM11)
1) ;; respond to ACKs beyond the window with an ACK of out own. (PRCAX1)
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 2
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.18, 5-Dec-85 19:35:07, Edit by BILLW
1) ;; change ack strategy in NUWNDO. FRCPKT if both window (after
1) ;; SWS avoidance) AND the ACK point change (as per RFC813)
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.17, 29-Nov-85 18:57:38, Edit by BILLW
1) ;; Scan TVTs BEFORE running Packetizer (at TCPPRC)
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.16, 7-Nov-85 04:54:15, Edit by BILLW
1) ;; Count rxmitted packets per TCB. See also ANAUNV
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.15, 7-Nov-85 00:04:37, Edit by BILLW
1) ;; remove the UNRINT bugchk, but leave the test/replacement.
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.14, 25-Oct-85 02:39:40, Edit by BILLW
1) ;; expand TSOPS idea into "interactiveness" concept. A connection
1) ;; is maximally intervactive if a packet is sent every time a packet
1) ;; is received, and minimally interactive if it never sends any packets.
1) ;; In the first case, you want to wait a bit to try to piggyback acks
1) ;; on the outgoing data, but in the second case this introduces delays,
1) ;; and you want to send acks immediately. Inverse "interactiveness"
1) ;; can be approximated by counting the number of packets received
1) ;; between each one sent. If greater than N, send ACKs immediately.
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.13, 24-Oct-85 02:23:49, Edit by BILLW
1) ;; If we haven't sent any data packets on connection, dont delay acks
1) ;; Update Max and Min RTT (TMXRT, TMNRT)) regardless of interval algorithm
1) ;; being used. (requires ANAUNV change to make TMNRT and TSMRT seperate!)
1) ;; make bugchk use a number (80 ms) rather than TCPRXN.
1) ;; undo Alan's patch to set SMRT to minimum RTT
1) ;;PS:<6-1-MONITOR>TCPTCP.MAC.12, 22-Oct-85 16:42:04, Edit by BILLW
1) ;; add BUGCHK if retransmitter is run more often than TCPRXN
1) ;; update TRXI (in TCB) with new-style calculated retransmit interval
1) ;;<6-1-MONITOR.FT6>TCPTCP.MAC.5, 27-Aug-85 10:44:36, Edit by WHP4
1) ;;Stanford changes
1) ;; BUFHNT - make BFR an extended address
1) ;; Alan Larson's TCP retransmission performance fix at REMSE5+1
1) ;; Fix TOWNR to use global job numbers
1) ;; Fix lockup of large data transfers due to silly window silliness
1) ;; Fix lossage in BUFHNT
1) ;
1) ; UPD ID= 8633, RIP:<7.MONITOR>TCPTCP.MAC.4, 11-Feb-88 18:55:11 by GSCOTT
1) ;TCO 7.1218 - Update copyright date.
1) ; UPD ID= 57, RIP:<7.MONITOR>TCPTCP.MAC.3, 28-Jul-87 14:31:13 by RASPUZZI
1) ;TCO 7.1027 - Prevent ILMNRFs or possible ILPSECs out of TRMPKT.
1) ; *** Edit 7187 to TCPTCP.MAC by MELOHN on 8-Nov-85 (TCO 6-1-1552)
1) ; Fix BUFHNT to not call USRBFF with a zero pointer, zeroing TCPBDQ and looping
1) ;
LINE 1, PAGE 1
2) ;[SRI-NIC]SRC:<6-1-MONITOR>TCPTCP.MAC.6, 19-Nov-87 04:28:28, Edit by MKL
2) ; in TCPXXO, make sure option length isn't too bogus
2) ;[SRI-NIC]SRC:<6-1-MONITOR>TCPTCP.MAC.4, 19-Nov-87 03:41:24, Edit by MKL
2) ; at INPRO2, flush packets if headers don't fit
2) ;[SRI-NIC]SRC:<6-1-MONITOR>TCPTCP.MAC.3, 22-Feb-87 22:18:34, Edit by MKL
2) ; fix a bug in SNDMSL
2) ;[SRI-NIC]XS:<NEWMON>TCPTCP.MAC.2, 8-Dec-86 13:16:19, Edit by MKL
2) ; add fix at PKTIZ7 from Sweer@Sumex.
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 3
2) ;SRC:<6.1.MONITOR.STANFORD>TCPTCP.MAC.47, 5-Nov-86 13:26:51, Edit by BILLW
2) ; Send a Maximum Segment Length Option in SYN packets...
2) ; Try to avoid one-way gateway problems by aborting SYN.SYN connections
2) ; on first retransmission if they contain a funny host status.
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.46, 31-Mar-86 15:56:12, Edit by BILLW
2) ; CLYNN (Via KLH) fix for receiving duplicate data.
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.43, 25-Mar-86 00:42:41, Edit by BILLW
2) ; advertize optimistic windows based on number of interupt level
2) ; buffer that are available at NUWNDO.
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.42, 11-Mar-86 17:34:56, Edit by BILLW
2) ;in PKTIZE, recognize TSTVO as meaning a data packet should be sent
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.41, 10-Mar-86 00:46:02, Edit by BILLW
2) ;rewrite CHKADD. now TCBs are hashed on LP/FH/FP, if possible.
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.32, 19-Feb-86 01:12:57, Edit by BILLW
2) ;undo FP hashing. Never call TRMPKT - it fragments Free space horribly
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.28, 13-Feb-86 17:17:59, Edit by BILLW
2) ; include Foriegn port in TCB hash table key.
2) ; at PRCAC4-1, change PZ signaling (Hedrick's hung connection fix).
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.27, 13-Feb-86 01:19:28, Edit by BILLW
2) ; redo time-out avoidance on closed window by updating PDCT
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.25, 11-Feb-86 16:23:38, Edit by BILLW
2) ; Create RSIGNAL, and use it at REMSEx for requeing Rxmiter
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.24, 4-Feb-86 23:30:59, Edit by BILLW
2) ; make a stab at correcting fencepst error at PRCAC4+n
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.23, 4-Feb-86 18:27:58, Edit by BILLW
2) ; add other stuff from <6-1-exp-mon>: interval rounding at SIGNAL,
2) ; TIMCALs for TCP processes, TSKAGN counter.
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.22, 4-Feb-86 02:25:31, Edit by BILLW
2) ; A lot of things cause RX to be run, besides RX and PZ. Have these
2) ; NOT signal RX if the send window is 0. Some of them probably need
2) ; to not signal RX under other circumstances too. (REMSE7, PRCAC4)
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.21, 3-Feb-86 17:56:03, Edit by BILLW
2) ; Modify XFRDAT, PRCDAT, SNDDA1, USRBFF, USRBFE so that they understand
2) ; TCPJFN buffers are in monitor space, and dont thrash the pager.
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.20, 30-Jan-86 02:22:17, Edit by BILLW
2) ; When calling TVTCSO from BG, set T2 to -1 (means scan ALL TVTs)
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.19, 18-Dec-85 15:14:59, Edit by BILLW
2) ; Dont timeout connections waiting for a 0 window to open. (REXM11)
2) ; respond to ACKs beyond the window with an ACK of out own. (PRCAX1)
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.18, 5-Dec-85 19:35:07, Edit by BILLW
2) ; change ack strategy in NUWNDO. FRCPKT if both window (after
2) ; SWS avoidance) AND the ACK point change (as per RFC813)
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.17, 29-Nov-85 18:57:38, Edit by BILLW
2) ; Scan TVTs BEFORE running Packetizer (at TCPPRC)
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.16, 7-Nov-85 04:54:15, Edit by BILLW
2) ; Count rxmitted packets per TCB. See also ANAUNV
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.15, 7-Nov-85 00:04:37, Edit by BILLW
2) ; remove the UNRINT bugchk, but leave the test/replacement.
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.14, 25-Oct-85 02:39:40, Edit by BILLW
2) ; expand TSOPS idea into "interactiveness" concept. A connection
2) ; is maximally intervactive if a packet is sent every time a packet
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 4
2) ; is received, and minimally interactive if it never sends any packets.
2) ; In the first case, you want to wait a bit to try to piggyback acks
2) ; on the outgoing data, but in the second case this introduces delays,
2) ; and you want to send acks immediately. Inverse "interactiveness"
2) ; can be approximated by counting the number of packets received
2) ; between each one sent. If greater than N, send ACKs immediately.
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.13, 24-Oct-85 02:23:49, Edit by BILLW
2) ; If we haven't sent any data packets on connection, dont delay acks
2) ; Update Max and Min RTT (TMXRT, TMNRT)) regardless of interval algorithm
2) ; being used. (requires ANAUNV change to make TMNRT and TSMRT seperate!)
2) ; make bugchk use a number (80 ms) rather than TCPRXN.
2) ; undo Alan's patch to set SMRT to minimum RTT
2) ;PS:<6-1-MONITOR>TCPTCP.MAC.12, 22-Oct-85 16:42:04, Edit by BILLW
2) ; add BUGCHK if retransmitter is run more often than TCPRXN
2) ; update TRXI (in TCB) with new-style calculated retransmit interval
2) ;<6-1-MONITOR.FT6>TCPTCP.MAC.5, 27-Aug-85 10:44:36, Edit by WHP4
2) ;Stanford changes
2) ; BUFHNT - make BFR an extended address
2) ; Alan Larson's TCP retransmission performance fix at REMSE5+1
2) ; Fix TOWNR to use global job numbers
2) ; Fix lockup of large data transfers due to silly window silliness
2) ; Fix lossage in BUFHNT
2) ;
LINE 133, PAGE 1
1) ; COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1984, 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 (TCPTCP,TCPTCP,< - ARPANET Transmission Control Protocol>)
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) ;
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 5
2) ;COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1976, 1985.
2) ;ALL RIGHTS RESERVED.
2)
2)
2) SEARCH ANAUNV,PROLOG
2) TTITLE (TCPTCP,TCPTCP,< - ARPANET Transmission Control Protocol>)
2)
2) IFNDEF REL6,<REL6==1>
2)
2) Comment \
LINE 1, PAGE 3
1) ^L Subttl Table of Contents
1)
1) ; Table of Contents for TCPTCP
1) ;
1) ; Section Page
1) ;
1) ;
1) ; 1. TCP Process . . . . . . . . . . . . . . . . . . . . . 4
1) ; 2. TCP Input Processor . . . . . . . . . . . . . . . . . 14
1) ; 3. TCP Reasembler . . . . . . . . . . . . . . . . . . . . 48
1) ; 4. TCP Packetizer . . . . . . . . . . . . . . . . . . . . 63
1) ; 5. TCP Retransmitter . . . . . . . . . . . . . . . . . . 87
1) ; 6. TCP Background Routines . . . . . . . . . . . . . . . 95
1) ; 7. TCP Delayed Actions . . . . . . . . . . . . . . . . . 104
1) ; 8. TCP Miscellaneous Routines . . . . . . . . . . . . . . 107
1) ; 9. TCP Option Routines . . . . . . . . . . . . . . . . . 125
1) ; 10. Packet Printer . . . . . . . . . . . . . . . . . . . . 146
1) ; 11. TCP Statistics Routines . . . . . . . . . . . . . . . 156
1) ; 12. TCP Buffer handling routines . . . . . . . . . . . . . 160
1) ; 13. TCP User Responses from TCP . . . . . . . . . . . . . 168
1) ; 14. End of TCPTCP . . . . . . . . . . . . . . . . . . . . 179
1) ^L SUBTTL TCP Process
LINE 1, PAGE 3
2) ^L SUBTTL TCP Process
LINE 29, PAGE 8
1) CALLX (MSEC1,TVTOPR) ; Operate TCP Virtual Terminals
1) SKIPE TCPFLG ; Further work to do?
LINE 29, PAGE 7
2) IFE REL6,<CALL TVTOPR> ; Operate TCP Virtual Terminals
2) IFN REL6,<CALLX (MSEC1,TVTOPR)> ; Operate TCP Virtual Terminals
2) SKIPE TCPFLG ; Further work to do?
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 6
LINE 3, PAGE 15
1) XSWAPCD
1)
1) COMMENT !
LINE 3, PAGE 14
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) COMMENT !
LINE 16, PAGE 17
1) CALL PKTEND ; Get seq. number of End of Pkt plus 1
LINE 16, PAGE 16
2) IFN NICSW,<
2) LOAD T1,PIPL,(PKT) ; Get total IP length in bytes
2) LOAD T2,PIDO,(PKT) ; Get IP header length in words
2) LOAD T3,PTDO,(TPKT) ; Get TCP header length in words
2) ADD T2,T3 ; Add header lengths
2) LSH T2,2 ; Convert to bytes
2) CAML T1,T2 ; Is packet big enough for headers?
2) JRST INPRO3 ; Yes, continue then
2) ;flush bogus packet
2) AOS BADPCT ; Count bad packets
2) CALL RETPKT ; Return the packet
2) JRST INPRO0 ; And do next packet
2) INPRO3:
2) >;IFN NICSW
2) CALL PKTEND ; Get seq. number of End of Pkt plus 1
LINE 26, PAGE 33
1) CALLX (MSEC1,TVTOSP) ; Find out if anything waiting to go
1) POP P,T2 ; Recover addr of line block
LINE 26, PAGE 32
2) IFE REL6,<CALL TVTOSP> ; Find out if anything waiting to go
2) IFN REL6,<CALLX (MSEC1,TVTOSP)> ; Find out if anything waiting to go
2) POP P,T2 ; Recover addr of line block
LINE 34, PAGE 40
1) IFE STANSW,<
LINE 34, PAGE 39
2) LOAD T2,TMXRT,(TCB) ; MAX Round Trip time
2) CAMLE T1,T2 ; Is this longer?
2) STOR T1,TMXRT,(TCB) ; Save new max
2) IFE STANSW,<
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 7
LINE 21, PAGE 50
1) CALLX (MSEC1,TVTCHK) ; Lock the terminal data base
1) JRST [JUMPLE T2,REASMN ;Nothing locked (inactive, becoming active)
LINE 21, PAGE 49
2) IFE REL6,<CALL TVTCHK> ; Lock the terminal data base
2) IFN REL6,<CALLX (MSEC1,TVTCHK)> ; Lock the terminal data base
2) JRST [JUMPLE T2,REASMN ;Nothing locked (inactive, becoming active)
LINE 8, PAGE 51
1) CALLX (MSEC1,TVTISP) ; Get space in input buffer
1) JRST REASM3 ; Forge ahead to (say) open conn/closing
LINE 8, PAGE 50
2) IFE REL6,<CALL TVTISP> ; Get space in input buffer
2) IFN REL6,<CALLX (MSEC1,TVTISP)> ; Get space in input buffer
2) JRST REASM3 ; Forge ahead to (say) open conn/closing
LINE 32, PAGE 53
1) CALLX (MSEC1,TVTISP)
1) JUMPE BFR,REAS14 ; Jump if no buffer
LINE 32, PAGE 52
2) IFE REL6,<CALL TVTISP> ; Get space in input buffer
2) IFN REL6,<CALLX (MSEC1,TVTISP)>
2) JUMPE BFR,REAS14 ; Jump if no buffer
LINE 51, PAGE 53
1) CALLX (MSEC1,PRCTVT) ; Process TVT chr on line in T2
1) JRST REAS15
LINE 52, PAGE 52
2) IFE REL6,<CALL PRCTVT> ; Process TVT chr on line in T2
2) IFN REL6,<CALLX (MSEC1,PRCTVT)> ; Process TVT chr on line in T2
2) JRST REAS15
LINE 22, PAGE 59
1) CALLX (MSEC1,TVTISP) ; Get space in input buffer
1) NUWND1:
LINE 22, PAGE 58
2) IFE REL6,<CALL TVTISP> ; Get space in input buffer
2) IFN REL6,<CALLX (MSEC1,TVTISP)> ; Get space in input buffer
2) NUWND1:
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 8
LINE 3, PAGE 64
1) XSWAPCD
1)
1) COMMENT !
LINE 3, PAGE 63
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) COMMENT !
LINE 10, PAGE 67
1) CALLX (MSEC1,TVTOSP) ; Find out if anything waiting to go
1) MOVE BUFCNT,T1 ; May be zero
LINE 10, PAGE 66
2) IFE REL6,<CALL TVTOSP> ; Find out if anything waiting to go
2) IFN REL6,<CALLX (MSEC1,TVTOSP)> ; Find out if anything waiting to go
2) MOVE BUFCNT,T1 ; May be zero
LINE 67, PAGE 68
1) SKIPGE WNDSPC ; Did window size go negative?
1) SETZ WNDSPC, ; Yes, then make it zero
1) ENDIF. ;
LINE 67, PAGE 67
2) CAIGE WNDSPC,0
2) MOVEI WNDSPC,0
2) ENDIF. ;
LINE 31, PAGE 70
1) CALLX (MSEC1,SNDTVT) ; Send data from a virtual terminal
1) SETONE PEOL,(TPKT) ; Hussle up receiver
LINE 31, PAGE 69
2) IFE REL6,<CALL SNDTVT> ; Send data from a virtual terminal
2) IFN REL6,<CALLX (MSEC1,SNDTVT)> ; Send data from a virtual terminal
2) SETONE PEOL,(TPKT) ; Hussle up receiver
LINE 10, PAGE 74
1) CALLX (MSEC1,TVTOSP)
1) STOR T1,TSBYT,(TCB)
LINE 10, PAGE 73
2) IFE REL6,<CALL TVTOSP> ; Get amount of output waiting
2) IFN REL6,<CALLX (MSEC1,TVTOSP)>
2) STOR T1,TSBYT,(TCB)
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 9
LINE 45, PAGE 75
1) SKIPGE T1,NTPSIZ(P1) ; Get max size for that (interface) net
1) RET ; none or 0, use normal packet length
LINE 46, PAGE 74
2) IFE NICSW,<
2) SKIPGE T1,NTPSIZ(P1) ; Get max size for that (interface) net
2) >
2) IFN NICSW,<
2) SKIPG T1,NTPSIZ(P1) ; Get max size for that (interface) net
2) >
2) RET ; none or 0, use normal packet length
LINE 3, PAGE 88
1) XSWAPCD
1)
1) COMMENT !
LINE 3, PAGE 87
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) COMMENT !
LINE 3, PAGE 96
1) XSWAPCD
1)
1) COMMENT !
LINE 3, PAGE 95
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) COMMENT !
LINE 33, PAGE 96
1) CALLX (MSEC1,TVTCSO) ; Force scan of TVT for output
1) NOP
LINE 34, PAGE 95
2) IFE REL6,<CALL TVTCSO> ; Force scan of TVT for output
2) IFN REL6,<CALLX (MSEC1,TVTCSO)> ; Force scan of TVT for output
2) NOP
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 10
LINE 3, PAGE 105
1) XSWAPCD
1)
1) COMMENT !
LINE 3, PAGE 104
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) COMMENT !
LINE 3, PAGE 108
1) XSWAPCD
1)
1) ;CHKWND
LINE 3, PAGE 107
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) ;CHKWND
LINE 28, PAGE 112
1) IFE. T1 ;[7.1027] Killed because no space?
1) MOVX T1,PT%TKT ;[7.1027] Want trace?
1) TDNE T1,INTTRC ;[7.1027] Test for trace
1) CALL PRNPKT ;[7.1027] (T1/) Trace wanted, so trace taken
1) SETZ T1, ;[7.1027] Reset T1 so we don't crash
1) JRST TRMPK9 ;[7.1027] Don't copy into non-existant packet
1) ENDIF. ;[7.1027]
1) PUSH P,T1 ; Save for later
LINE 28, PAGE 111
2) JUMPE T1,[MOVX T1,PT%TKT ; Killed because no space
2) TDNE T1,INTTRC ; Want trace?
2) CALL PRNPKT ; Yes
2) JRST TRMPK9] ; Don't copy into non-X packet
2) PUSH P,T1 ; Save for later
LINE 22, PAGE 115
1) CAMN T1,JOBNO ; Must stay in this job
1) CAIA ; OK to think about this TCB
LINE 22, PAGE 114
2) IFE STANSW,<
2) CAMN T1,JOBNO ; Must stay in this job
2) >;IFE STANSW
2) IFN STANSW,<
2) CAMN T1,GBLJNO ; Must stay in this job
2) >;IFN STANSW
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 11
2) CAIA ; OK to think about this TCB
LINE 3, PAGE 129
1) XSWAPCD
1)
1) COMMENT !
LINE 3, PAGE 128
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) COMMENT !
LINE 18, PAGE 133
1) IFDEF NA'U,<XCDSEC,,NA'U>
1) IFNDEF NA'U,<XCDSEC,,X>> ; End of DEFINE OPTION
1)
1) OPTCOF==.-IOPNU ; Is user option valid
LINE 18, PAGE 132
2) IFE REL6,<
2) IFDEF NA'U,<MSEC1,,NA'U>
2) IFNDEF NA'U,<MSEC1,,X>>
2) IFN REL6,<
2) IFDEF NA'U,<XCDSEC,,NA'U>
2) IFNDEF NA'U,<XCDSEC,,X>>> ; End of DEFINE OPTION
2)
2) OPTCOF==.-IOPNU ; Is user option valid
LINE 36, PAGE 139
1) SUBI RC,1 ; Count option code
LINE 36, PAGE 138
2) IFN NICSW,<
2) CAIGE OPT,2 ; Make sure at least this long
2) MOVEI OPT,2 ; So we don't lose
2) >;IFN NICSW
2) SUBI RC,1 ; Count option code
LINE 19, PAGE 148
1) INFOW(OTAB,<XCDSEC,,W'OPNU>)
1) INFOW(POR,<POINT 8,TCB'W'R(TCB),7>)
LINE 19, PAGE 147
2) IFE REL6,<INFOW(OTAB,<MSEC1,,W'OPNU>)>
2) IFN REL6,<INFOW(OTAB,<XCDSEC,,W'OPNU>)>
2) INFOW(POR,<POINT 8,TCB'W'R(TCB),7>)
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 12
LINE 3, PAGE 150
1) XSWAPCD
1)
1) COMMENT !
LINE 3, PAGE 149
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) COMMENT !
LINE 3, PAGE 160
1) XSWAPCD
1)
1) COMMENT !
LINE 3, PAGE 159
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) COMMENT !
LINE 1, PAGE 162
1) ;TSTAMP
LINE 13, PAGE 160
2) >;IFN IPPDSW!STANSW
{Skipped 1 page and 1 line}
2) IFN IPPDSW,<
2) ;TSTAMP
LINE 1, PAGE 163
1) ;TIMCAL
LINE 1, PAGE 162
2) >;IFN IPPDSW
2) IFN IPPDSW!STANSW,< ;;; Stanford will use TIMCAL without other IPPDSW stuff
2) ;TIMCAL
LINE 16, PAGE 163
1) CALLX (MSEC1,GETFRT) ; Get fork's runtime til now
1) >;IFN STANSW
LINE 18, PAGE 162
2) IFE REL6,<CALL GETFRT> ; Get fork's runtime til now
2) IFN REL6,<CALLX (MSEC1,GETFRT)>
2) >;IFN STANSW
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 13
LINE 27, PAGE 163
1) CALLX (MSEC1,GETFRT) ; Get fork's runtime til now
1) >;IFN STANSW
1) IFE STANSW,<
1) CALL GETFRT ; Get the runtime now, after the funcal
1) >;IFE STANSW
LINE 30, PAGE 162
2) IFE REL6,<CALL GETFRT> ; Get fork's runtime til now
2) IFN REL6,<CALLX (MSEC1,GETFRT)>
2) >;IFN STANSW
2) IFE STANSW,<
2) CALL GETFRT ; Get fork's runtime til now
2) >;IFE STANSW
LINE 41, PAGE 163
1) IFE STANSW,<
1) ADDM T4,(T3) ; Avoid double charges
LINE 45, PAGE 162
2) IFE STANSW,<;;This seems to result in negative runtimes for processes!
2) ADDM T4,(T3) ; Avoid double charges
LINE 3, PAGE 164
1) XSWAPCD
1)
1) DEFAC (FX,Q3) ; Must agree with PROLOG, PAGEM
LINE 3, PAGE 163
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) DEFAC (FX,Q3) ; Must agree with PROLOG, PAGEM
LINE 3, PAGE 172
1) XSWAPCD
1)
1) COMMENT !
LINE 3, PAGE 171
2) IFE REL6,<SWAPCD>
2) IFN REL6,<XSWAPCD>
2)
2) COMMENT !
; TCPTCP.MAC.1 & <MONITOR>TCPTCP.MAC.1 24-Feb-89 1914 PAGE 14
LINE 21, PAGE 174
1) CALLX (MSEC1,TVTCLS) ; Go close the Virtual terminal
1) JRST USREVX
1)
1) USREV4:
1) CALLX (MSEC1,TVTOPN) ; Open a TCP Virtual Terminal
1) JUMPE T1,USREVX ; Done if TVT assigned
LINE 21, PAGE 173
2) IFE REL6,<CALL TVTCLS> ; Go close the Virtual terminal
2) IFN REL6,<CALLX (MSEC1,TVTCLS)> ; Go close the Virtual terminal
2) JRST USREVX
2)
2) USREV4:
2) IFE REL6,<CALL TVTOPN> ; Open a TCP Virtual Terminal
2) IFN REL6,<CALLX (MSEC1,TVTOPN)> ; Open a TCP Virtual Terminal
2) JUMPE T1,USREVX ; Done if TVT assigned
LINE 12, PAGE 182
1) JUMPE BFR,R ; [7187] if no buffer, return now
1) SETZRO TRCB,(TCB) ; no more receive buffer
LINE 12, PAGE 181
2) SETZRO TRCB,(TCB) ; no more receive buffer