m/node: remove non-definition dependencies

This enables usage from arbitrary platforms without including lots of
dependencies that aren't related to functionality.

Change-Id: I33e16b5396dc7216b676b294b8c1752caf3551b3
Reviewed-on: https://review.monogon.dev/c/monogon/+/3697
Tested-by: Jenkins CI
Vouch-Run-CI: Lorenz Brun <lorenz@monogon.tech>
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/node/BUILD.bazel b/metropolis/node/BUILD.bazel
index c09ca2d..3eccd5f 100644
--- a/metropolis/node/BUILD.bazel
+++ b/metropolis/node/BUILD.bazel
@@ -19,10 +19,7 @@
         "//metropolis:__subpackages__",
         "@io_k8s_kubernetes//pkg/registry:__subpackages__",
     ],
-    deps = [
-        "//metropolis/proto/common",
-        "@com_github_vishvananda_netlink//:netlink",
-    ],
+    deps = ["//metropolis/proto/common"],
 )
 
 # debug_build checks if we're building in debug mode and enables various debug features for the image.
diff --git a/metropolis/node/core/clusternet/wireguard.go b/metropolis/node/core/clusternet/wireguard.go
index 4c38c79..9d14b98 100644
--- a/metropolis/node/core/clusternet/wireguard.go
+++ b/metropolis/node/core/clusternet/wireguard.go
@@ -108,7 +108,7 @@
 	if err := netlink.RouteAdd(&netlink.Route{
 		Dst:       clusterNet,
 		LinkIndex: wgInterface.Index,
-		Protocol:  common.ProtocolClusternet,
+		Protocol:  netlink.RouteProtocol(common.ProtocolClusternet),
 	}); err != nil && !os.IsExist(err) {
 		return fmt.Errorf("when creating cluster route: %w", err)
 	}
diff --git a/metropolis/node/net_protocols.go b/metropolis/node/net_protocols.go
index ac43cbf..2e005fb 100644
--- a/metropolis/node/net_protocols.go
+++ b/metropolis/node/net_protocols.go
@@ -1,11 +1,9 @@
 package node
 
-import "github.com/vishvananda/netlink"
-
 // These are netlink protocol numbers used internally for various netlink
 // resource (e.g. route) owners/manager.
 const (
 	// ProtocolClusternet is used by //metropolis/node/core/clusternet when
 	// creating/removing routes pointing to the clusternet interface.
-	ProtocolClusternet netlink.RouteProtocol = 129
+	ProtocolClusternet int = 129
 )
diff --git a/metropolis/node/tools.go b/metropolis/node/tools/tools.go
similarity index 100%
rename from metropolis/node/tools.go
rename to metropolis/node/tools/tools.go