# NetConfig — fixture site `epic` (entry / fan-out site). # # DURABLE CHECKED-IN FIXTURE for nc-paths cross-site walking + route fan-out. # Synthetic, PHI-free, ~deliberately small. Grammar matches lib/nc-parse.sh # (protocol/process/destination top-level blocks; { PROTOCOL { PORT/ISSERVER } }; # DATAXLATE { ROUTE { ROUTE_DETAILS { DEST } } }). # # CONFLICT RESOLVED (the v0.9.3 fixture-design bug): a destination BLOCK must # never share a NAME with a LOCAL protocol in the SAME site. nc-paths.sh # _xsite_down_targets (lib/nc-paths.sh:378) skips any DEST whose name is also a # local protocol — so a colliding dest-block name SUPPRESSES the cross-site hop. # Here every cross-site destination block is prefixed `XS_` (XS = cross-site) # and no protocol uses that prefix. Local intra-site DEST targets are bare # protocol names; cross-site DEST targets are the `XS_*` block names. # # Topology: # IB_ADT_epic (server :7001, multi-route inbound) # --> MUX_ADT_ancout (intra) ==> ancout/IB_ADT_muxS (cross via XS_to_ancout) # --> MUX_ADT_codamx (intra) ==> codamx/IB_ADT_cmx (cross via XS_to_codamx) process recv_epic { } process route_epic { } protocol IB_ADT_epic { { PROCESSNAME recv_epic } { PROTOCOL { { TYPE tcpip } { ISSERVER 1 } { PORT 7001 } } } { DATAXLATE { { ROUTE { { ROUTE_DETAILS { { DEST MUX_ADT_ancout } } } { ROUTE_DETAILS { { DEST MUX_ADT_codamx } } } } } } } } protocol MUX_ADT_ancout { { PROCESSNAME route_epic } { PROTOCOL { { TYPE tcpip } { ISSERVER 0 } { PORT 62043 } } } { DATAXLATE { { ROUTE { { ROUTE_DETAILS { { DEST XS_to_ancout } } } } } } } } protocol MUX_ADT_codamx { { PROCESSNAME route_epic } { PROTOCOL { { TYPE tcpip } { ISSERVER 0 } { PORT 62044 } } } { DATAXLATE { { ROUTE { { ROUTE_DETAILS { { DEST XS_to_codamx } } } } } } } } destination XS_to_ancout { { SITE ancout } { THREAD IB_ADT_muxS } { PORT 62043 } } destination XS_to_codamx { { SITE codamx } { THREAD IB_ADT_cmx } { PORT 62044 } }