We have noticed that Windows seems to try to send ARP requests over Wintun interfaces.  In our configurations, these don't go anywhere and get no responses, but the ARP table fills up with addresses.  For example:

$  arp -a -N 10.0.0.100 |wc -l
387

Our Wintun interfaces are created with these properties:

PS C:\> Get-NetIPInterface -InterfaceIndex 69 |Select-Object -Property AddressFamily,NeighborDiscoverySupported,NeighborUnreachabilityDetection |fl

AddressFamily                   : IPv6
NeighborDiscoverySupported      : Yes
NeighborUnreachabilityDetection : Enabled

AddressFamily                   : IPv4
NeighborDiscoverySupported      : Yes
NeighborUnreachabilityDetection : Enabled

We _think_ that the NeighborDiscoverySupported property being Yes means that Windows issues ARP requests for addresses on the Wintun interface.  (The second property controls another neighbour behaviour that perhaps could also be disabled for Wintun interfaces.)

Microsoft's documentation for SetIpInterfaceEntry() claims that these properties are set "by the network stack", but offers no hint as to what part of the network stack does this.  It does not seem possible to change these properties on an existing interface.

Are these properties that either the Wintun driver or user-space API is able to control?  Should they be set to No and Disabled?  I don't see any use of the driver variant of SetIpInterfaceEntry() or MIB_IPINTERFACE_ROW in Wintun's driver or API code, so I'm not sure when these properties get determined.

--
Brad Spencer

Reply via email to