2.9 KiB
Linux kernel reference imports
This file records Linux kernel code copied into the tree as historical reference material. These files are not build inputs unless a later patch explicitly wires them into a target.
Linux 2.4.37.9 SPX reference
Imported files:
| Source | Destination | Purpose |
|---|---|---|
linux-2.4.37.9/net/ipx/af_spx.c |
src/kernel/af_spx.c |
Historical SPX implementation reference. |
linux-2.4.37.9/include/net/spx.h |
include/kernel/spx.h |
SPX/IPX header, state and packet field reference. |
The imported SPX code is reference material for a possible future userland
nwspx.c implementation. Do not compile it into nwserv, nwconn, libnwcore
or libnwfs as-is. The old Linux code is kernel-specific and uses old socket,
timer, locking and sk_buff APIs. A Mars implementation must be written behind
the nwtransport/nwipx boundary instead.
Useful information preserved by the import:
- SPX is modeled as
SOCK_SEQPACKEToverPF_IPX, not as a separateAF_SPXfamily. - IPX packet type
IPX_TYPE_SPXcarries the SPX header. - The SPX header fields are
cctl,dtype, source/destination connection IDs,sequence,ackseq, andallocseq. - The historical state names are
SPX_CLOSED,SPX_CONNECTING, andSPX_CONNECTED. - The code includes watchdog, retransmit and disconnect handling that can guide a later clean userland state machine.
Important caveats:
- In Linux 2.4.37.9,
net/ipx/Config.inhas the SPX prompt commented out:CONFIG_SPXis not normally selectable even thoughaf_spx.cremains in the tree. net/ipx/Makefilestill containsobj-$(CONFIG_SPX) += af_spx.o, so the code was a disabled/leftover experimental implementation, not a maintained normal feature.- The source banner identifies the implementation as old SPX work for Linux 2.1.x and the implementation contains comments describing simplified or fake RTT handling. Treat protocol mechanics as useful, not the code architecture.
- Keep NetWare 3.x/NCP work focused on IPX socket
0x0451, SAP0x0452and RIP0x0453. SPX is a later compatibility track and must not block namespace or libnwfs work.
License handling:
- The imported file header allows GPL version 2 or later. For this repository,
use the GPL-2.0 choice only, consistent with
COPYING.md. - Preserve the original file headers when moving or studying these files; only
whitespace was normalized on import so
git diff --checkremains clean. - Do not import unrelated Linux kernel code unless it is explicitly needed as reference material and recorded here.
Placement rule
Historical kernel reference code belongs under:
src/kernel/
include/kernel/
Historical NSS reference code should similarly be kept out of generic src/ and
include/ paths. Existing imported NSS helper code can be moved toward
src/nss/ and include/nss/ in a later mechanical cleanup, but do not mix that
move with namespace implementation patches.