# LAT — Local Area Transport Reference material for the **LAT** protocol (DEC's *Local Area Transport*), the Ethernet protocol the VT1200 firmware implements for terminal / X-session connections to VMS and ULTRIX hosts. See the firmware evidence in `../README.md` (`LAT: could not allocate XCB …`, `VTELAT_COMM`, `latmain`, the `LAT_*` error table). This folder collects the official protocol documentation plus open-source implementations, so the VT1200's LAT subsystem can be read against a normative spec and against working code instead of reverse-engineered from scratch. ## Contents ``` lat/ ├── manuals/ # DEC protocol documentation (PDF, scanned) └── code/ # open-source LAT implementations ``` ## Manuals (`manuals/`) Source: bitsavers — | File | Document | Part no. | Date | Pages | |------|----------|----------|------|-------| | `LAT_Protocol_Dec83.pdf` | *Local Area Transport Architecture* (Bruce Eric Mann) — early internal architecture draft; the origin of the term "LAT" | — | Dec 1982 (rev. 1983) | 118 | | `AA-DJ18B-TK_LAT_Architecture_Network_Managers_Guide_Jul85.pdf` | *Local Area Transport (LAT) Architecture — Network Manager's Guide* — LAT 5.0 era; configuring/managing/troubleshooting LAT, counters, performance | `AA-DJ18B-TK` | Jul 1985 | 70 | | `AA-NL26A-TE_LAT_Specification_Jun89.pdf` | *Local Area Transport (LAT) Specification* — **the normative spec** (LAT VS.1 / "LAT 5.1"): names & translation, slot + virtual-circuit layers, connection solicitation, service classes, message formats | `AA-NL26A-TE` | Jun 1989 | 198 | Checksums: ``` 3a4b97b2d7158a1919d2d5eb425959cfa31dc03a0a2c3f62756ec9254ee5201c AA-DJ18B-TK_LAT_Architecture_Network_Managers_Guide_Jul85.pdf 7d77520f56863b7dda92c785facf8ef9d8bd5a638406eaa1157a6ca2c055dc83 AA-NL26A-TE_LAT_Specification_Jun89.pdf 4ed56a5c5f49ce4326a677dbb77a7a990090762836e11ef6f2279596f5d67909 LAT_Protocol_Dec83.pdf ``` The June 1989 specification is the readable scan; the other two are earlier and OCR quality is poor (image-only titles), but their figures/tables are intact. ## Code (`code/`) ### `code/latd/` — Local Area Transport Daemon - **What:** userspace LAT implementation for Linux/BSD (login services, Reverse-LAT `/dev/lat/*`, `latcp`, `llogin`, `moprc`, group codes, ratings). Also the closest working reference for the *port/terminal side* of LAT. - **Upstream:** (originally the Linux DECnet project, ). - **Version:** 1.36 · commit `a5dd59e7c13ccd2ec6a031db53e439fc64db2c6b` (2026-09-21) · local `.git` retained. - **License:** GPL-2.0 (`COPYING`). - **Note:** this git history was created from the Debian source package ("Creating 1.35 git repo; from debian source"), so it holds 5 commits, not the full upstream history. - **Provenance:** clean-room reverse engineering — per its own `README`: *"This code is a clean-room reverse-engineering effort. I have no access to HP technical documentation or source code for LAT and nor do I want any."* So it is an independent implementation to test the spec against, not derived from DEC source. Key files for protocol work: `lat.h`, `lat_messages.cc` / `lat_messages.h` (message encode/decode), `circuit.cc` (virtual circuits), `session.cc`, `clientsession.cc` / `serversession.cc` / `reversesession.cc` / `queuedsession.cc` (session types), `interfaces*.cc` (AF_PACKET / BPF framing), `server.cc`, `services.cc`, `utils.cc`. ### `code/wireshark-lat/` — Wireshark LAT dissector - **File:** `packet-lat.c` — the production packet decoder for LAT (Ethertype `0x6004`). - **Upstream:** → `epan/dissectors/packet-lat.c` (branch `master`). - **License:** GPL-2.0-or-later. - **Why useful:** the dissector's own header says its field layout is taken from the `AA-NL26A-TE` spec in `manuals/` — a ready-made, field-by-field decoding of the wire format for validating captured VT1200 traffic. ## Licensing The DEC manuals are DEC-proprietary (the 1989 spec is stamped *DIGITAL Proprietary and Confidential*) and are kept here for local research only; do not redistribute them. The code folders keep their upstream licenses (`latd` GPL-2.0, Wireshark `packet-lat.c` GPL-2.0-or-later). ## Relevance to the VT1200 - **Wire format:** `AA-NL26A-TE_LAT_Specification_Jun89.pdf` is normative. - **Field decoding / pcap inspection:** `code/wireshark-lat/packet-lat.c`. - **Interoperable behavior / state machines:** `code/latd/`. - **Remaining VT1200-specific work (not covered by the above):** how the firmware wires LAT into the X server (`LAT X Session Service Select`), the VTE window service (`LAT Terminal Window Service Select`), name-server and group handling, and its circuit-timer policy.