@@ -58,10 +58,9 @@ static void
58
58
repair_topo ( config_t * config ) {
59
59
resolve_gossip_entrypoints ( config );
60
60
61
- ulong net_tile_cnt = config -> layout .net_tile_count ;
62
- ulong shred_tile_cnt = config -> layout .shred_tile_count ;
63
- ulong quic_tile_cnt = config -> layout .quic_tile_count ;
64
- ulong sign_tile_cnt = config -> firedancer .layout .sign_tile_count ;
61
+ ulong net_tile_cnt = config -> layout .net_tile_count ;
62
+ ulong shred_tile_cnt = config -> layout .shred_tile_count ;
63
+ ulong sign_tile_cnt = config -> firedancer .layout .sign_tile_count ;
65
64
66
65
fd_topo_t * topo = { fd_topob_new ( & config -> topo , config -> name ) };
67
66
topo -> max_page_size = fd_cstr_to_shmem_page_sz ( config -> hugetlbfs .max_page_size );
@@ -72,7 +71,6 @@ repair_topo( config_t * config ) {
72
71
fd_topob_wksp ( topo , "net_shred" );
73
72
fd_topob_wksp ( topo , "net_gossip" );
74
73
fd_topob_wksp ( topo , "net_repair" );
75
- fd_topob_wksp ( topo , "net_quic" );
76
74
77
75
fd_topob_wksp ( topo , "shred_repair" );
78
76
fd_topob_wksp ( topo , "stake_out" );
@@ -94,8 +92,6 @@ repair_topo( config_t * config ) {
94
92
fd_topob_wksp ( topo , "sign_repair" );
95
93
96
94
fd_topob_wksp ( topo , "repair_repla" );
97
- fd_topob_wksp ( topo , "gossip_send" );
98
- fd_topob_wksp ( topo , "send_txns" );
99
95
100
96
fd_topob_wksp ( topo , "shred" );
101
97
fd_topob_wksp ( topo , "sign" );
@@ -112,7 +108,6 @@ repair_topo( config_t * config ) {
112
108
ulong pending_fec_shreds_depth = fd_ulong_min ( fd_ulong_pow2_up ( config -> tiles .shred .max_pending_shred_sets * FD_REEDSOL_DATA_SHREDS_MAX ), USHORT_MAX + 1 /* dcache max */ );
113
109
114
110
/* topo, link_name, wksp_name, depth, mtu, burst */
115
- FOR (quic_tile_cnt ) fd_topob_link ( topo , "quic_net ", " net_quic ", config->net.ingress_buffer_size, FD_NET_MTU, 1UL );
116
111
FOR (shred_tile_cnt ) fd_topob_link ( topo , "shred_net ", " net_shred ", config->net.ingress_buffer_size, FD_NET_MTU, 1UL );
117
112
118
113
/**/ fd_topob_link( topo, " stake_out ", " stake_out ", 128UL, 40UL + 40200UL * 40UL, 1UL );
@@ -128,7 +123,6 @@ repair_topo( config_t * config ) {
128
123
129
124
/**/ fd_topob_link( topo, " crds_shred ", " crds_shred ", 128UL, 8UL + 40200UL * 38UL, 1UL );
130
125
/**/ fd_topob_link( topo, " gossip_repai ", " gossip_repai ", 128UL, 40200UL * 38UL, 1UL );
131
- /**/ fd_topob_link ( topo , "gossip_send" , "gossip_send" , 128UL , 40200UL * 38UL , 1UL );
132
126
133
127
/**/ fd_topob_link( topo, " gossip_net ", " net_gossip ", config->net.ingress_buffer_size, FD_NET_MTU, 1UL );
134
128
@@ -146,8 +140,6 @@ repair_topo( config_t * config ) {
146
140
/**/ fd_topob_link ( topo , "repair_repla" , "repair_repla" , 65536UL , sizeof (fd_reasm_fec_t ), 1UL );
147
141
/**/ fd_topob_link ( topo , "poh_shred" , "poh_shred" , 16384UL , USHORT_MAX , 1UL );
148
142
149
- /**/ fd_topob_link ( topo , "send_txns" , "send_txns" , 128UL , FD_TXN_MTU , 1UL );
150
-
151
143
FD_TEST ( sizeof (fd_snapshot_manifest_t )<=(5UL * (1UL <<30UL )) );
152
144
/**/ fd_topob_link ( topo , "snap_out" , "snap_out" , 2UL , 5UL * (1UL <<30UL ), 1UL );
153
145
@@ -182,7 +174,6 @@ repair_topo( config_t * config ) {
182
174
183
175
FOR (net_tile_cnt ) fd_topos_net_rx_link ( topo , "net_gossip ", i , config -> net .ingress_buffer_size );
184
176
FOR (net_tile_cnt ) fd_topos_net_rx_link ( topo , "net_repair ", i , config -> net .ingress_buffer_size );
185
- FOR (net_tile_cnt ) fd_topos_net_rx_link ( topo , "net_quic ", i , config -> net .ingress_buffer_size );
186
177
FOR (net_tile_cnt ) fd_topos_net_rx_link ( topo , "net_shred ", i, config->net.ingress_buffer_size );
187
178
188
179
/* topo, tile_name, tile_wksp, metrics_wksp, cpu_idx, is_agave, uses_keyswitch */
@@ -260,10 +251,6 @@ repair_topo( config_t * config ) {
260
251
/* topo, tile_name, tile_kind_id, fseq_wksp, link_name, link_kind_id, reliable, polled */
261
252
for ( ulong j = 0UL ; j < shred_tile_cnt ; j ++ )
262
253
fd_topos_tile_in_net ( topo , "metric_in" , "shred_net" , j , FD_TOPOB_UNRELIABLE , FD_TOPOB_POLLED ); /* No reliable consumers of networking fragments, may be dropped or overrun */
263
- for ( ulong j = 0UL ; j < quic_tile_cnt ; j ++ )
264
- fd_topos_tile_in_net ( topo , "metric_in" , "quic_net" , j , FD_TOPOB_UNRELIABLE , FD_TOPOB_POLLED ); /* No reliable consumers of networking fragments, may be dropped or overrun */
265
-
266
- /**/ fd_topob_tile_in ( topo , "gossip" , 0UL , "metric_in" , "send_txns" , 0UL , FD_TOPOB_RELIABLE , FD_TOPOB_POLLED );
267
254
268
255
/**/ fd_topos_tile_in_net ( topo , "metric_in" , "gossip_net" , 0UL , FD_TOPOB_UNRELIABLE , FD_TOPOB_POLLED ); /* No reliable consumers of networking fragments, may be dropped or overrun */
269
256
/**/ fd_topos_tile_in_net ( topo , "metric_in" , "repair_net" , 0UL , FD_TOPOB_UNRELIABLE , FD_TOPOB_POLLED ); /* No reliable consumers of networking fragments, may be dropped or overrun */
@@ -300,7 +287,6 @@ repair_topo( config_t * config ) {
300
287
/**/ fd_topob_tile_out( topo, " gossip ", 0UL, " gossip_sign ", 0UL );
301
288
/**/ fd_topob_tile_in( topo, " gossip ", 0UL, " metric_in ", " sign_gossip ", 0UL, FD_TOPOB_UNRELIABLE, FD_TOPOB_UNPOLLED );
302
289
/**/ fd_topob_tile_out( topo, " sign ", 0UL, " sign_gossip ", 0UL );
303
- /**/ fd_topob_tile_out( topo, " gossip ", 0UL, " gossip_send ", 0UL );
304
290
/**/ fd_topob_tile_out( topo, " gossip ", 0UL, " gossip_tower ", 0UL );
305
291
306
292
FOR (net_tile_cnt ) fd_topob_tile_in ( topo , "repair" , 0UL , "metric_in" , "net_repair" , i , FD_TOPOB_UNRELIABLE , FD_TOPOB_POLLED ); /* No reliable consumers of networking fragments, may be dropped or overrun */
@@ -350,23 +336,25 @@ repair_topo( config_t * config ) {
350
336
fd_topob_tile_out ( topo , "scap" , 0UL , "snap_out" , 0UL );
351
337
}
352
338
353
- FD_TEST ( link_permit_no_producers ( topo , "quic_net" ) == quic_tile_cnt );
354
- FD_TEST ( link_permit_no_producers ( topo , "poh_shred" ) == 1UL );
355
- FD_TEST ( link_permit_no_producers ( topo , "send_txns" ) == 1UL );
356
- FD_TEST ( link_permit_no_producers ( topo , "repair_scap" ) == 1UL );
357
- FD_TEST ( link_permit_no_producers ( topo , "replay_scap" ) == 1UL );
339
+ FD_TEST ( link_permit_no_producers ( topo , "poh_shred" ) == 1UL );
340
+ FD_TEST ( link_permit_no_producers ( topo , "repair_scap" ) == 1UL );
341
+ FD_TEST ( link_permit_no_producers ( topo , "replay_scap" ) == 1UL );
358
342
359
- FD_TEST ( link_permit_no_consumers ( topo , "net_quic" ) == quic_tile_cnt );
360
- FD_TEST ( link_permit_no_consumers ( topo , "gossip_verif" ) == 1UL );
361
- FD_TEST ( link_permit_no_consumers ( topo , "gossip_tower" ) == 1UL );
362
- FD_TEST ( link_permit_no_consumers ( topo , "gossip_send" ) == 1UL );
363
- FD_TEST ( link_permit_no_consumers ( topo , "repair_repla" ) == 1UL );
343
+ FD_TEST ( link_permit_no_consumers ( topo , "gossip_verif" ) == 1UL );
344
+ FD_TEST ( link_permit_no_consumers ( topo , "gossip_tower" ) == 1UL );
345
+ FD_TEST ( link_permit_no_consumers ( topo , "repair_repla" ) == 1UL );
364
346
365
347
FOR (net_tile_cnt ) fd_topos_net_tile_finish ( topo , i );
366
348
349
+ fd_topo_net_rx_t rx_rules = {0 };
350
+ fd_topo_net_rx_rule_push ( & rx_rules , DST_PROTO_SHRED , "net_shred" , config -> tiles .shred .shred_listen_port );
351
+ fd_topo_net_rx_rule_push ( & rx_rules , DST_PROTO_GOSSIP , "net_gossip" , config -> gossip .port );
352
+ fd_topo_net_rx_rule_push ( & rx_rules , DST_PROTO_REPAIR , "net_repair" , config -> tiles .repair .repair_intake_listen_port );
353
+ fd_topo_net_rx_rule_push ( & rx_rules , DST_PROTO_REPAIR , "net_repair" , config -> tiles .repair .repair_serve_listen_port );
354
+
367
355
for ( ulong i = 0UL ; i < topo -> tile_cnt ; i ++ ) {
368
356
fd_topo_tile_t * tile = & topo -> tiles [ i ];
369
- if ( !fd_topo_configure_tile ( tile , config ) ) {
357
+ if ( !fd_topo_configure_tile ( tile , config , & rx_rules ) ) {
370
358
FD_LOG_ERR (( "unknown tile name %lu `%s`" , i , tile -> name ));
371
359
}
372
360
}
0 commit comments