From 390f44b3f95ccffb4dc9a16afc35c28e2cf7c81c Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 13 Jan 2012 23:23:58 +0000 Subject: [PATCH] [TCPIP] - Fix adding a static interface route svn path=/branches/wlan-bringup/; revision=54946 --- drivers/network/tcpip/datalink/lan.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/network/tcpip/datalink/lan.c b/drivers/network/tcpip/datalink/lan.c index 5ce367cff41..452f716c8ba 100644 --- a/drivers/network/tcpip/datalink/lan.c +++ b/drivers/network/tcpip/datalink/lan.c @@ -638,9 +638,6 @@ BOOLEAN ReadIpConfiguration(PIP_INTERFACE Interface) TRUE); AddrInitIPv4(&Interface->Unicast, inet_addr(RegistryDataA.Buffer)); - - if (!AddrIsUnspecified(&Interface->Unicast)) - IPAddInterfaceRoute(Interface); RtlFreeAnsiString(&RegistryDataA); } @@ -664,6 +661,13 @@ BOOLEAN ReadIpConfiguration(PIP_INTERFACE Interface) RtlFreeAnsiString(&RegistryDataA); } + /* We have to wait until both IP address and subnet mask + * are read to add the interface route, but we must do it + * before we add the default gateway */ + if (!AddrIsUnspecified(&Interface->Unicast) && + !AddrIsUnspecified(&Interface->Netmask)) + IPAddInterfaceRoute(Interface); + /* Read default gateway info */ Status = ZwQueryValueKey(ParameterHandle, &Gateway,