m/node: move clusternet under network

Move the clusternet network side under the core/network umbrella and
rename it to overlay. Also split out types.go into the ipam package
to get the overlay package out of a lot of dependents which only import
it for the Prefixes type which should be part of the ipam package.

This is a clean move with no functional changes intended yet, these
will be stacked on top.

Change-Id: I6a6a6964af9d608f9ec3bf75b386c010cfff1df4
Reviewed-on: https://review.monogon.dev/c/monogon/+/4500
Tested-by: Jenkins CI
Reviewed-by: Jan Schär <jan@monogon.tech>
diff --git a/metropolis/node/net_protocols.go b/metropolis/node/net_protocols.go
index f3e69b8..c4c3f64 100644
--- a/metropolis/node/net_protocols.go
+++ b/metropolis/node/net_protocols.go
@@ -6,9 +6,9 @@
 // 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 int = 129
+	// ProtocolOverlay is used by //metropolis/node/core/network/overlay
+	// when creating/removing routes pointing to the overlay interface.
+	ProtocolOverlay int = 129
 )
 
 // Netlink link groups used for interface classification and traffic matching.
@@ -16,7 +16,7 @@
 	// LinkGroupK8sPod is set on all host side PtP interfaces going to K8s
 	// pods.
 	LinkGroupK8sPod uint32 = 8
-	// LinkGroupClusternet is set on all interfaces not needing SNAT from the
-	// K8s internal IPs.
-	LinkGroupClusternet uint32 = 9
+	// LinkGroupOverlay is set on all interfaces which are part of the overlay
+	// network and thus exempt from SNATing of workload traffic.
+	LinkGroupOverlay uint32 = 9
 )