mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-03 00:31:50 +00:00
Packet filter cli option (#2523)
## Issue Addressed N/A ## Proposed Changes Adds a cli option to disable packet filter in `lighthouse bootnode`. This is useful in running local testnets as the bootnode bans requests from the same ip(localhost) if the packet filter is enabled.
This commit is contained in:
@@ -60,6 +60,11 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
||||
.help("Discovery can automatically update the node's local ENR with an external IP address and port as seen by other peers on the network. \
|
||||
This enables this feature.")
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("disable-packet-filter")
|
||||
.long("disable-packet-filter")
|
||||
.help("Disables discv5 packet filter. Useful for testing in smaller networks")
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("network-dir")
|
||||
.value_name("NETWORK_DIR")
|
||||
|
||||
@@ -19,6 +19,7 @@ pub struct BootNodeConfig<T: EthSpec> {
|
||||
pub local_enr: Enr,
|
||||
pub local_key: CombinedKey,
|
||||
pub auto_update: bool,
|
||||
pub disable_packet_filter: bool,
|
||||
phantom: PhantomData<T>,
|
||||
}
|
||||
|
||||
@@ -69,6 +70,7 @@ impl<T: EthSpec> TryFrom<&ArgMatches<'_>> for BootNodeConfig<T> {
|
||||
}
|
||||
|
||||
let auto_update = matches.is_present("enable-enr_auto_update");
|
||||
let disable_packet_filter = matches.is_present("disable-packet-filter");
|
||||
|
||||
// the address to listen on
|
||||
let listen_socket =
|
||||
@@ -128,6 +130,7 @@ impl<T: EthSpec> TryFrom<&ArgMatches<'_>> for BootNodeConfig<T> {
|
||||
local_enr,
|
||||
local_key,
|
||||
auto_update,
|
||||
disable_packet_filter,
|
||||
phantom: PhantomData,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -32,7 +32,9 @@ pub async fn run<T: EthSpec>(config: BootNodeConfig<T>, log: slog::Logger) {
|
||||
|
||||
let discv5_config = {
|
||||
let mut builder = Discv5ConfigBuilder::new();
|
||||
builder.enable_packet_filter();
|
||||
if !config.disable_packet_filter {
|
||||
builder.enable_packet_filter();
|
||||
}
|
||||
if !config.auto_update {
|
||||
builder.disable_enr_update();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user