add plumbing to allow for arbitrary tpu address in gossip (#22703)

* add plumbing to allow for arbitrary tpu address in gossip

* make clippy happy

* Review comments

Co-authored-by: CherryWorm <nico.gruendel@web.de>
This commit is contained in:
sakridge
2022-03-02 09:42:14 +01:00
committed by GitHub
parent d3ebe8d8f5
commit a4f4ac5279
4 changed files with 24 additions and 1 deletions

View File

@ -2899,6 +2899,7 @@ impl Node {
gossip_addr: &SocketAddr,
port_range: PortRange,
bind_ip_addr: IpAddr,
overwrite_tpu_addr: Option<SocketAddr>,
) -> Node {
let (gossip_port, (gossip, ip_echo)) =
Self::get_gossip_port(gossip_addr, port_range, bind_ip_addr);
@ -2940,7 +2941,7 @@ impl Node {
tvu: SocketAddr::new(gossip_addr.ip(), tvu_port),
tvu_forwards: SocketAddr::new(gossip_addr.ip(), tvu_forwards_port),
repair: SocketAddr::new(gossip_addr.ip(), repair_port),
tpu: SocketAddr::new(gossip_addr.ip(), tpu_port),
tpu: overwrite_tpu_addr.unwrap_or_else(|| SocketAddr::new(gossip_addr.ip(), tpu_port)),
tpu_forwards: SocketAddr::new(gossip_addr.ip(), tpu_forwards_port),
tpu_vote: SocketAddr::new(gossip_addr.ip(), tpu_vote_port),
rpc: socketaddr_any!(),
@ -3500,6 +3501,7 @@ mod tests {
&socketaddr!(ip, 0),
VALIDATOR_PORT_RANGE,
IpAddr::V4(ip),
None,
);
check_node_sockets(&node, IpAddr::V4(ip), VALIDATOR_PORT_RANGE);
@ -3521,6 +3523,7 @@ mod tests {
&socketaddr!(0, port),
port_range,
ip,
None,
);
check_node_sockets(&node, ip, port_range);