Skip to content

Commit ed0d354

Browse files
riptlripatel-fd
authored andcommitted
fdctl: hack around broken configure checks
fdctl has poor support for custom topologies, leading to network stack configure checks being run, even when the selected action does not do networking. Adds a temporary hack around that.
1 parent 6ae9178 commit ed0d354

File tree

10 files changed

+17
-12
lines changed

10 files changed

+17
-12
lines changed

src/app/fddev/dev1.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ dev1_cmd_fn( args_t * args,
8484
}
8585

8686
update_config_for_dev( config );
87-
run_firedancer_init( config, 1 );
87+
run_firedancer_init( config, 1, 0 );
8888

8989
install_parent_signals();
9090

src/app/firedancer-dev/commands/backtest.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ backtest_cmd_fn( args_t * args FD_PARAM_UNUSED,
380380
args_t c_args = configure_args();
381381
configure_cmd_fn( &c_args, config );
382382

383-
run_firedancer_init( config, 1 );
383+
run_firedancer_init( config, 1, 0 );
384384

385385
fd_log_private_shared_lock[ 1 ] = 0;
386386
fd_topo_join_workspaces( &config->topo, FD_SHMEM_JOIN_MODE_READ_WRITE );

src/app/firedancer-dev/commands/ipecho_server.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ ipecho_server_cmd_fn( args_t * args,
7272
args_t c_args = configure_args();
7373
configure_cmd_fn( &c_args, config );
7474

75-
run_firedancer_init( config, 1 );
75+
run_firedancer_init( config, 1, 0 );
7676

7777
fd_log_private_shared_lock[ 1 ] = 0;
7878
fd_topo_join_workspaces( &config->topo, FD_SHMEM_JOIN_MODE_READ_WRITE );

src/app/firedancer-dev/commands/repair.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ repair_cmd_fn( args_t * args,
427427
(void)fds;
428428
}
429429

430-
run_firedancer_init( config, 1 );
430+
run_firedancer_init( config, 1, 0 );
431431

432432
fd_log_private_shared_lock[ 1 ] = 0;
433433
fd_topo_join_workspaces( &config->topo, FD_SHMEM_JOIN_MODE_READ_WRITE );

src/app/firedancer-dev/commands/send_test/send_test.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ send_test_cmd_fn( args_t * args ,
237237

238238
fd_topo_print_log( 0, &config->topo );
239239

240-
run_firedancer_init( config, !args->dev.no_init_workspaces );
240+
run_firedancer_init( config, !args->dev.no_init_workspaces, 1 );
241241
fdctl_setup_netns( config, 1 );
242242

243243
if( 0==strcmp( config->net.provider, "xdp" ) ) fd_topo_install_xdp( &config->topo, config->net.bind_address_parsed );

src/app/firedancer-dev/commands/snapshot_load.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ snapshot_load_cmd_fn( args_t * args,
142142
configure_args.configure.stages[ i ] = STAGES[ i ];
143143
configure_cmd_fn( &configure_args, config );
144144

145-
run_firedancer_init( config, 1 );
145+
run_firedancer_init( config, 1, 0 );
146146

147147
fd_log_private_shared_lock[ 1 ] = 0;
148148
fd_topo_join_workspaces( topo, FD_SHMEM_JOIN_MODE_READ_WRITE );

src/app/shared/commands/run/run.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -734,7 +734,8 @@ fdctl_check_configure( config_t const * config ) {
734734

735735
void
736736
run_firedancer_init( config_t * config,
737-
int init_workspaces ) {
737+
int init_workspaces,
738+
int check_configure ) {
738739
struct stat st;
739740
int err = stat( config->paths.identity_key, &st );
740741
if( FD_UNLIKELY( -1==err && errno==ENOENT ) ) FD_LOG_ERR(( "[consensus.identity_path] key does not exist `%s`. You can generate an identity key at this path by running `fdctl keys new identity --config <toml>`", config->paths.identity_key ));
@@ -748,7 +749,10 @@ run_firedancer_init( config_t * config,
748749
}
749750
}
750751

751-
fdctl_check_configure( config );
752+
/* FIXME: fdctl_check_configure unconditionally checks for network
753+
stack prerequisites even if the command being run does not
754+
require networking. Hack around that here for now. */
755+
if( check_configure ) fdctl_check_configure( config );
752756
if( FD_LIKELY( init_workspaces ) ) initialize_workspaces( config );
753757
initialize_stacks( config );
754758
}
@@ -815,7 +819,7 @@ run_firedancer( config_t * config,
815819
/* dump the topology we are using to the output log */
816820
fd_topo_print_log( 0, &config->topo );
817821

818-
run_firedancer_init( config, init_workspaces );
822+
run_firedancer_init( config, init_workspaces, 1 );
819823

820824
#if defined(__x86_64__) || defined(__aarch64__)
821825

src/app/shared/commands/run/run.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ initialize_stacks( config_t const * config );
2525

2626
void
2727
run_firedancer_init( config_t * config,
28-
int init_workspaces );
28+
int init_workspaces,
29+
int check_configure );
2930

3031
void
3132
fdctl_setup_netns( config_t * config,

src/app/shared_dev/commands/bench/bench.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ bench_cmd_fn( args_t * args,
173173

174174
update_config_for_dev( config );
175175

176-
run_firedancer_init( config, 1 );
176+
run_firedancer_init( config, 1, 1 );
177177
fdctl_setup_netns( config, 1 );
178178

179179
if( 0==strcmp( config->net.provider, "xdp" ) ) {

src/app/shared_dev/commands/dev.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ run_firedancer_threaded( config_t * config,
119119

120120
fd_topo_print_log( 0, &config->topo );
121121

122-
run_firedancer_init( config, init_workspaces );
122+
run_firedancer_init( config, init_workspaces, 1 );
123123
fdctl_setup_netns( config, 1 );
124124

125125
if( FD_UNLIKELY( config->development.debug_tile ) ) {

0 commit comments

Comments
 (0)