diff --git a/contrib/test/run_script_tests.sh b/contrib/test/run_script_tests.sh index c6d178ce8c..7af940ae12 100755 --- a/contrib/test/run_script_tests.sh +++ b/contrib/test/run_script_tests.sh @@ -51,17 +51,6 @@ fi # FIXME: Needs a /tmp/test.pcap file #$UNIT_TEST/test_replay --tile-cpus 38-42/2 --tx-pcap /tmp/test.pcap 2> $LOG_PATH/replay - -# todo(mmcgee-jump): reenable those tests https://github.com/firedancer-io/firedancer/issues/761 -# if $UNIT_TEST/test_mux_ipc_init $OBJDIR && \ -# $UNIT_TEST/test_mux_ipc_meta 16 16 && \ -# $UNIT_TEST/test_mux_ipc_full 16 16 && \ -# $UNIT_TEST/test_mux_ipc_fini; then -# echo pass > $LOG_PATH/mux_ipc -# else -# echo FAIL > $LOG_PATH/mux_ipc -# fi - wait for f in `ls $LOG_PATH`; do diff --git a/src/app/fdctl/topology.c b/src/app/fdctl/topology.c index c09006ff22..b3998363b1 100644 --- a/src/app/fdctl/topology.c +++ b/src/app/fdctl/topology.c @@ -191,7 +191,7 @@ fd_topo_initialize( config_t * config ) { /* Sign links don't need to be reliable because they are synchronous, so there's at most one fragment in flight at a time anyway. The - sign links are also not polled by the mux, instead the tiles will + sign links are also not polled by fd_stem, instead the tiles will read the sign responses out of band in a dedicated spin loop. */ for( ulong i=0UL; inext_report_nanos ) { diff --git a/src/disco/dedup/fd_dedup_tile.c b/src/disco/dedup/fd_dedup_tile.c index a1ee577316..9b5c7aa5a3 100644 --- a/src/disco/dedup/fd_dedup_tile.c +++ b/src/disco/dedup/fd_dedup_tile.c @@ -10,11 +10,7 @@ /* fd_dedup provides services to deduplicate multiple streams of input fragments and present them to a mix of reliable and unreliable consumers as though they were generated by a single multi-stream - producer. - - The dedup tile is simply a wrapper around the mux tile, that also - checks the transaction signature field for duplicates and filters - them out. */ + producer. */ #define IN_KIND_GOSSIP (0UL) #define IN_KIND_VERIFY (1UL) @@ -30,8 +26,8 @@ typedef struct { ulong mtu; } fd_dedup_in_ctx_t; -/* fd_dedup_ctx_t is the context object provided to callbacks from the - mux tile, and contains all state needed to progress the tile. */ +/* fd_dedup_ctx_t is the context object provided to callbacks from + fd_stem, and contains all state needed to progress the tile. */ typedef struct { ulong tcache_depth; /* == fd_tcache_depth( tcache ), depth of this dedups's tcache (const) */ diff --git a/src/disco/metrics/fd_metrics.h b/src/disco/metrics/fd_metrics.h index 68d4fde475..663116ce89 100644 --- a/src/disco/metrics/fd_metrics.h +++ b/src/disco/metrics/fd_metrics.h @@ -45,8 +45,8 @@ where every value is a ulong. Tile metrics come after link metrics, so this base pointer points at the very start of the layout. You - shouldn't need to use this directly, instead it's used by the mux - tile when it's computing the metrics for specific links. */ + shouldn't need to use this directly, instead it's used by fd_stem + when it's computing the metrics for specific links. */ extern FD_TL ulong * fd_metrics_base_tl; /* All metrics in the application are ulongs, and are laid out diff --git a/src/disco/quic/fd_quic_tile.c b/src/disco/quic/fd_quic_tile.c index 9c721df313..d0bdb5b30d 100644 --- a/src/disco/quic/fd_quic_tile.c +++ b/src/disco/quic/fd_quic_tile.c @@ -11,22 +11,20 @@ #include #include -/* fd_quic provides a TPU server tile. +/* fd_quic_tile provides a TPU server tile. This tile handles incoming transactions that clients request to be included in blocks. Supported protocols currently include TPU/UDP and TPU/QUIC. - The fd_quic tile acts as a plain old Tango producer writing to a cnc - and an mcache. The tile will defragment multi-packet TPU streams - coming in from QUIC, such that each mcache/dcache pair forms a - complete txn. This requires the dcache mtu to be at least that of - the largest allowed serialized txn size. + The fd_quic tile acts as a plain old Tango producer. The tile will + defragment multi-packet TPU streams coming in from QUIC, such tha + each frag_meta refers to a complete txn. This requires the dcache + mtu to be at least that of the largest allowed serialized txn size. - QUIC tiles don't service network devices directly, but rely on - packets being received by net tiles and forwarded on via. a mux - (multiplexer). An arbitrary number of QUIC tiles can be run. Each - UDP flow must stick to one QUIC tile. */ + QUIC tiles don't service network devices directly, but rely on net + tiles to send and receive packets. An arbitrary number of QUIC tiles + can be run. Each UDP flow must stick to one QUIC tile. */ static inline fd_quic_limits_t quic_limits( fd_topo_tile_t const * tile ) { @@ -92,7 +90,7 @@ legacy_stream_notify( fd_quic_ctx_t * ctx, } /* Because of the separate mcache for publishing network fragments - back to networking tiles, which is not managed by the mux, we + back to networking tiles, which is not managed by fd_stem, we need to periodically update the sync. */ static void during_housekeeping( fd_quic_ctx_t * ctx ) { diff --git a/src/disco/topo/fd_topob.h b/src/disco/topo/fd_topob.h index 162237d18d..d4bcb3c628 100644 --- a/src/disco/topo/fd_topob.h +++ b/src/disco/topo/fd_topob.h @@ -95,10 +95,9 @@ fd_topob_tile( fd_topo_t * topo, int is_agave, int uses_keyswitch ); -/* Add an input link to the tile. If the tile is created with the - standard mux runner, it will automatically poll the in link and - forward fragments to the user code (unless the link is specified - as unpolled). +/* Add an input link to the tile. If the tile is created with fd_stem, + it will automatically poll the in link and forward fragments to the + user code (unless the link is specified as unpolled). An input link has an fseq which is a ulong used for returning the current reader position in sequence space, used for wiring flow diff --git a/src/disco/verify/fd_verify_tile.c b/src/disco/verify/fd_verify_tile.c index 41c7b97529..8ddda3ec51 100644 --- a/src/disco/verify/fd_verify_tile.c +++ b/src/disco/verify/fd_verify_tile.c @@ -1,4 +1,5 @@ #include "fd_verify_tile.h" +#include "../fd_txn_m_t.h" #include "../metrics/fd_metrics.h" #include "generated/fd_verify_tile_seccomp.h" @@ -8,9 +9,6 @@ #define IN_KIND_BUNDLE (1UL) #define IN_KIND_GOSSIP (2UL) #define IN_KIND_SEND (3UL) -/* The verify tile is a wrapper around the mux tile, that also verifies - incoming transaction signatures match the data being signed. - Non-matching transactions are filtered out of the frag stream. */ FD_FN_CONST static inline ulong scratch_align( void ) { diff --git a/src/disco/verify/fd_verify_tile.h b/src/disco/verify/fd_verify_tile.h index e59830bdca..d68055e341 100644 --- a/src/disco/verify/fd_verify_tile.h +++ b/src/disco/verify/fd_verify_tile.h @@ -1,7 +1,11 @@ #ifndef HEADER_fd_src_disco_verify_fd_verify_tile_h #define HEADER_fd_src_disco_verify_fd_verify_tile_h -#include "../tiles.h" +/* The verify tile verifies that the cryptographic signatures of + incoming transactions match the data being signed. Transactions with + invalid signatures are filtered out of the frag stream. */ + +#include "../topo/fd_topo.h" #define FD_TXN_VERIFY_SUCCESS 0 #define FD_TXN_VERIFY_FAILED -1