m/n/c/network: do not refetch interface metadata

We can use netlinkLinkToNetInterface to do this without an IO operation.

Change-Id: I9e01c5b05633b3dc45820370a72ed9343bfcea29
Reviewed-on: https://review.monogon.dev/c/monogon/+/3114
Reviewed-by: Serge Bazanski <serge@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/core/network/main.go b/metropolis/node/core/network/main.go
index b40bc98..cc57aa5 100644
--- a/metropolis/node/core/network/main.go
+++ b/metropolis/node/core/network/main.go
@@ -154,11 +154,8 @@
 }
 
 func (s *Service) useInterface(ctx context.Context, iface netlink.Link) error {
-	netIface, err := net.InterfaceByIndex(iface.Attrs().Index)
-	if err != nil {
-		return fmt.Errorf("cannot create Go net.Interface from netlink.Link: %w", err)
-	}
-	s.dhcp, err = dhcp4c.NewClient(netIface)
+	var err error
+	s.dhcp, err = dhcp4c.NewClient(netlinkLinkToNetInterface(iface))
 	if err != nil {
 		return fmt.Errorf("failed to create DHCP client on interface %v: %w", iface.Attrs().Name, err)
 	}