osbase/net/dhcp4c: move package out of metropolis
Move the dhcp4c package from metropolis/node/core/network/dhcp4c to
osbase/net/dhcp4c. The package is not specific to metropolis, and is
also used by nanoswitch and cloud/agent.
Change-Id: I508261c93c623d5b7a33a2089da11625b7a3abd0
Reviewed-on: https://review.monogon.dev/c/monogon/+/4565
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/metropolis/node/core/network/BUILD.bazel b/metropolis/node/core/network/BUILD.bazel
index bec2f19..23fdd5d 100644
--- a/metropolis/node/core/network/BUILD.bazel
+++ b/metropolis/node/core/network/BUILD.bazel
@@ -16,13 +16,13 @@
"//go/algorithm/toposort",
"//go/logging",
"//metropolis/node",
- "//metropolis/node/core/network/dhcp4c",
- "//metropolis/node/core/network/dhcp4c/callback",
"//metropolis/node/core/network/ipam",
"//metropolis/node/core/network/workloads",
"//metropolis/node/core/productinfo",
"//osbase/event",
"//osbase/event/memory",
+ "//osbase/net/dhcp4c",
+ "//osbase/net/dhcp4c/callback",
"//osbase/net/dns",
"//osbase/net/dns/forward",
"//osbase/net/proto",
diff --git a/metropolis/node/core/network/main.go b/metropolis/node/core/network/main.go
index 276e59e..2dcf7bb 100644
--- a/metropolis/node/core/network/main.go
+++ b/metropolis/node/core/network/main.go
@@ -17,12 +17,12 @@
"github.com/vishvananda/netlink"
"source.monogon.dev/metropolis/node"
- "source.monogon.dev/metropolis/node/core/network/dhcp4c"
- dhcpcb "source.monogon.dev/metropolis/node/core/network/dhcp4c/callback"
"source.monogon.dev/metropolis/node/core/network/ipam"
"source.monogon.dev/metropolis/node/core/network/workloads"
"source.monogon.dev/osbase/event"
"source.monogon.dev/osbase/event/memory"
+ "source.monogon.dev/osbase/net/dhcp4c"
+ dhcpcb "source.monogon.dev/osbase/net/dhcp4c/callback"
"source.monogon.dev/osbase/net/dns"
"source.monogon.dev/osbase/net/dns/forward"
"source.monogon.dev/osbase/supervisor"
diff --git a/metropolis/node/core/network/neigh.go b/metropolis/node/core/network/neigh.go
index d86dab7..c472d54 100644
--- a/metropolis/node/core/network/neigh.go
+++ b/metropolis/node/core/network/neigh.go
@@ -15,7 +15,7 @@
"github.com/vishvananda/netlink"
"golang.org/x/sys/unix"
- "source.monogon.dev/metropolis/node/core/network/dhcp4c"
+ "source.monogon.dev/osbase/net/dhcp4c"
)
var ethernetNull = net.HardwareAddr{0, 0, 0, 0, 0, 0}
diff --git a/metropolis/node/core/network/static.go b/metropolis/node/core/network/static.go
index e8169d9..c7c5d6a 100644
--- a/metropolis/node/core/network/static.go
+++ b/metropolis/node/core/network/static.go
@@ -21,8 +21,8 @@
"source.monogon.dev/go/algorithm/toposort"
"source.monogon.dev/go/logging"
"source.monogon.dev/metropolis/node"
- "source.monogon.dev/metropolis/node/core/network/dhcp4c"
- dhcpcb "source.monogon.dev/metropolis/node/core/network/dhcp4c/callback"
+ "source.monogon.dev/osbase/net/dhcp4c"
+ dhcpcb "source.monogon.dev/osbase/net/dhcp4c/callback"
"source.monogon.dev/osbase/supervisor"
"source.monogon.dev/osbase/sysctl"
diff --git a/metropolis/test/nanoswitch/BUILD.bazel b/metropolis/test/nanoswitch/BUILD.bazel
index 9aff921..ef80101 100644
--- a/metropolis/test/nanoswitch/BUILD.bazel
+++ b/metropolis/test/nanoswitch/BUILD.bazel
@@ -11,9 +11,9 @@
visibility = ["//visibility:private"],
deps = [
"//metropolis/node",
- "//metropolis/node/core/network/dhcp4c",
- "//metropolis/node/core/network/dhcp4c/callback",
"//osbase/bringup",
+ "//osbase/net/dhcp4c",
+ "//osbase/net/dhcp4c/callback",
"//osbase/supervisor",
"//osbase/test/socksproxy",
"@com_github_google_nftables//:nftables",
diff --git a/metropolis/test/nanoswitch/nanoswitch.go b/metropolis/test/nanoswitch/nanoswitch.go
index c3fde27..78d8efe 100644
--- a/metropolis/test/nanoswitch/nanoswitch.go
+++ b/metropolis/test/nanoswitch/nanoswitch.go
@@ -29,9 +29,9 @@
"github.com/vishvananda/netlink"
common "source.monogon.dev/metropolis/node"
- "source.monogon.dev/metropolis/node/core/network/dhcp4c"
- dhcpcb "source.monogon.dev/metropolis/node/core/network/dhcp4c/callback"
"source.monogon.dev/osbase/bringup"
+ "source.monogon.dev/osbase/net/dhcp4c"
+ dhcpcb "source.monogon.dev/osbase/net/dhcp4c/callback"
"source.monogon.dev/osbase/supervisor"
)
diff --git a/metropolis/node/core/network/dhcp4c/BUILD.bazel b/osbase/net/dhcp4c/BUILD.bazel
similarity index 62%
rename from metropolis/node/core/network/dhcp4c/BUILD.bazel
rename to osbase/net/dhcp4c/BUILD.bazel
index 34f2a23..af7081c 100644
--- a/metropolis/node/core/network/dhcp4c/BUILD.bazel
+++ b/osbase/net/dhcp4c/BUILD.bazel
@@ -7,14 +7,10 @@
"doc.go",
"lease.go",
],
- importpath = "source.monogon.dev/metropolis/node/core/network/dhcp4c",
- visibility = [
- "//metropolis/node:__subpackages__",
- # Exception for this package: the DHCP client is also used by nanoswitch.
- "//metropolis/test/nanoswitch:__subpackages__",
- ],
+ importpath = "source.monogon.dev/osbase/net/dhcp4c",
+ visibility = ["//visibility:public"],
deps = [
- "//metropolis/node/core/network/dhcp4c/transport",
+ "//osbase/net/dhcp4c/transport",
"//osbase/supervisor",
"@com_github_cenkalti_backoff_v4//:backoff",
"@com_github_insomniacslk_dhcp//dhcpv4",
@@ -30,7 +26,7 @@
],
embed = [":dhcp4c"],
deps = [
- "//metropolis/node/core/network/dhcp4c/transport",
+ "//osbase/net/dhcp4c/transport",
"@com_github_cenkalti_backoff_v4//:backoff",
"@com_github_insomniacslk_dhcp//dhcpv4",
"@com_github_stretchr_testify//assert",
diff --git a/metropolis/node/core/network/dhcp4c/callback/BUILD.bazel b/osbase/net/dhcp4c/callback/BUILD.bazel
similarity index 63%
rename from metropolis/node/core/network/dhcp4c/callback/BUILD.bazel
rename to osbase/net/dhcp4c/callback/BUILD.bazel
index 7e9827d..a8780fc 100644
--- a/metropolis/node/core/network/dhcp4c/callback/BUILD.bazel
+++ b/osbase/net/dhcp4c/callback/BUILD.bazel
@@ -4,14 +4,10 @@
go_library(
name = "callback",
srcs = ["callback.go"],
- importpath = "source.monogon.dev/metropolis/node/core/network/dhcp4c/callback",
- visibility = [
- "//metropolis/node:__subpackages__",
- # Exception for this package: the DHCP client is also used by nanoswitch.
- "//metropolis/test/nanoswitch:__subpackages__",
- ],
+ importpath = "source.monogon.dev/osbase/net/dhcp4c/callback",
+ visibility = ["//visibility:public"],
deps = [
- "//metropolis/node/core/network/dhcp4c",
+ "//osbase/net/dhcp4c",
"@com_github_insomniacslk_dhcp//dhcpv4",
"@com_github_vishvananda_netlink//:netlink",
"@org_golang_x_sys//unix",
@@ -23,7 +19,7 @@
srcs = ["callback_test.go"],
embed = [":callback"],
deps = [
- "//metropolis/node/core/network/dhcp4c",
+ "//osbase/net/dhcp4c",
"@com_github_google_go_cmp//cmp",
"@com_github_insomniacslk_dhcp//dhcpv4",
"@com_github_vishvananda_netlink//:netlink",
diff --git a/metropolis/node/core/network/dhcp4c/callback/callback.go b/osbase/net/dhcp4c/callback/callback.go
similarity index 98%
rename from metropolis/node/core/network/dhcp4c/callback/callback.go
rename to osbase/net/dhcp4c/callback/callback.go
index 39c8ef1..dc3088b 100644
--- a/metropolis/node/core/network/dhcp4c/callback/callback.go
+++ b/osbase/net/dhcp4c/callback/callback.go
@@ -25,7 +25,7 @@
"github.com/vishvananda/netlink"
"golang.org/x/sys/unix"
- "source.monogon.dev/metropolis/node/core/network/dhcp4c"
+ "source.monogon.dev/osbase/net/dhcp4c"
)
// Compose can be used to chain multiple callbacks
diff --git a/metropolis/node/core/network/dhcp4c/callback/callback_test.go b/osbase/net/dhcp4c/callback/callback_test.go
similarity index 99%
rename from metropolis/node/core/network/dhcp4c/callback/callback_test.go
rename to osbase/net/dhcp4c/callback/callback_test.go
index d9735df..db616bb 100644
--- a/metropolis/node/core/network/dhcp4c/callback/callback_test.go
+++ b/osbase/net/dhcp4c/callback/callback_test.go
@@ -16,7 +16,7 @@
"github.com/vishvananda/netlink"
"golang.org/x/sys/unix"
- "source.monogon.dev/metropolis/node/core/network/dhcp4c"
+ "source.monogon.dev/osbase/net/dhcp4c"
)
func trivialLeaseFromNet(ipnet net.IPNet) *dhcp4c.Lease {
diff --git a/metropolis/node/core/network/dhcp4c/dhcpc.go b/osbase/net/dhcp4c/dhcpc.go
similarity index 99%
rename from metropolis/node/core/network/dhcp4c/dhcpc.go
rename to osbase/net/dhcp4c/dhcpc.go
index dff272b..ad4c9dd 100644
--- a/metropolis/node/core/network/dhcp4c/dhcpc.go
+++ b/osbase/net/dhcp4c/dhcpc.go
@@ -23,7 +23,7 @@
"github.com/insomniacslk/dhcp/dhcpv4"
"github.com/insomniacslk/dhcp/iana"
- "source.monogon.dev/metropolis/node/core/network/dhcp4c/transport"
+ "source.monogon.dev/osbase/net/dhcp4c/transport"
"source.monogon.dev/osbase/supervisor"
)
diff --git a/metropolis/node/core/network/dhcp4c/dhcpc_test.go b/osbase/net/dhcp4c/dhcpc_test.go
similarity index 99%
rename from metropolis/node/core/network/dhcp4c/dhcpc_test.go
rename to osbase/net/dhcp4c/dhcpc_test.go
index 57361fe..67651a7 100644
--- a/metropolis/node/core/network/dhcp4c/dhcpc_test.go
+++ b/osbase/net/dhcp4c/dhcpc_test.go
@@ -14,7 +14,7 @@
"github.com/insomniacslk/dhcp/dhcpv4"
"github.com/stretchr/testify/assert"
- "source.monogon.dev/metropolis/node/core/network/dhcp4c/transport"
+ "source.monogon.dev/osbase/net/dhcp4c/transport"
)
type fakeTime struct {
diff --git a/metropolis/node/core/network/dhcp4c/doc.go b/osbase/net/dhcp4c/doc.go
similarity index 100%
rename from metropolis/node/core/network/dhcp4c/doc.go
rename to osbase/net/dhcp4c/doc.go
diff --git a/metropolis/node/core/network/dhcp4c/lease.go b/osbase/net/dhcp4c/lease.go
similarity index 100%
rename from metropolis/node/core/network/dhcp4c/lease.go
rename to osbase/net/dhcp4c/lease.go
diff --git a/metropolis/node/core/network/dhcp4c/lease_test.go b/osbase/net/dhcp4c/lease_test.go
similarity index 100%
rename from metropolis/node/core/network/dhcp4c/lease_test.go
rename to osbase/net/dhcp4c/lease_test.go
diff --git a/metropolis/node/core/network/dhcp4c/transport/BUILD.bazel b/osbase/net/dhcp4c/transport/BUILD.bazel
similarity index 74%
rename from metropolis/node/core/network/dhcp4c/transport/BUILD.bazel
rename to osbase/net/dhcp4c/transport/BUILD.bazel
index 8d5425f..8ba0830 100644
--- a/metropolis/node/core/network/dhcp4c/transport/BUILD.bazel
+++ b/osbase/net/dhcp4c/transport/BUILD.bazel
@@ -7,8 +7,8 @@
"transport_broadcast.go",
"transport_unicast.go",
],
- importpath = "source.monogon.dev/metropolis/node/core/network/dhcp4c/transport",
- visibility = ["//metropolis/node/core/network/dhcp4c:__subpackages__"],
+ importpath = "source.monogon.dev/osbase/net/dhcp4c/transport",
+ visibility = ["//osbase/net/dhcp4c:__subpackages__"],
deps = [
"@com_github_google_gopacket//:gopacket",
"@com_github_google_gopacket//layers",
diff --git a/metropolis/node/core/network/dhcp4c/transport/transport.go b/osbase/net/dhcp4c/transport/transport.go
similarity index 100%
rename from metropolis/node/core/network/dhcp4c/transport/transport.go
rename to osbase/net/dhcp4c/transport/transport.go
diff --git a/metropolis/node/core/network/dhcp4c/transport/transport_broadcast.go b/osbase/net/dhcp4c/transport/transport_broadcast.go
similarity index 100%
rename from metropolis/node/core/network/dhcp4c/transport/transport_broadcast.go
rename to osbase/net/dhcp4c/transport/transport_broadcast.go
diff --git a/metropolis/node/core/network/dhcp4c/transport/transport_unicast.go b/osbase/net/dhcp4c/transport/transport_unicast.go
similarity index 100%
rename from metropolis/node/core/network/dhcp4c/transport/transport_unicast.go
rename to osbase/net/dhcp4c/transport/transport_unicast.go