diff --git a/core/cmd/nanoswitch/BUILD b/core/cmd/nanoswitch/BUILD
index 92044e6..56417c5 100644
--- a/core/cmd/nanoswitch/BUILD
+++ b/core/cmd/nanoswitch/BUILD
@@ -10,7 +10,8 @@
         "//core/internal/common:go_default_library",
         "//core/internal/common/supervisor:go_default_library",
         "//core/internal/launch:go_default_library",
-        "//core/internal/network/dhcp:go_default_library",
+        "//core/pkg/dhcp4c:go_default_library",
+        "//core/pkg/dhcp4c/callback:go_default_library",
         "@com_github_google_nftables//:go_default_library",
         "@com_github_google_nftables//expr:go_default_library",
         "@com_github_insomniacslk_dhcp//dhcpv4:go_default_library",
diff --git a/core/cmd/nanoswitch/nanoswitch.go b/core/cmd/nanoswitch/nanoswitch.go
index edf69bc..2fe2a81 100644
--- a/core/cmd/nanoswitch/nanoswitch.go
+++ b/core/cmd/nanoswitch/nanoswitch.go
@@ -41,7 +41,8 @@
 	"git.monogon.dev/source/nexantic.git/core/internal/common"
 	"git.monogon.dev/source/nexantic.git/core/internal/common/supervisor"
 	"git.monogon.dev/source/nexantic.git/core/internal/launch"
-	"git.monogon.dev/source/nexantic.git/core/internal/network/dhcp"
+	"git.monogon.dev/source/nexantic.git/core/pkg/dhcp4c"
+	dhcpcb "git.monogon.dev/source/nexantic.git/core/pkg/dhcp4c/callback"
 )
 
 var switchIP = net.IP{10, 1, 0, 1}
@@ -52,7 +53,7 @@
 	reply.GatewayIPAddr = switchIP
 	reply.UpdateOption(dhcpv4.OptDNS(net.IPv4(10, 42, 0, 3))) // SLIRP fake DNS server
 	reply.UpdateOption(dhcpv4.OptRouter(switchIP))
-	reply.UpdateOption(dhcpv4.OptIPAddressLeaseTime(12 * time.Hour))
+	reply.UpdateOption(dhcpv4.OptIPAddressLeaseTime(30 * time.Second)) // Make sure we exercise our DHCP client in E2E tests
 	reply.UpdateOption(dhcpv4.OptSubnetMask(switchSubnetMask))
 }
 
@@ -88,7 +89,11 @@
 			case dhcpv4.MessageTypeRequest:
 				reply.UpdateOption(dhcpv4.OptMessageType(dhcpv4.MessageTypeAck))
 				defaultLeaseOptions(reply)
-				reply.YourIPAddr = m.RequestedIPAddress()
+				if m.RequestedIPAddress() != nil {
+					reply.YourIPAddr = m.RequestedIPAddress()
+				} else {
+					reply.YourIPAddr = m.ClientIPAddr
+				}
 			case dhcpv4.MessageTypeRelease, dhcpv4.MessageTypeDecline:
 				supervisor.Logger(ctx).Info("Ignoring Release/Decline")
 			}
@@ -264,19 +269,23 @@
 				panic(err)
 			}
 
-			dhcpClient := dhcp.New()
-			supervisor.Run(ctx, "dhcp-client", dhcpClient.Run(externalLink))
+			netIface := &net.Interface{
+				Name:         externalLink.Attrs().Name,
+				MTU:          externalLink.Attrs().MTU,
+				Index:        externalLink.Attrs().Index,
+				Flags:        externalLink.Attrs().Flags,
+				HardwareAddr: externalLink.Attrs().HardwareAddr,
+			}
+			dhcpClient, err := dhcp4c.NewClient(netIface)
+			if err != nil {
+				logger.Fatalf("Failed to create DHCP client: %v", err)
+			}
+			dhcpClient.RequestedOptions = []dhcpv4.OptionCode{dhcpv4.OptionRouter}
+			dhcpClient.LeaseCallback = dhcpcb.Compose(dhcpcb.ManageIP(externalLink), dhcpcb.ManageDefaultRoute(externalLink))
+			supervisor.Run(ctx, "dhcp-client", dhcpClient.Run)
 			if err := ioutil.WriteFile("/proc/sys/net/ipv4/ip_forward", []byte("1\n"), 0644); err != nil {
 				logger.Fatalf("Failed to write ip forwards: %v", err)
 			}
-			status, err := dhcpClient.Status(ctx, true)
-			if err != nil {
-				return err
-			}
-
-			if err := addNetworkRoutes(externalLink, status.Address, status.Gateway); err != nil {
-				return err
-			}
 		} else {
 			logger.Info("No upstream interface detected")
 		}
