Skip to content

Allow limited inbound ICMP to Nexus, add ICMP type/code filters to firewall rules #8194

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 35 commits into from
Jul 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
f315451
Initial plumbing.
FelixMcFelix May 21, 2025
8a33170
More OpteHdl fixups.
FelixMcFelix May 21, 2025
38bd2ff
Parity.
FelixMcFelix May 21, 2025
c5aec33
Merge branch 'main' into felixmcfelix/icmp-for-nexus
FelixMcFelix May 21, 2025
283fc56
CRDB didn't like *that* migration.
FelixMcFelix May 21, 2025
3d13775
TODO: migration test.
FelixMcFelix May 21, 2025
da4c157
Merge branch 'main' into felixmcfelix/icmp-for-nexus
FelixMcFelix May 21, 2025
29db3dd
Iterating on launch failures.
FelixMcFelix May 22, 2025
01f0f4c
`serde_json::from_str` 🫠
FelixMcFelix May 22, 2025
3f8d07e
Merge branch 'main' into felixmcfelix/icmp-for-nexus
FelixMcFelix May 22, 2025
14804cb
Simple migration query.
FelixMcFelix May 22, 2025
983e6b7
An idempotent column rename
FelixMcFelix May 22, 2025
3d1a58e
Some control over ICMP allowance.
FelixMcFelix May 22, 2025
62a8b3d
Help the deploy job along, a little.
FelixMcFelix May 22, 2025
564424f
Last test fixup.
FelixMcFelix May 22, 2025
0c19f5f
`fmt`.
FelixMcFelix May 22, 2025
32a4914
Renaming, and some serde/integration tests.
FelixMcFelix May 23, 2025
6b9fa7a
Self-review
FelixMcFelix May 27, 2025
5c7caed
Review feedback
FelixMcFelix May 28, 2025
1fc7b2b
Review feedback, missed test fixup.
FelixMcFelix May 29, 2025
3d9011b
Further review feedback.
FelixMcFelix May 30, 2025
ef9f701
Merge branch 'main' into felixmcfelix/icmp-for-nexus
FelixMcFelix Jun 13, 2025
21efccf
Feedback: allow limited ICMP into external DNS zones.
FelixMcFelix Jun 13, 2025
63e1f70
Extend ICMP allow to Redirect and Port Unreachable
FelixMcFelix Jun 13, 2025
2323892
Bump Deploy job image version (pre-emptively).
FelixMcFelix Jun 13, 2025
fe82893
Merge branch 'main' into felixmcfelix/icmp-for-nexus
FelixMcFelix Jun 16, 2025
fccba56
Update VpcFirewallRuleProtocol to benefit from alloc-less FromSql
FelixMcFelix Jun 16, 2025
f676507
Merge branch 'main' into felixmcfelix/icmp-for-nexus
FelixMcFelix Jun 25, 2025
0d2fa6e
Remove OPTE_COMMIT override
FelixMcFelix Jun 25, 2025
ffaf268
Merge branch 'main' into felixmcfelix/icmp-for-nexus
FelixMcFelix Jun 27, 2025
6eec7a0
Incredibly silly missed schema versions
FelixMcFelix Jun 27, 2025
5a5308f
Bump OPTE to latest patch.
FelixMcFelix Jun 28, 2025
f652de1
Revert "Bump OPTE to latest patch."
FelixMcFelix Jun 28, 2025
299aca0
Bump Maghemite to main.
FelixMcFelix Jun 30, 2025
2c64f3c
Merge branch 'main' into felixmcfelix/icmp-for-nexus
FelixMcFelix Jul 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/buildomat/jobs/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#:
#: name = "helios / deploy"
#: variety = "basic"
#: target = "lab-2.0-opte-0.36"
#: target = "lab-2.0-opte-0.37"
#: output_rules = [
#: "%/var/svc/log/oxide-*.log*",
#: "%/zone/oxz_*/root/var/svc/log/oxide-*.log*",
Expand Down
17 changes: 9 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -511,8 +511,8 @@ lldp_protocol = { git = "https://github.com/oxidecomputer/lldp", package = "prot
macaddr = { version = "1.0.1", features = ["serde_std"] }
maplit = "1.0.2"
newtype_derive = "0.1.6"
mg-admin-client = { git = "https://github.com/oxidecomputer/maghemite", rev = "760b4b547e301a31d4dcb92ba97aabdb2a3e0cba" }
ddm-admin-client = { git = "https://github.com/oxidecomputer/maghemite", rev = "760b4b547e301a31d4dcb92ba97aabdb2a3e0cba" }
mg-admin-client = { git = "https://github.com/oxidecomputer/maghemite", rev = "638c897d5ed1e5d3f2de0c1cb9dfaa4d77a35dea" }
ddm-admin-client = { git = "https://github.com/oxidecomputer/maghemite", rev = "638c897d5ed1e5d3f2de0c1cb9dfaa4d77a35dea" }
multimap = "0.10.1"
nexus-auth = { path = "nexus/auth" }
nexus-background-task-interface = { path = "nexus/background-task-interface" }
Expand Down Expand Up @@ -568,7 +568,7 @@ omicron-workspace-hack = "0.1.0"
omicron-zone-package = "0.12.2"
oxide-client = { path = "clients/oxide-client" }
oxide-tokio-rt = "0.1.1"
oxide-vpc = { git = "https://github.com/oxidecomputer/opte", rev = "f5560fae02ad3fc349fabc6454c321143199ca9e", features = [ "api", "std" ] }
oxide-vpc = { git = "https://github.com/oxidecomputer/opte", rev = "3f2dfe36f156b486e60e7a08263ad6227be1e969", features = [ "api", "std" ] }
oxlog = { path = "dev-tools/oxlog" }
oxnet = "0.1.2"
once_cell = "1.21.3"
Expand All @@ -578,7 +578,7 @@ openapiv3 = "2.2.0"
# must match samael's crate!
openssl = "0.10"
openssl-sys = "0.9"
opte-ioctl = { git = "https://github.com/oxidecomputer/opte", rev = "f5560fae02ad3fc349fabc6454c321143199ca9e" }
opte-ioctl = { git = "https://github.com/oxidecomputer/opte", rev = "3f2dfe36f156b486e60e7a08263ad6227be1e969" }
oso = "0.27"
owo-colors = "4.2.2"
oximeter = { path = "oximeter/oximeter" }
Expand Down
3 changes: 2 additions & 1 deletion clients/sled-agent-client/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ progenitor::generate_api!(
TypedUuidForSupportBundleKind = omicron_uuid_kinds::SupportBundleUuid,
TypedUuidForZpoolKind = omicron_uuid_kinds::ZpoolUuid,
Vni = omicron_common::api::external::Vni,
VpcFirewallIcmpFilter = omicron_common::api::external::VpcFirewallIcmpFilter,
ZpoolKind = omicron_common::zpool_name::ZpoolKind,
ZpoolName = omicron_common::zpool_name::ZpoolName,
}
Expand Down Expand Up @@ -308,7 +309,7 @@ impl From<omicron_common::api::external::VpcFirewallRuleProtocol>
match s {
Tcp => Self::Tcp,
Udp => Self::Udp,
Icmp => Self::Icmp,
Icmp(v) => Self::Icmp(v),
}
}
}
Expand Down
Loading
Loading