@@ -58,9 +58,8 @@ 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 ;
61
+ ulong net_tile_cnt = config -> layout .net_tile_count ;
62
+ ulong shred_tile_cnt = config -> layout .shred_tile_count ;
64
63
65
64
fd_topo_t * topo = { fd_topob_new ( & config -> topo , config -> name ) };
66
65
topo -> max_page_size = fd_cstr_to_shmem_page_sz ( config -> hugetlbfs .max_page_size );
@@ -71,7 +70,6 @@ repair_topo( config_t * config ) {
71
70
fd_topob_wksp ( topo , "net_shred" );
72
71
fd_topob_wksp ( topo , "net_gossip" );
73
72
fd_topob_wksp ( topo , "net_repair" );
74
- fd_topob_wksp ( topo , "net_quic" );
75
73
76
74
fd_topob_wksp ( topo , "shred_repair" );
77
75
fd_topob_wksp ( topo , "stake_out" );
@@ -93,8 +91,6 @@ repair_topo( config_t * config ) {
93
91
fd_topob_wksp ( topo , "sign_repair" );
94
92
95
93
fd_topob_wksp ( topo , "repair_repla" );
96
- fd_topob_wksp ( topo , "gossip_send" );
97
- fd_topob_wksp ( topo , "send_txns" );
98
94
99
95
fd_topob_wksp ( topo , "shred" );
100
96
fd_topob_wksp ( topo , "sign" );
@@ -111,7 +107,6 @@ repair_topo( config_t * config ) {
111
107
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 */ );
112
108
113
109
/* topo, link_name, wksp_name, depth, mtu, burst */
114
- FOR (quic_tile_cnt ) fd_topob_link ( topo , "quic_net ", " net_quic ", config->net.ingress_buffer_size, FD_NET_MTU, 1UL );
115
110
FOR (shred_tile_cnt ) fd_topob_link ( topo , "shred_net ", " net_shred ", config->net.ingress_buffer_size, FD_NET_MTU, 1UL );
116
111
117
112
/**/ fd_topob_link( topo, " stake_out ", " stake_out ", 128UL, 40UL + 40200UL * 40UL, 1UL );
@@ -127,7 +122,6 @@ repair_topo( config_t * config ) {
127
122
128
123
/**/ fd_topob_link( topo, " crds_shred ", " crds_shred ", 128UL, 8UL + 40200UL * 38UL, 1UL );
129
124
/**/ fd_topob_link( topo, " gossip_repai ", " gossip_repai ", 128UL, 40200UL * 38UL, 1UL );
130
- /**/ fd_topob_link ( topo , "gossip_send" , "gossip_send" , 128UL , 40200UL * 38UL , 1UL );
131
125
132
126
/**/ fd_topob_link( topo, " gossip_net ", " net_gossip ", config->net.ingress_buffer_size, FD_NET_MTU, 1UL );
133
127
@@ -140,8 +134,6 @@ repair_topo( config_t * config ) {
140
134
/**/ fd_topob_link( topo, " repair_repla ", " repair_repla ", 65536UL, sizeof(fd_reasm_fec_t), 1UL );
141
135
/**/ fd_topob_link( topo, " poh_shred ", " poh_shred ", 16384UL, USHORT_MAX, 1UL );
142
136
143
- /**/ fd_topob_link ( topo , "send_txns" , "send_txns" , 128UL , FD_TXN_MTU , 1UL );
144
-
145
137
FD_TEST ( sizeof (fd_snapshot_manifest_t )<=(5UL * (1UL <<30UL )) );
146
138
/**/ fd_topob_link ( topo , "snap_out" , "snap_out" , 2UL , 5UL * (1UL <<30UL ), 1UL );
147
139
@@ -176,7 +168,6 @@ repair_topo( config_t * config ) {
176
168
177
169
FOR (net_tile_cnt ) fd_topos_net_rx_link ( topo , "net_gossip ", i , config -> net .ingress_buffer_size );
178
170
FOR (net_tile_cnt ) fd_topos_net_rx_link ( topo , "net_repair ", i , config -> net .ingress_buffer_size );
179
- FOR (net_tile_cnt ) fd_topos_net_rx_link ( topo , "net_quic ", i , config -> net .ingress_buffer_size );
180
171
FOR (net_tile_cnt ) fd_topos_net_rx_link ( topo , "net_shred ", i, config->net.ingress_buffer_size );
181
172
182
173
/* topo, tile_name, tile_wksp, metrics_wksp, cpu_idx, is_agave, uses_keyswitch */
@@ -254,10 +245,6 @@ repair_topo( config_t * config ) {
254
245
/* topo, tile_name, tile_kind_id, fseq_wksp, link_name, link_kind_id, reliable, polled */
255
246
for ( ulong j = 0UL ; j < shred_tile_cnt ; j ++ )
256
247
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 */
257
- for ( ulong j = 0UL ; j < quic_tile_cnt ; j ++ )
258
- 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 */
259
-
260
- /**/ fd_topob_tile_in ( topo , "gossip" , 0UL , "metric_in" , "send_txns" , 0UL , FD_TOPOB_RELIABLE , FD_TOPOB_POLLED );
261
248
262
249
/**/ 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 */
263
250
/**/ 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 */
@@ -294,7 +281,6 @@ repair_topo( config_t * config ) {
294
281
/**/ fd_topob_tile_out( topo, " gossip ", 0UL, " gossip_sign ", 0UL );
295
282
/**/ fd_topob_tile_in( topo, " gossip ", 0UL, " metric_in ", " sign_gossip ", 0UL, FD_TOPOB_UNRELIABLE, FD_TOPOB_UNPOLLED );
296
283
/**/ fd_topob_tile_out( topo, " sign ", 0UL, " sign_gossip ", 0UL );
297
- /**/ fd_topob_tile_out( topo, " gossip ", 0UL, " gossip_send ", 0UL );
298
284
/**/ fd_topob_tile_out( topo, " gossip ", 0UL, " gossip_tower ", 0UL );
299
285
300
286
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 */
@@ -339,23 +325,25 @@ repair_topo( config_t * config ) {
339
325
fd_topob_tile_out ( topo , "scap" , 0UL , "snap_out" , 0UL );
340
326
}
341
327
342
- FD_TEST ( link_permit_no_producers ( topo , "quic_net" ) == quic_tile_cnt );
343
- FD_TEST ( link_permit_no_producers ( topo , "poh_shred" ) == 1UL );
344
- FD_TEST ( link_permit_no_producers ( topo , "send_txns" ) == 1UL );
345
- FD_TEST ( link_permit_no_producers ( topo , "repair_scap" ) == 1UL );
346
- FD_TEST ( link_permit_no_producers ( topo , "replay_scap" ) == 1UL );
328
+ FD_TEST ( link_permit_no_producers ( topo , "poh_shred" ) == 1UL );
329
+ FD_TEST ( link_permit_no_producers ( topo , "repair_scap" ) == 1UL );
330
+ FD_TEST ( link_permit_no_producers ( topo , "replay_scap" ) == 1UL );
347
331
348
- FD_TEST ( link_permit_no_consumers ( topo , "net_quic" ) == quic_tile_cnt );
349
- FD_TEST ( link_permit_no_consumers ( topo , "gossip_verif" ) == 1UL );
350
- FD_TEST ( link_permit_no_consumers ( topo , "gossip_tower" ) == 1UL );
351
- FD_TEST ( link_permit_no_consumers ( topo , "gossip_send" ) == 1UL );
352
- FD_TEST ( link_permit_no_consumers ( topo , "repair_repla" ) == 1UL );
332
+ FD_TEST ( link_permit_no_consumers ( topo , "gossip_verif" ) == 1UL );
333
+ FD_TEST ( link_permit_no_consumers ( topo , "gossip_tower" ) == 1UL );
334
+ FD_TEST ( link_permit_no_consumers ( topo , "repair_repla" ) == 1UL );
353
335
354
336
FOR (net_tile_cnt ) fd_topos_net_tile_finish ( topo , i );
355
337
338
+ fd_topo_net_rx_t rx_rules = {0 };
339
+ fd_topo_net_rx_rule_push ( & rx_rules , DST_PROTO_SHRED , "net_shred" , config -> tiles .shred .shred_listen_port );
340
+ fd_topo_net_rx_rule_push ( & rx_rules , DST_PROTO_GOSSIP , "net_gossip" , config -> gossip .port );
341
+ fd_topo_net_rx_rule_push ( & rx_rules , DST_PROTO_REPAIR , "net_repair" , config -> tiles .repair .repair_intake_listen_port );
342
+ fd_topo_net_rx_rule_push ( & rx_rules , DST_PROTO_REPAIR , "net_repair" , config -> tiles .repair .repair_serve_listen_port );
343
+
356
344
for ( ulong i = 0UL ; i < topo -> tile_cnt ; i ++ ) {
357
345
fd_topo_tile_t * tile = & topo -> tiles [ i ];
358
- if ( !fd_topo_configure_tile ( tile , config ) ) {
346
+ if ( !fd_topo_configure_tile ( tile , config , & rx_rules ) ) {
359
347
FD_LOG_ERR (( "unknown tile name %lu `%s`" , i , tile -> name ));
360
348
}
361
349
}
0 commit comments