mirror of
https://git.k-space.ee/arti/vt1200.git
synced 2026-10-30 12:03:54 +02:00
96 lines
4.8 KiB
Markdown
96 lines
4.8 KiB
Markdown
# 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 — <http://bitsavers.computerhistory.org/pdf/dec/ethernet/lat/>
|
|
|
|
| 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:** <https://github.com/cguldenschuh/latd> (originally the
|
|
Linux DECnet project, <https://sourceforge.net/projects/linux-decnet/files/latd/>).
|
|
- **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:** <https://gitlab.com/wireshark/wireshark> →
|
|
`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.
|