;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*- ;;; Patch file for System version 123.25 ;;; Reason: ;;; When you cold boot, chaos:initialize-ncp-cold is called, which resets the meters ;;; shown by peek -- including "pkts-made". Since "made-pkts" does in fact have a ;;; list of packets, this causes a discrepency. Cure: put in some of my chaos ;;; packet debugging functions and call the right one from initialize-ncp-cold. ;;; Written 5-Oct-87 09:55:26 by pld at site LMI Cambridge ;;; while running on Jack Flanders from band 2 ;;; with Experimental System 123.24, Experimental Local-File 73.0, Experimental FILE-Server 22.0, Experimental Unix-Interface 11.0, Experimental Tape 18.0, Experimental KERMIT 34.0, Experimental ZMail 71.0, Experimental Lambda-Diag 15.0, microcode 1754, SDU Boot Tape 3.12, SDU ROM 8. ; From modified file DJ: L.NETWORK.CHAOS; CHSNCP.LISP#388 at 5-Oct-87 09:55:38 #10R CHAOS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "CHAOS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; CHAOS; CHSNCP  " (defun count-free-pkts () (do ((pkt free-pkts) (i 0 (1+ i))) ((null pkt) (values i pkts-made)) (setq pkt (pkt-link pkt)))) )) ; From modified file DJ: L.NETWORK.CHAOS; CHSNCP.LISP#388 at 5-Oct-87 09:55:40 #10R CHAOS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "CHAOS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; CHAOS; CHSNCP  " (defun find-lost-pkts () (do ((pkt made-pkts) (result nil)) ((null pkt) result) (do ((free-pkt free-pkts)) ((null free-pkt) (push pkt result)) (if (eq pkt free-pkt) (return) (setq free-pkt (pkt-link free-pkt)))) (setq pkt (pkt-made-link pkt)))) )) ; From modified file DJ: L.NETWORK.CHAOS; CHSNCP.LISP#388 at 5-Oct-87 09:55:41 #10R CHAOS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "CHAOS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; CHAOS; CHSNCP  " (defun reset-pkts () (setq current-los-pkt-count 0) (setq los-pkts nil) (setq pkts-made (do ((pkt made-pkts) (i 0 (1+ i))) ((null pkt) i) (setf (pkt-link pkt) (pkt-made-link pkt)) (setf (pkt-status pkt) nil) (setf (pkt-being-retransmitted pkt) nil) (setq pkt (pkt-made-link pkt)))) (setq free-pkts made-pkts)) )) ; From modified file DJ: L.NETWORK.CHAOS; CHSNCP.LISP#388 at 5-Oct-87 09:55:42 #10R CHAOS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "CHAOS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; CHAOS; CHSNCP  " (defun fixup-pkts () (reset nil) (reset-pkts) (reset t) t) ;;;; INT-PKT management routines )) ; From modified file DJ: L.NETWORK.CHAOS; CHSNCP.LISP#388 at 5-Oct-87 09:55:51 #10R CHAOS#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "CHAOS"))) (COMPILER::PATCH-SOURCE-FILE "SYS: NETWORK; CHAOS; CHSNCP  " (DEFUN INITIALIZE-NCP-COLD () ;; Debugging aids which keep records into the past (a short way). (SETQ BAD-PKT-LIST NIL ;List of strings describing packets received in error PKTS-BAD-CRC-SAVE-P NIL ;Don't defaultly save packets with bad CRC LOS-PKTS NIL ;LOS PKTs received from the network linked through PKT-LINK. MAX-LOS-PKTS-TO-KEEP 16. ;Maximum number of LOS packets to keep on LOS-PKTS ;There may actually be more but they will be used by allocator RECENT-HEADERS-POINTER 0 *RECEIVE-BROADCAST-PACKETS-P* NIL *BRD-PKTS-IN* 0 *BRD-PKTS-OUT* 0 *BRD-HISTORY* NIL *BRD-REPLIES-IN* 0) (RESET-METERS) (reset-pkts) ;(reset-meters) clobbers pkts-made. (SETUP-MY-ADDRESS) (RESET-ROUTING-TABLE)) ))