Skip to content

Add rack subnet to wicket RSS config #9501

@rcgoodfellow

Description

@rcgoodfellow

Wicket currently uses a constant rack subnet for RSS

Ok(bootstrap_agent_client::types::RackNetworkConfigV2 {
rack_subnet: RACK_SUBNET.net(),
infra_ip_first: config.infra_ip_first,
infra_ip_last: config.infra_ip_last,
ports: config
.iter_uplinks()
.map(|(switch, port, config)| {
build_port_config(switch, port, config, bgp_auth_keys)
})
.collect(),
bgp: config
.bgp
.iter()
.map(|config| BaBgpConfig {
asn: config.asn,
originate: config.originate.clone(),
checker: config.checker.clone(),
shaper: config.shaper.clone(),
})
.collect(),
//TODO bfd config in wicket
bfd: vec![],
})
}

For cluster deployments, this needs to be configurable so that racks within the cluster can eventually be joined together in a multirack setup under a single control plane.

This cannot be just any prefix. It has to follow the model in RFD 63: IPv6 Addressing

In particular the rack portion of the prefix in the leading 2 octets of the 4th segment cannot be zero. From the latter part of the section linked above

we will need some number of addresses for service discovery itself. If we assume that these may be Cell or Availability Zone-wide, then our plan is to take one of the rack /56 entries and reserve it for this purpose. This /56 is called the services prefix.

This will need to be validated by wicket before starting RSS as the calamity will ensue otherwise.

Metadata

Metadata

Labels

networkingRelated to the networking.wicketOperator Interaction Via Technician Port

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions