mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-30 19:46:15 +00:00
Retire the tcp-chain static test topology
The tcp-chain profile has never been runnable. ping-test.sh dispatches on
chain and mesh only, and the string tcp-chain has never appeared in that
script in its history, so invoking the profile has always fallen through
to the unknown-profile branch: silently asserting nothing before that
branch was made to fail, and exiting 2 since. Neither runner referenced
it either.
What it would have covered is already covered. The chaos tcp-mesh
scenario runs in local CI and gives TCP a discriminating gate: n04's only
edges are TCP, so if the transport were broken n04 could not parent and
the scenario's baseline assertion would fail. It also carries a pure-TCP
two-hop path, n01 to n04 to n05, under netem and link flaps. The only
residual tcp-chain would have added is a mesh with no UDP present
anywhere, which is not worth a fixture that has never run.
Remove the topology, its three compose services, and the documentation
rows. Every profile the static compose file still defines is now
exercised by a suite.
Also correct the chaos README, which has listed tcp-only and tcp-chain in
its transport table since those two scenarios were deleted in 9e63b42.
Neither has existed for months.
This commit is contained in:
@@ -16,7 +16,6 @@ configurations.
|
|||||||
| ----------- | ----- | --------- | -------------------------------- |
|
| ----------- | ----- | --------- | -------------------------------- |
|
||||||
| mesh | 5 | UDP | Sparse mesh, 6 links, multi-hop |
|
| mesh | 5 | UDP | Sparse mesh, 6 links, multi-hop |
|
||||||
| chain | 5 | UDP | Linear chain, max 4-hop paths |
|
| chain | 5 | UDP | Linear chain, max 4-hop paths |
|
||||||
| tcp-chain | 3 | TCP | Linear chain over TCP (port 8443) |
|
|
||||||
| rekey | 5 | UDP | Rekey integration test topology |
|
| rekey | 5 | UDP | Rekey integration test topology |
|
||||||
|
|
||||||
### [tor/](tor/) -- Tor Transport Integration
|
### [tor/](tor/) -- Tor Transport Integration
|
||||||
|
|||||||
@@ -67,19 +67,12 @@ Explicit topologies exercising non-UDP transports.
|
|||||||
| ------------- | ----- | -------------- | ----- | -------- | ----- | ---------- | ------------------------------------------ |
|
| ------------- | ----- | -------------- | ----- | -------- | ----- | ---------- | ------------------------------------------ |
|
||||||
| ethernet-only | 4 | Ethernet | Ring | 90s | yes | -- | AF_PACKET transport with beacon discovery |
|
| ethernet-only | 4 | Ethernet | Ring | 90s | yes | -- | AF_PACKET transport with beacon discovery |
|
||||||
| ethernet-mesh | 6 | UDP + Ethernet | Mesh | 120s | yes | yes | Mixed UDP/Ethernet, netem mutation + flaps |
|
| ethernet-mesh | 6 | UDP + Ethernet | Mesh | 120s | yes | yes | Mixed UDP/Ethernet, netem mutation + flaps |
|
||||||
| tcp-only | 4 | TCP | Ring | 90s | yes | -- | TCP transport with static peer config |
|
|
||||||
| tcp-chain | 4 | TCP | Chain | 90s | yes | -- | TCP multi-hop routing through chain |
|
|
||||||
| tcp-mesh | 6 | UDP + TCP | Mesh | 120s | yes | yes | Mixed UDP/TCP, netem mutation + flaps |
|
| tcp-mesh | 6 | UDP + TCP | Mesh | 120s | yes | yes | Mixed UDP/TCP, netem mutation + flaps |
|
||||||
|
|
||||||
- **ethernet-only**: 4-node ring on raw Ethernet (AF_PACKET). Peers discovered
|
- **ethernet-only**: 4-node ring on raw Ethernet (AF_PACKET). Peers discovered
|
||||||
via beacons, not static config. Minimal netem (1-5ms delay).
|
via beacons, not static config. Minimal netem (1-5ms delay).
|
||||||
- **ethernet-mesh**: Mirrors `tcp-mesh` topology but with Ethernet instead of
|
- **ethernet-mesh**: Mirrors `tcp-mesh` topology but with Ethernet instead of
|
||||||
TCP. UDP edges use static config; Ethernet edges use beacon discovery.
|
TCP. UDP edges use static config; Ethernet edges use beacon discovery.
|
||||||
- **tcp-only**: 4-node ring using TCP on port 8443. Tests connect-on-send,
|
|
||||||
FMP framing over TCP, and reconnection. Netem enabled (1-10ms delay, 0-1%
|
|
||||||
loss).
|
|
||||||
- **tcp-chain**: 4-node linear chain, all TCP. Tests multi-hop routing over
|
|
||||||
TCP-only mesh.
|
|
||||||
- **tcp-mesh**: 6-node mesh with 4 UDP and 3 TCP edges. Both transports use
|
- **tcp-mesh**: 6-node mesh with 4 UDP and 3 TCP edges. Both transports use
|
||||||
static peer config. Netem mutation (30% fraction, every 20-40s) and link
|
static peer config. Netem mutation (30% fraction, every 20-40s) and link
|
||||||
flaps (1 link max, 10-20s down).
|
flaps (1 link max, 10-20s down).
|
||||||
|
|||||||
@@ -119,16 +119,13 @@ testing/static/
|
|||||||
│ └── topologies/
|
│ └── topologies/
|
||||||
│ ├── mesh.yaml # Mesh topology definition
|
│ ├── mesh.yaml # Mesh topology definition
|
||||||
│ ├── chain.yaml # Chain topology definition
|
│ ├── chain.yaml # Chain topology definition
|
||||||
│ ├── tcp-chain.yaml # TCP chain (3 nodes, port 8443)
|
|
||||||
│ └── rekey.yaml # Rekey integration test (5 nodes)
|
│ └── rekey.yaml # Rekey integration test (5 nodes)
|
||||||
├── generated-configs/ # Auto-generated, run-scoped (gitignored)
|
├── generated-configs/ # Auto-generated, run-scoped (gitignored)
|
||||||
│ ├── npubs.env # NPUB_A=..., NPUB_B=..., etc.
|
│ ├── npubs.env # NPUB_A=..., NPUB_B=..., etc.
|
||||||
│ ├── mesh/
|
│ ├── mesh/
|
||||||
│ │ ├── node-a.yaml ... node-e.yaml
|
│ │ ├── node-a.yaml ... node-e.yaml
|
||||||
│ ├── chain/
|
│ └── chain/
|
||||||
│ │ ├── node-a.yaml ... node-e.yaml
|
│ ├── node-a.yaml ... node-e.yaml
|
||||||
│ └── tcp-chain/
|
|
||||||
│ ├── node-a.yaml ... node-c.yaml
|
|
||||||
├── scripts/
|
├── scripts/
|
||||||
│ ├── build.sh # Build binary + generate configs
|
│ ├── build.sh # Build binary + generate configs
|
||||||
│ ├── generate-configs.sh # Generate node configs from topology
|
│ ├── generate-configs.sh # Generate node configs from topology
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
# TCP Chain Topology Definition
|
|
||||||
#
|
|
||||||
# Three nodes with TCP links forming a linear chain. Tests basic TCP
|
|
||||||
# transport connectivity, spanning tree convergence, and multi-hop
|
|
||||||
# routing over TCP. All peer connections use TCP on port 443.
|
|
||||||
#
|
|
||||||
# default_transport: tcp tells the config generator to use TCP
|
|
||||||
# transport and port 443 instead of the default UDP/2121.
|
|
||||||
|
|
||||||
default_transport: tcp
|
|
||||||
|
|
||||||
nodes:
|
|
||||||
a:
|
|
||||||
nsec: "0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20"
|
|
||||||
npub: "npub1sjlh2c3x9w7kjsqg2ay080n2lff2uvt325vpan33ke34rn8l5jcqawh57m"
|
|
||||||
docker_ip: "172.20.0.10"
|
|
||||||
peers: [b]
|
|
||||||
|
|
||||||
b:
|
|
||||||
nsec: "b102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fb0"
|
|
||||||
npub: "npub1tdwa4vjrjl33pcjdpf2t4p027nl86xrx24g4d3avg4vwvayr3g8qhd84le"
|
|
||||||
docker_ip: "172.20.0.11"
|
|
||||||
peers: [a, c]
|
|
||||||
|
|
||||||
c:
|
|
||||||
nsec: "c102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fc0"
|
|
||||||
npub: "npub1cld9yay0u24davpu6c35l4vldrhzvaq66pcqtg9a0j2cnjrn9rtsxx2pe6"
|
|
||||||
docker_ip: "172.20.0.12"
|
|
||||||
peers: [b]
|
|
||||||
@@ -365,40 +365,6 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
fips-net:
|
fips-net:
|
||||||
|
|
||||||
# ── TCP chain topology (A-B-C) ───────────────────────────────
|
|
||||||
tcp-a:
|
|
||||||
<<: *fips-common
|
|
||||||
profiles: ["tcp-chain"]
|
|
||||||
container_name: fips-node-a${FIPS_CI_NAME_SUFFIX:-}
|
|
||||||
hostname: node-a
|
|
||||||
volumes:
|
|
||||||
- ../docker/resolv.conf:/etc/resolv.conf:ro
|
|
||||||
- ./generated-configs${FIPS_CI_NAME_SUFFIX:-}/tcp-chain/node-a.yaml:/etc/fips/fips.yaml:ro
|
|
||||||
networks:
|
|
||||||
fips-net:
|
|
||||||
|
|
||||||
tcp-b:
|
|
||||||
<<: *fips-common
|
|
||||||
profiles: ["tcp-chain"]
|
|
||||||
container_name: fips-node-b${FIPS_CI_NAME_SUFFIX:-}
|
|
||||||
hostname: node-b
|
|
||||||
volumes:
|
|
||||||
- ../docker/resolv.conf:/etc/resolv.conf:ro
|
|
||||||
- ./generated-configs${FIPS_CI_NAME_SUFFIX:-}/tcp-chain/node-b.yaml:/etc/fips/fips.yaml:ro
|
|
||||||
networks:
|
|
||||||
fips-net:
|
|
||||||
|
|
||||||
tcp-c:
|
|
||||||
<<: *fips-common
|
|
||||||
profiles: ["tcp-chain"]
|
|
||||||
container_name: fips-node-c${FIPS_CI_NAME_SUFFIX:-}
|
|
||||||
hostname: node-c
|
|
||||||
volumes:
|
|
||||||
- ../docker/resolv.conf:/etc/resolv.conf:ro
|
|
||||||
- ./generated-configs${FIPS_CI_NAME_SUFFIX:-}/tcp-chain/node-c.yaml:/etc/fips/fips.yaml:ro
|
|
||||||
networks:
|
|
||||||
fips-net:
|
|
||||||
|
|
||||||
# ── Gateway integration test (gateway + server + non-FIPS client) ─
|
# ── Gateway integration test (gateway + server + non-FIPS client) ─
|
||||||
gw-gateway:
|
gw-gateway:
|
||||||
<<: *fips-common
|
<<: *fips-common
|
||||||
|
|||||||
Reference in New Issue
Block a user