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:
Pawan Dhananjay
2021-08-26 00:29:39 +00:00
parent aca49fc45e
commit d3b4cbed53
7 changed files with 24 additions and 1 deletions

View File

@@ -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")

View File

@@ -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,
})
}

View File

@@ -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();
}