diff --git a/sources/LLETHER b/sources/LLETHER
index 6bc70986..7171a26e 100644
--- a/sources/LLETHER
+++ b/sources/LLETHER
@@ -1,15 +1,11 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
-(FILECREATED " 3-May-2021 23:13:56" {DSK}<home>larry>ilisp>medley>sources>LLETHER.;4 139646 
 
-      changes to%:  (FNS \ETHEREVENTFN \ETHER-AVAILABLE)
-                    (VARS LLETHERCOMS)
+(FILECREATED "20-Dec-2025 14:12:06" {DSK}<users>briggs>projects>medley>sources>LLETHER.;2 138541 
 
-      previous date%: " 2-May-2021 12:37:02" {DSK}<home>larry>ilisp>medley>sources>LLETHER.;3)
+      :CHANGES-TO (FNS \ETHEREVENTFN)
 
+      :PREVIOUS-DATE "17-Dec-2025 11:02:51" {DSK}<users>briggs>projects>medley>sources>LLETHER.;1)
 
-(* ; "
-Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
-")
 
 (PRETTYCOMPRINT LLETHERCOMS)
 
@@ -17,19 +13,19 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
        [(DECLARE%: EVAL@COMPILE DONTCOPY (FILES (SOURCE)
                                                 LLNSDECLS))
         [COMS                                                (* ; 
-                                                           "Stuff that should be somewhere else!")
+                                                             "Stuff that should be somewhere else!")
               (INITVARS (ERRORMESSAGESTREAM T)
                      (PROMPTWINDOW T))
               (GLOBALVARS ERRORMESSAGESTREAM PROMPTWINDOW)
               (COMS                                          (* ; 
-                       "Queue management for data which can be chain-linked through the first cell")
+                         "Queue management for data which can be chain-linked through the first cell")
                     (DECLARE%: DONTCOPY (EXPORT (RECORDS SYSQUEUE QABLEITEM)
                                                (MACROS \QUEUEHEAD)))
                     (INITRECORDS SYSQUEUE)
                     (SYSRECORDS SYSQUEUE)
                     (FNS CANONICAL.HOSTNAME \ENQUEUE \DEQUEUE \QUEUELENGTH \ONQUEUE \UNQUEUE)
                                                              (* ; 
-                                                           "Queue management constructed by TCONC")
+                                                             "Queue management constructed by TCONC")
                     (EXPORT (MACROS \DETCONC \ENTCONC \PEEKTCONC]
         (COMS                                                (* ; "General packet management")
               (DECLARE%: DONTCOPY 
@@ -124,7 +120,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
               (DECLARE%: EVAL@COMPILE DONTCOPY (GLOBALVARS \CENTICLOCKFACTOR \CENTICLOCKBOX)
                      (RECORDS CENTICLOCK)))
         (COMS                                                (* ; 
-                                                      "3MB stuff, which is not needed in DandeLion")
+                                                        "3MB stuff, which is not needed in DandeLion")
               (FNS \3MBGETPACKET \3MB.CREATENDB \3MBSENDPACKET \3MBWATCHER \3MBENCAPSULATE 
                    \3MB.BROADCASTP \3MBFLUSH)
               (INITVARS (\MAXWATCHERGETS 5))
@@ -168,19 +164,18 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
 
 (DATATYPE SYSQUEUE ((NIL BYTE)
-                        (SYSQUEUEHEAD POINTER)
-                        (NIL BYTE)
-                        (SYSQUEUETAIL POINTER)))
+                    (SYSQUEUEHEAD POINTER)
+                    (NIL BYTE)
+                    (SYSQUEUETAIL POINTER)))
 
 (BLOCKRECORD QABLEITEM ((NIL BITS 4)
-                            (QLINK POINTER)                  (* ; 
-   "Link to next thing in queue always in first pointer of datum, independent of what the datum is")
-                            )
-                           (BLOCKRECORD QABLEITEM ((NIL BITS 4)
-                                                   (LINK POINTER)
-                                                             (* ; 
-                                                           "Let's also be able to call it a LINK")
-                                                   )))
+                        (QLINK POINTER)                      (* ; 
+     "Link to next thing in queue always in first pointer of datum, independent of what the datum is")
+                        )
+                       (BLOCKRECORD QABLEITEM ((NIL BITS 4)
+                                               (LINK POINTER)(* ; 
+                                                             "Let's also be able to call it a LINK")
+                                               )))
 )
 
 (/DECLAREDATATYPE 'SYSQUEUE '(BYTE POINTER BYTE POINTER)
@@ -192,7 +187,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (DECLARE%: EVAL@COMPILE 
 
 (PUTPROPS \QUEUEHEAD MACRO ((Q)
-                                    (fetch (SYSQUEUE SYSQUEUEHEAD) of Q)))
+                            (fetch (SYSQUEUE SYSQUEUEHEAD) of Q)))
 )
 
 (* "END EXPORTED DEFINITIONS")
@@ -208,9 +203,9 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (ADDTOVAR SYSTEMRECLST
 
 (DATATYPE SYSQUEUE ((NIL BYTE)
-                        (SYSQUEUEHEAD POINTER)
-                        (NIL BYTE)
-                        (SYSQUEUETAIL POINTER)))
+                    (SYSQUEUEHEAD POINTER)
+                    (NIL BYTE)
+                    (SYSQUEUETAIL POINTER)))
 )
 (DEFINEQ
 
@@ -362,9 +357,9 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE 
 
 (PUTPROPS \DETCONC MACRO [OPENLAMBDA (TQ)
-                                   (PROG1 (\PEEKTCONC TQ)
-                                       (if [NULL (CAR (RPLACA TQ (CDAR TQ]
-                                           then (RPLACD TQ)))])
+                           (PROG1 (\PEEKTCONC TQ)
+                               (if [NULL (CAR (RPLACA TQ (CDAR TQ]
+                                   then (RPLACD TQ)))])
 
 (PUTPROPS \ENTCONC MACRO (= . TCONC))
 
@@ -382,48 +377,48 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
 
 (DATATYPE ETHERPACKET ((NIL BYTE)
-                           (EPLINK POINTER)                  (* ; "For queue maintenence")
-                           (EPFLAGS BYTE)                    (* ; 
-                                                           "optional flags for some applications")
-                           (EPUSERFIELD POINTER)             (* ; 
-                                                           "Arbitrary pointer for applications")
-                           (NIL BYTE)
-                           (EPPLIST POINTER)                 (* ; 
-                                                  "Extra field for use as an A-list for properties")
-                           (EPTRANSMITTING FLAG)             (* ; 
-                                "True while packet is being transmitted and hence cannot be reused")
-                           (EPRECEIVING FLAG)                (* ; 
-          "True when a packet has been seen at the head of the network's input queue at least once")
-                           (NIL BITS 6)
-                           (EPREQUEUE POINTER)               (* ; 
-                                                  "Where to requeue this packet after transmission")
-                           (NIL BYTE)
-                           (EPSOCKET POINTER)
-                           (NIL BYTE)
-                           (EPNETWORK POINTER)
-                           (EPTYPE WORD)                     (* ; 
-                                          "Type of packet to be encapsulated (PUP or XIP or 10TO3)")
-                           (NIL WORD)
-                           (EPTIMESTAMP FIXP)                (* ; 
-                                                        "Gets RCLK value when transmitted/received")
-                           (EPREQUEUEFN POINTER)             (* ; "FN to perform requeueing")
-                           (NIL 4 WORD)                      (* ; "Space for expansion")
+                       (EPLINK POINTER)                      (* ; "For queue maintenence")
+                       (EPFLAGS BYTE)                        (* ; 
+                                                             "optional flags for some applications")
+                       (EPUSERFIELD POINTER)                 (* ; 
+                                                             "Arbitrary pointer for applications")
+                       (NIL BYTE)
+                       (EPPLIST POINTER)                     (* ; 
+                                                    "Extra field for use as an A-list for properties")
+                       (EPTRANSMITTING FLAG)                 (* ; 
+                                  "True while packet is being transmitted and hence cannot be reused")
+                       (EPRECEIVING FLAG)                    (* ; 
+            "True when a packet has been seen at the head of the network's input queue at least once")
+                       (NIL BITS 6)
+                       (EPREQUEUE POINTER)                   (* ; 
+                                                    "Where to requeue this packet after transmission")
+                       (NIL BYTE)
+                       (EPSOCKET POINTER)
+                       (NIL BYTE)
+                       (EPNETWORK POINTER)
+                       (EPTYPE WORD)                         (* ; 
+                                            "Type of packet to be encapsulated (PUP or XIP or 10TO3)")
+                       (NIL WORD)
+                       (EPTIMESTAMP FIXP)                    (* ; 
+                                                          "Gets RCLK value when transmitted/received")
+                       (EPREQUEUEFN POINTER)                 (* ; "FN to perform requeueing")
+                       (NIL 4 WORD)                          (* ; "Space for expansion")
                                                              (* ; 
-       "Note: This next field wants to be quad+2 aligned so that the 10mb packet is quad+3 aligned")
-                           (EPENCAPSULATION 8 WORD)          (* ; 
-                                            "10mb encapsulation, or 3mb encapsulation with padding")
-                           (EPBODY 289 WORD)                 (* ; 
-                                  "Body of packet, header up to 16 words plus data up to 546 bytes")
-                           ))
+         "Note: This next field wants to be quad+2 aligned so that the 10mb packet is quad+3 aligned")
+                       (EPENCAPSULATION 8 WORD)              (* ; 
+                                              "10mb encapsulation, or 3mb encapsulation with padding")
+                       (EPBODY 289 WORD)                     (* ; 
+                                    "Body of packet, header up to 16 words plus data up to 546 bytes")
+                       ))
 
 (ACCESSFNS ETHERAUX ((AUXPTR (CDR (ASSOC 'AUXPTR (fetch EPPLIST of DATUM)))
-                                (\EP.PUT.AUX DATUM 'AUXPTR NEWVALUE))
-                         (AUXWORD (OR (CDR (ASSOC 'AUXWORD (fetch EPPLIST of DATUM)))
-                                      0)
-                                (\EP.PUT.AUX DATUM 'AUXWORD NEWVALUE))
-                         (AUXBYTE (OR (CDR (ASSOC 'AUXBYTE (fetch EPPLIST of DATUM)))
-                                      0)
-                                (\EP.PUT.AUX DATUM 'AUXBYTE NEWVALUE))))
+                            (\EP.PUT.AUX DATUM 'AUXPTR NEWVALUE))
+                     (AUXWORD (OR (CDR (ASSOC 'AUXWORD (fetch EPPLIST of DATUM)))
+                                  0)
+                            (\EP.PUT.AUX DATUM 'AUXWORD NEWVALUE))
+                     (AUXBYTE (OR (CDR (ASSOC 'AUXBYTE (fetch EPPLIST of DATUM)))
+                                  0)
+                            (\EP.PUT.AUX DATUM 'AUXBYTE NEWVALUE))))
 )
 
 (/DECLAREDATATYPE 'ETHERPACKET
@@ -1140,26 +1135,26 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (ADDTOVAR SYSTEMRECLST
 
 (DATATYPE ETHERPACKET ((NIL BYTE)
-                           (EPLINK POINTER)
-                           (EPFLAGS BYTE)
-                           (EPUSERFIELD POINTER)
-                           (NIL BYTE)
-                           (EPPLIST POINTER)
-                           (EPTRANSMITTING FLAG)
-                           (EPRECEIVING FLAG)
-                           (NIL BITS 6)
-                           (EPREQUEUE POINTER)
-                           (NIL BYTE)
-                           (EPSOCKET POINTER)
-                           (NIL BYTE)
-                           (EPNETWORK POINTER)
-                           (EPTYPE WORD)
-                           (NIL WORD)
-                           (EPTIMESTAMP FIXP)
-                           (EPREQUEUEFN POINTER)
-                           (NIL 4 WORD)
-                           (EPENCAPSULATION 8 WORD)
-                           (EPBODY 289 WORD)))
+                       (EPLINK POINTER)
+                       (EPFLAGS BYTE)
+                       (EPUSERFIELD POINTER)
+                       (NIL BYTE)
+                       (EPPLIST POINTER)
+                       (EPTRANSMITTING FLAG)
+                       (EPRECEIVING FLAG)
+                       (NIL BITS 6)
+                       (EPREQUEUE POINTER)
+                       (NIL BYTE)
+                       (EPSOCKET POINTER)
+                       (NIL BYTE)
+                       (EPNETWORK POINTER)
+                       (EPTYPE WORD)
+                       (NIL WORD)
+                       (EPTIMESTAMP FIXP)
+                       (EPREQUEUEFN POINTER)
+                       (NIL 4 WORD)
+                       (EPENCAPSULATION 8 WORD)
+                       (EPBODY 289 WORD)))
 )
 (DEFINEQ
 
@@ -1499,21 +1494,19 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
                               HOSTNAMEP _ 'NILL])
 
 (\ETHEREVENTFN
-  [LAMBDA (DEV EVENT)                                  (* ; "Edited  3-May-2021 23:12 by larry")
+  [LAMBDA (DEV EVENT)                                        (* ; "Edited 17-Dec-2025 11:01 by nhb")
+                                                           (* ; "Edited  3-May-2021 23:12 by larry")
     (PROG (NDB TURNOFFNS TIMESET)
           (SELECTQ EVENT
               ((NIL AFTERLOGOUT AFTERSYSOUT AFTERMAKESYS AFTERSAVEVM RESTART) 
                    (SETQ \PUP.READY (SETQ \NS.READY (SETQ \IP.READY)))
-                   (OR (\ETHER-AVAILABLE)
-                       (RETURN))
                    (\SETETHERFLAGS)
                    (\SETLOCALNSNUMBERS)
                    (\FLUSHNDBS EVENT)
                    (SETQ \10MBLOCALNDB (COND
                                           (\10MBFLG (SETQ NDB (\10MB.CREATENDB \10MBFLG))
                                                  (COND
-                                                    (\LOCALNDBS (replace NDBNEXT of 
-                                                                                           \LOCALNDBS
+                                                    (\LOCALNDBS (replace NDBNEXT of \LOCALNDBS
                                                                    with NDB))
                                                     (T (SETQ \LOCALNDBS NDB)))
                                                  NDB)))
@@ -1536,10 +1529,10 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
               ((BEFOREMAKESYS BEFORELOGOUT BEFORESYSOUT BEFORESAVEVM) 
                    (COND
                       ((EQ EVENT 'BEFORESAVEVM)              (* ; 
-                       "Save passwords in place outside vmem to avoid having to reenter them later")
+                         "Save passwords in place outside vmem to avoid having to reenter them later")
                        (\STASH.PASSWORDS))
                       (T                                     (* ; 
-                                                           "No need to flush this before SAVEVM")
+                                                             "No need to flush this before SAVEVM")
                          (CLRHASH \ETHERPORTS)))
                    (CLRHASH LOGINPASSWORDS))
               NIL])
@@ -1706,40 +1699,40 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (DECLARE%: DONTCOPY 
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
 
-(DATATYPE NDB ((NETTYPE BYTE)                            (* ; "10 or 3 for now")
-                   (NDBNEXT POINTER)                         (* ; "Link to next NDB")
-                   (NDBPUPNET# BYTE)                         (* ; 
-          "Pup number of this net.  May be different from NS net number, though not in Xerox world")
-                   (NDBNSNET# POINTER)                       (* ; 
-                                            "Can be 32-bits, so might as well leave its box around")
-                   (NDBTASK# BYTE)                           (* ; "Task # of this network")
-                   (NDBBROADCASTP POINTER)                   (* ; 
-                                        "Function that returns true if packet is of broadcast type")
-                   (NDBPUPHOST# BYTE)                        (* ; 
-                "My pup address on this net.  NS address is global to all nets, so not needed here")
-                   (NDBTRANSMITTER POINTER)                  (* ; 
-                     "(NDB PACKET) -- fn to send a raw packet on this net.  returns NIL on failure")
-                   (NIL BYTE)
-                   (NDBENCAPSULATOR POINTER)                 (* ; 
-   "(NDB PACKET HOST LENGTH TYPE) -- fn to encapsulate and send a higher-level packet on this net ")
-                   (NDBCSB POINTER)                          (* ; "Pointer to CSB for this network")
-                   (NDBIQLENGTH BYTE)
-                   (NDBIQ POINTER)                           (* ; 
-                                                           "Queue of empty packets for receiver")
-                   (NDBTQ POINTER)                           (* ; "Queue of packets to transmit")
-                   (NDBTRANSLATIONS POINTER)                 (* ; 
-                                         "Cache of translations, 3:10 or 10:3 according to network")
-                   (NDBETHERFLUSHER POINTER)                 (* ; "Turns off this ether.  Args NDB")
-                   (NDBWATCHER POINTER)
-                   (NDBCANHEARSELF POINTER)                  (* ; 
-                                            "True if receiver can hear packets sent by transmitter")
-                   (NDBIPNET# POINTER)
-                   (NDBIPHOST# POINTER)
-                   (NDBPUPTYPE WORD)                         (* ; 
-                                                      "The packet encapsulation of PUP on this net")
-                   (NIL WORD)
-                   (NIL POINTER)                             (* ; "Spares")
-                   ))
+(DATATYPE NDB ((NETTYPE BYTE)                                (* ; "10 or 3 for now")
+               (NDBNEXT POINTER)                             (* ; "Link to next NDB")
+               (NDBPUPNET# BYTE)                             (* ; 
+            "Pup number of this net.  May be different from NS net number, though not in Xerox world")
+               (NDBNSNET# POINTER)                           (* ; 
+                                              "Can be 32-bits, so might as well leave its box around")
+               (NDBTASK# BYTE)                               (* ; "Task # of this network")
+               (NDBBROADCASTP POINTER)                       (* ; 
+                                          "Function that returns true if packet is of broadcast type")
+               (NDBPUPHOST# BYTE)                            (* ; 
+                  "My pup address on this net.  NS address is global to all nets, so not needed here")
+               (NDBTRANSMITTER POINTER)                      (* ; 
+                       "(NDB PACKET) -- fn to send a raw packet on this net.  returns NIL on failure")
+               (NIL BYTE)
+               (NDBENCAPSULATOR POINTER)                     (* ; 
+     "(NDB PACKET HOST LENGTH TYPE) -- fn to encapsulate and send a higher-level packet on this net ")
+               (NDBCSB POINTER)                              (* ; "Pointer to CSB for this network")
+               (NDBIQLENGTH BYTE)
+               (NDBIQ POINTER)                               (* ; 
+                                                             "Queue of empty packets for receiver")
+               (NDBTQ POINTER)                               (* ; "Queue of packets to transmit")
+               (NDBTRANSLATIONS POINTER)                     (* ; 
+                                           "Cache of translations, 3:10 or 10:3 according to network")
+               (NDBETHERFLUSHER POINTER)                     (* ; "Turns off this ether.  Args NDB")
+               (NDBWATCHER POINTER)
+               (NDBCANHEARSELF POINTER)                      (* ; 
+                                              "True if receiver can hear packets sent by transmitter")
+               (NDBIPNET# POINTER)
+               (NDBIPHOST# POINTER)
+               (NDBPUPTYPE WORD)                             (* ; 
+                                                        "The packet encapsulation of PUP on this net")
+               (NIL WORD)
+               (NIL POINTER)                                 (* ; "Spares")
+               ))
 
 (RECORD ROUTING (RTNET# RTHOPCOUNT RTGATEWAY# RTNDB RTTIMER RTRECENT))
 )
@@ -1786,26 +1779,24 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (DECLARE%: EVAL@COMPILE 
 
 (PUTPROPS ENCAPSULATE.ETHERPACKET MACRO ((NDB PACKET HOST LENGTH TYPE)
-                                                 (SPREADAPPLY* (fetch NDBENCAPSULATOR
-                                                                  of NDB)
-                                                        NDB PACKET HOST LENGTH TYPE)))
+                                         (SPREADAPPLY* (fetch NDBENCAPSULATOR of NDB)
+                                                NDB PACKET HOST LENGTH TYPE)))
 
 (PUTPROPS TRANSMIT.ETHERPACKET MACRO ((NDB PACKET)
-                                              (SPREADAPPLY* (fetch NDBTRANSMITTER of NDB)
-                                                     NDB PACKET)))
+                                      (SPREADAPPLY* (fetch NDBTRANSMITTER of NDB)
+                                             NDB PACKET)))
 
 (PUTPROPS BROADCASTP MACRO ((PACKET)
-                                    ([LAMBDA (NDB)
-                                       (AND NDB (APPLY* (fetch NDBBROADCASTP of NDB)
-                                                       PACKET NDB]
-                                     (fetch EPNETWORK of PACKET))))
+                            ([LAMBDA (NDB)
+                               (AND NDB (APPLY* (fetch NDBBROADCASTP of NDB)
+                                               PACKET NDB]
+                             (fetch EPNETWORK of PACKET))))
 
 (PUTPROPS \CHECK.ROUTING.TABLE MACRO [(TABLE)
-                                              (if (NEQ (NTYPX TABLE)
-                                                           \ROUTING.TABLE.TYPENUM)
-                                                  then (CL:ERROR 'CONDITIONS:SIMPLE-TYPE-ERROR 
-                                                                  :CULPRIT TABLE :EXPECTED-TYPE
-                                                                  'RoutingTable])
+                                      (if (NEQ (NTYPX TABLE)
+                                               \ROUTING.TABLE.TYPENUM)
+                                          then (CL:ERROR 'CONDITIONS:SIMPLE-TYPE-ERROR :CULPRIT TABLE
+                                                      :EXPECTED-TYPE 'RoutingTable])
 )
 
 (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1851,28 +1842,28 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (ADDTOVAR SYSTEMRECLST
 
 (DATATYPE NDB ((NETTYPE BYTE)
-                   (NDBNEXT POINTER)
-                   (NDBPUPNET# BYTE)
-                   (NDBNSNET# POINTER)
-                   (NDBTASK# BYTE)
-                   (NDBBROADCASTP POINTER)
-                   (NDBPUPHOST# BYTE)
-                   (NDBTRANSMITTER POINTER)
-                   (NIL BYTE)
-                   (NDBENCAPSULATOR POINTER)
-                   (NDBCSB POINTER)
-                   (NDBIQLENGTH BYTE)
-                   (NDBIQ POINTER)
-                   (NDBTQ POINTER)
-                   (NDBTRANSLATIONS POINTER)
-                   (NDBETHERFLUSHER POINTER)
-                   (NDBWATCHER POINTER)
-                   (NDBCANHEARSELF POINTER)
-                   (NDBIPNET# POINTER)
-                   (NDBIPHOST# POINTER)
-                   (NDBPUPTYPE WORD)
-                   (NIL WORD)
-                   (NIL POINTER)))
+               (NDBNEXT POINTER)
+               (NDBPUPNET# BYTE)
+               (NDBNSNET# POINTER)
+               (NDBTASK# BYTE)
+               (NDBBROADCASTP POINTER)
+               (NDBPUPHOST# BYTE)
+               (NDBTRANSMITTER POINTER)
+               (NIL BYTE)
+               (NDBENCAPSULATOR POINTER)
+               (NDBCSB POINTER)
+               (NDBIQLENGTH BYTE)
+               (NDBIQ POINTER)
+               (NDBTQ POINTER)
+               (NDBTRANSLATIONS POINTER)
+               (NDBETHERFLUSHER POINTER)
+               (NDBWATCHER POINTER)
+               (NDBCANHEARSELF POINTER)
+               (NDBIPNET# POINTER)
+               (NDBIPHOST# POINTER)
+               (NDBPUPTYPE WORD)
+               (NIL WORD)
+               (NIL POINTER)))
 )
 (DEFINEQ
 
@@ -2231,48 +2222,49 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (DECLARE%: EVAL@COMPILE
 
 (ACCESSFNS ETHERTRANS [(TRANSBODY (LOCF (fetch (ETHERPACKET EPBODY) of DATUM]
-                          [BLOCKRECORD TRANSBODY ((TRANSOPERATION WORD)
+                      [BLOCKRECORD TRANSBODY ((TRANSOPERATION WORD)
                                                              (* ; "Request or response")
-                                                  (BASETRANSNSHOST 3 WORD)
+                                              (BASETRANSNSHOST 3 WORD)
                                                              (* ; "Known or desired NS address")
-                                                  (TRANSPUPHOST BYTE)
+                                              (TRANSPUPHOST BYTE)
                                                              (* ; "Known or desired PUP address")
-                                                  (NIL BYTE) (* ; "Padding")
-                                                  (BASETRANSSENDERNSHOST 3 WORD)
+                                              (NIL BYTE)     (* ; "Padding")
+                                              (BASETRANSSENDERNSHOST 3 WORD)
                                                              (* ; "Sender's info")
-                                                  (TRANSSENDERPUPHOST BYTE)
-                                                  (NIL BYTE))
-                                 [ACCESSFNS BASETRANSNSHOST ((TRANSNSHOST (\LOADNSHOSTNUMBER
-                                                                           (LOCF DATUM))
-                                                                    (\STORENSHOSTNUMBER (LOCF DATUM)
-                                                                           NEWVALUE]
-                                 (ACCESSFNS BASETRANSSENDERNSHOST ((TRANSSENDERNSHOST
-                                                                    (\LOADNSHOSTNUMBER (LOCF DATUM))
-                                                                    (\STORENSHOSTNUMBER (LOCF DATUM)
-                                                                           NEWVALUE]
-                          [ACCESSFNS ETHERTRANS
-                                 ([TRANSNSADDRESS
-                                   (PROGN                    (* ; 
-                                        "Kludge to get a pointer that looks like a full ns address")
-                                          (\ADDBASE DATUM (CONSTANT (+ (INDEXF (FETCH
-                                                                                (ETHERPACKET EPBODY)
-                                                                                  of T))
-                                                                       (INDEXF (FETCH
-                                                                                (ETHERTRANS 
+                                              (TRANSSENDERPUPHOST BYTE)
+                                              (NIL BYTE))
+                             [ACCESSFNS BASETRANSNSHOST ((TRANSNSHOST (\LOADNSHOSTNUMBER (LOCF DATUM)
+                                                                             )
+                                                                (\STORENSHOSTNUMBER (LOCF DATUM)
+                                                                       NEWVALUE]
+                             (ACCESSFNS BASETRANSSENDERNSHOST ((TRANSSENDERNSHOST (\LOADNSHOSTNUMBER
+                                                                                   (LOCF DATUM))
+                                                                      (\STORENSHOSTNUMBER
+                                                                       (LOCF DATUM)
+                                                                       NEWVALUE]
+                      [ACCESSFNS ETHERTRANS
+                             ([TRANSNSADDRESS (PROGN         (* ; 
+                                          "Kludge to get a pointer that looks like a full ns address")
+                                                     (\ADDBASE
+                                                      DATUM
+                                                      (CONSTANT (+ (INDEXF (FETCH (ETHERPACKET EPBODY
+                                                                                         )
+                                                                              of T))
+                                                                   (INDEXF (FETCH (ETHERTRANS 
                                                                                       BASETRANSNSHOST
-                                                                                       ) of
-                                                                                         T))
-                                                                       -2]
-                                  (TRANSSENDERNSADDRESS
-                                   (\ADDBASE DATUM (CONSTANT (+ (INDEXF (FETCH (ETHERPACKET
-                                                                                    EPBODY)
-                                                                           of T))
-                                                                (INDEXF (FETCH (ETHERTRANS 
+                                                                                         )
+                                                                              of T))
+                                                                   -2]
+                              (TRANSSENDERNSADDRESS (\ADDBASE
+                                                     DATUM
+                                                     (CONSTANT (+ (INDEXF (FETCH (ETHERPACKET EPBODY)
+                                                                             of T))
+                                                                  (INDEXF (FETCH (ETHERTRANS 
                                                                                 BASETRANSSENDERNSHOST
-                                                                                          )
-                                                                           of T))
-                                                                -2]
-                          (TYPE? (type? ETHERPACKET DATUM)))
+                                                                                        )
+                                                                             of T))
+                                                                  -2]
+                      (TYPE? (type? ETHERPACKET DATUM)))
 )
 
 (DECLARE%: EVAL@COMPILE 
@@ -2571,7 +2563,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (RPAQ? \RAWTRACING )
 
 (ADDTOVAR \PACKET.PRINTERS (512 . PRINTPUP)
-                               (1537 . PRINT10TO3))
+                           (1537 . PRINT10TO3))
 (DECLARE%: DOEVAL@COMPILE DONTCOPY
 
 (GLOBALVARS \RAWTRACING \PACKET.PRINTERS PUPTRACEFILE XIPTRACEFILE \RCLKMILLISECOND)
@@ -2615,7 +2607,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (DECLARE%: EVAL@COMPILE
 
 (BLOCKRECORD CENTICLOCK ((CENTICLOCKSIGNBIT BITS 1)
-                             (CENTICLOCKMAGNITUDE BITS 31)))
+                         (CENTICLOCKMAGNITUDE BITS 31)))
 )
 )
 
@@ -2757,43 +2749,41 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (DECLARE%: DONTCOPY 
 (DECLARE%: EVAL@COMPILE
 
-(ACCESSFNS 3MBENCAPSULATION [(3MBENCAPSTART (LOCF (fetch (ETHERPACKET EPENCAPSULATION)
-                                                         of DATUM]
-                                (BLOCKRECORD 3MBENCAPSTART ((NIL 5 WORD)
+(ACCESSFNS 3MBENCAPSULATION [(3MBENCAPSTART (LOCF (fetch (ETHERPACKET EPENCAPSULATION) of DATUM]
+                            (BLOCKRECORD 3MBENCAPSTART ((NIL 5 WORD)
                                                              (* ; "waste space")
-                                                            (3MBLENGTH WORD)
+                                                        (3MBLENGTH WORD)
                                                              (* ; 
-                                             "Length of packet in words, starting at the next word")
-                                                            (3MBDESTHOST BYTE)
+                                               "Length of packet in words, starting at the next word")
+                                                        (3MBDESTHOST BYTE)
                                                              (* ; "Immediate destination host")
-                                                            (3MBSOURCEHOST BYTE)
+                                                        (3MBSOURCEHOST BYTE)
                                                              (* ; "Us")
-                                                            (3MBTYPE WORD)
+                                                        (3MBTYPE WORD)
                                                              (* ; 
-                                                           "Type of packet -- PUP or XIP or 10TO3")
-                                                            )
-                                       [ACCESSFNS 3MBLENGTH ((3MBBASE (LOCF DATUM]
+                                                             "Type of packet -- PUP or XIP or 10TO3")
+                                                        )
+                                   [ACCESSFNS 3MBLENGTH ((3MBBASE (LOCF DATUM]
                                                              (* ; "What to hand to BCPL")
-                                       )
-                                (TYPE? (type? ETHERPACKET DATUM)))
+                                   )
+                            (TYPE? (type? ETHERPACKET DATUM)))
 
 (BLOCKRECORD PBI ((PBILINK WORD)
-                      (PBIQUEUE WORD)
-                      (PBISOCKET WORD)
-                      (PBINDB WORD)
-                      (PBIINPUTP FLAG)
-                      (PBIALLNETSP FLAG)
-                      (PBINOZEROP FLAG)
-                      (NIL BITS 13)
-                      (PBITIMER WORD)
-                      (PBILENGTH WORD)
-                      (PBIENCAPSULATION 2 WORD)
-                      (PBIFIRSTPUPWORD 10 WORD)
-                      (PBIFIRSTPUPDATAWORD WORD))
-                     [ACCESSFNS PBI ((PBIPUPSTART (LOCF (fetch PBIFIRSTPUPWORD of DATUM)))
-                                     (PBIPUPDATASTART (LOCF (fetch PBIFIRSTPUPDATAWORD
-                                                               of DATUM)))
-                                     (PBIRAWSTART (LOCF (fetch PBILENGTH of DATUM])
+                  (PBIQUEUE WORD)
+                  (PBISOCKET WORD)
+                  (PBINDB WORD)
+                  (PBIINPUTP FLAG)
+                  (PBIALLNETSP FLAG)
+                  (PBINOZEROP FLAG)
+                  (NIL BITS 13)
+                  (PBITIMER WORD)
+                  (PBILENGTH WORD)
+                  (PBIENCAPSULATION 2 WORD)
+                  (PBIFIRSTPUPWORD 10 WORD)
+                  (PBIFIRSTPUPDATAWORD WORD))
+                 [ACCESSFNS PBI ((PBIPUPSTART (LOCF (fetch PBIFIRSTPUPWORD of DATUM)))
+                                 (PBIPUPDATASTART (LOCF (fetch PBIFIRSTPUPDATAWORD of DATUM)))
+                                 (PBIRAWSTART (LOCF (fetch PBILENGTH of DATUM])
 )
 
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE 
@@ -2879,8 +2869,8 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
                                                              T])
 )
 
-(RPAQQ ROUTINGINFOMACRO (1 "Operation = " WORDS 2 "Info: " REPEAT "(" SEPR ", " INTEGER -4 WORDS
-                               SEPR ") " -2 FINALLY ")"))
+(RPAQQ ROUTINGINFOMACRO (1 "Operation = " WORDS 2 "Info: " REPEAT "(" SEPR ", " INTEGER -4 WORDS SEPR
+                           ") " -2 FINALLY ")"))
 (DECLARE%: EVAL@COMPILE DONTCOPY 
 (DECLARE%: DOEVAL@COMPILE DONTCOPY
 
@@ -2913,10 +2903,10 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (DECLARE%: DONTCOPY 
 
 (RPAQQ D0DEVICES ((\DEVICE.3MBETHERIN 7)
-                      (\DEVICE.3MBETHEROUT 6)
-                      (\DEVICE.10MBETHER 21)
-                      (\DEVICE.SA4000 3)
-                      (\DEVICE.DISPLAY 2)))
+                  (\DEVICE.3MBETHEROUT 6)
+                  (\DEVICE.10MBETHER 21)
+                  (\DEVICE.SA4000 3)
+                  (\DEVICE.DISPLAY 2)))
 (DECLARE%: EVAL@COMPILE 
 
 (RPAQQ \DEVICE.3MBETHERIN 7)
@@ -2947,33 +2937,31 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
 (* "END EXPORTED DEFINITIONS")
 
 )
-(PUTPROPS LLETHER COPYRIGHT ("Venue & Xerox Corporation" 1982 1983 1984 1985 1986 1987 1988 1990 1991 
-1992 1993 2021))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (10792 19248 (CANONICAL.HOSTNAME 10802 . 12391) (\ENQUEUE 12393 . 15038) (\DEQUEUE 15040
- . 16367) (\QUEUELENGTH 16369 . 16669) (\ONQUEUE 16671 . 16937) (\UNQUEUE 16939 . 19246)) (52949 56815
- (\ALLOCATE.ETHERPACKET 52959 . 54000) (\RELEASE.ETHERPACKET 54002 . 55075) (RELEASE.PUP 55077 . 55222
-) (\FLUSH.PACKET.QUEUE 55224 . 55575) (\REQUEUE.ETHERPACKET 55577 . 56091) (\EP.PUT.AUX 56093 . 56813)
-) (57389 68770 (\SETLOCALNSNUMBERS 57399 . 58784) (\LOADNSADDRESS 58786 . 59078) (\STORENSADDRESS 
-59080 . 59261) (\PRINTNSADDRESS 59263 . 60346) (\NSADDRESS.DEFPRINT 60348 . 65293) (
-\NSADDRESS.PRINT.DECIMAL 65295 . 67426) (\LOADNSHOSTNUMBER 67428 . 68057) (\STORENSHOSTNUMBER 68059 . 
-68463) (PRINTNSHOSTNUMBER 68465 . 68768)) (68883 74631 (\ETHERINIT 68893 . 69463) (\ETHEREVENTFN 69465
- . 71997) (\ETHER-AVAILABLE 71999 . 72157) (\TIME.NOT.SET 72159 . 72485) (\SETETHERFLAGS 72487 . 72938
-) (\FLUSHNDBS 72940 . 74118) (\FLUSH.NDB.QUEUE 74120 . 74629)) (74632 77924 (\CHECKSUM 74642 . 76574) 
-(\HANDLE.RAW.OTHER 76576 . 76931) (\HANDLE.RAW.PACKET 76933 . 77445) (\ADD.PACKET.FILTER 77447 . 77679
-) (\DEL.PACKET.FILTER 77681 . 77922)) (85757 86282 (ENCAPSULATE.ETHERPACKET 85767 . 86039) (
-TRANSMIT.ETHERPACKET 86041 . 86280)) (86570 99166 (\AGE.ROUTING.TABLE 86580 . 88729) (
-\ADD.ROUTING.TABLE.ENTRY 88731 . 89427) (\CLEAR.ROUTING.TABLE 89429 . 90156) (\MAP.ROUTING.TABLE 90158
- . 90686) (PRINTROUTINGTABLE 90688 . 94313) (\ROUTINGTABLE.INFOHOOK 94315 . 99164)) (99651 106436 (
-\TRANSLATE.10TO3 99661 . 101445) (\NOTE.10TO3 101447 . 103063) (\HANDLE.RAW.10TO3 103065 . 106434)) (
-110418 125240 (PRINTPACKET 110428 . 110989) (\MAYBEPRINTPACKET 110991 . 112648) (PRINT10TO3 112650 . 
-114018) (PRINTPACKETDATA 114020 . 119310) (PRINTPACKETQUEUE 119312 . 119741) (TIME.SINCE.PACKET 119743
- . 120228) (MAKE-NETWORK-TRACE-WINDOW 120230 . 123772) (\CHANGE.ETHER.TRACING 123774 . 125238)) (
-125611 126426 (\CENTICLOCK 125621 . 126424)) (126881 132981 (\3MBGETPACKET 126891 . 128311) (
-\3MB.CREATENDB 128313 . 129028) (\3MBSENDPACKET 129030 . 131213) (\3MBWATCHER 131215 . 131953) (
-\3MBENCAPSULATE 131955 . 132503) (\3MB.BROADCASTP 132505 . 132676) (\3MBFLUSH 132678 . 132979)) (
-135935 137878 (ASSURE.ETHER.ON 135945 . 136275) (INITPUPLEVEL1 136277 . 136757) (TURN.ON.ETHER 136759
- . 136904) (RESTART.ETHER 136906 . 137280) (TURN.OFF.ETHER 137282 . 137600) (PRINTWORDS 137602 . 
-137876)) (138153 138688 (\DEVICE.INPUT 138163 . 138328) (\DEVICE.OUTPUT 138330 . 138524) (\D0.STARTIO 
-138526 . 138686)))))
+  (FILEMAP (NIL (10564 19020 (CANONICAL.HOSTNAME 10574 . 12163) (\ENQUEUE 12165 . 14810) (\DEQUEUE 14812
+ . 16139) (\QUEUELENGTH 16141 . 16441) (\ONQUEUE 16443 . 16709) (\UNQUEUE 16711 . 19018)) (52579 56445
+ (\ALLOCATE.ETHERPACKET 52589 . 53630) (\RELEASE.ETHERPACKET 53632 . 54705) (RELEASE.PUP 54707 . 54852
+) (\FLUSH.PACKET.QUEUE 54854 . 55205) (\REQUEUE.ETHERPACKET 55207 . 55721) (\EP.PUT.AUX 55723 . 56443)
+) (57019 68400 (\SETLOCALNSNUMBERS 57029 . 58414) (\LOADNSADDRESS 58416 . 58708) (\STORENSADDRESS 
+58710 . 58891) (\PRINTNSADDRESS 58893 . 59976) (\NSADDRESS.DEFPRINT 59978 . 64923) (
+\NSADDRESS.PRINT.DECIMAL 64925 . 67056) (\LOADNSHOSTNUMBER 67058 . 67687) (\STORENSHOSTNUMBER 67689 . 
+68093) (PRINTNSHOSTNUMBER 68095 . 68398)) (68513 74207 (\ETHERINIT 68523 . 69093) (\ETHEREVENTFN 69095
+ . 71573) (\ETHER-AVAILABLE 71575 . 71733) (\TIME.NOT.SET 71735 . 72061) (\SETETHERFLAGS 72063 . 72514
+) (\FLUSHNDBS 72516 . 73694) (\FLUSH.NDB.QUEUE 73696 . 74205)) (74208 77500 (\CHECKSUM 74218 . 76150) 
+(\HANDLE.RAW.OTHER 76152 . 76507) (\HANDLE.RAW.PACKET 76509 . 77021) (\ADD.PACKET.FILTER 77023 . 77255
+) (\DEL.PACKET.FILTER 77257 . 77498)) (85004 85529 (ENCAPSULATE.ETHERPACKET 85014 . 85286) (
+TRANSMIT.ETHERPACKET 85288 . 85527)) (85817 98413 (\AGE.ROUTING.TABLE 85827 . 87976) (
+\ADD.ROUTING.TABLE.ENTRY 87978 . 88674) (\CLEAR.ROUTING.TABLE 88676 . 89403) (\MAP.ROUTING.TABLE 89405
+ . 89933) (PRINTROUTINGTABLE 89935 . 93560) (\ROUTINGTABLE.INFOHOOK 93562 . 98411)) (98898 105683 (
+\TRANSLATE.10TO3 98908 . 100692) (\NOTE.10TO3 100694 . 102310) (\HANDLE.RAW.10TO3 102312 . 105681)) (
+109673 124495 (PRINTPACKET 109683 . 110244) (\MAYBEPRINTPACKET 110246 . 111903) (PRINT10TO3 111905 . 
+113273) (PRINTPACKETDATA 113275 . 118565) (PRINTPACKETQUEUE 118567 . 118996) (TIME.SINCE.PACKET 118998
+ . 119483) (MAKE-NETWORK-TRACE-WINDOW 119485 . 123027) (\CHANGE.ETHER.TRACING 123029 . 124493)) (
+124862 125677 (\CENTICLOCK 124872 . 125675)) (126128 132228 (\3MBGETPACKET 126138 . 127558) (
+\3MB.CREATENDB 127560 . 128275) (\3MBSENDPACKET 128277 . 130460) (\3MBWATCHER 130462 . 131200) (
+\3MBENCAPSULATE 131202 . 131750) (\3MB.BROADCASTP 131752 . 131923) (\3MBFLUSH 131925 . 132226)) (
+134970 136913 (ASSURE.ETHER.ON 134980 . 135310) (INITPUPLEVEL1 135312 . 135792) (TURN.ON.ETHER 135794
+ . 135939) (RESTART.ETHER 135941 . 136315) (TURN.OFF.ETHER 136317 . 136635) (PRINTWORDS 136637 . 
+136911)) (137184 137719 (\DEVICE.INPUT 137194 . 137359) (\DEVICE.OUTPUT 137361 . 137555) (\D0.STARTIO 
+137557 . 137717)))))
 STOP
diff --git a/sources/LLETHER.LCOM b/sources/LLETHER.LCOM
index 6398f666..4250c3b1 100644
Binary files a/sources/LLETHER.LCOM and b/sources/LLETHER.LCOM differ
