- Don't set AT_ARP for the loopback interface

- Remove hacks in iphlpapi that hid this bug

svn path=/trunk/; revision=43636
This commit is contained in:
Cameron Gutman 2009-10-20 03:54:27 +00:00
parent 5635553281
commit 6f08578e3c
2 changed files with 3 additions and 5 deletions

View file

@ -513,8 +513,7 @@ DWORD getNumArpEntries(void)
for( i = 0; i < numEntities; i++ ) {
if( isInterface( &entitySet[i] ) &&
hasArp( tcpFile, &entitySet[i] ) &&
!isLoopback( tcpFile, &entitySet[i] ) ) {
hasArp( tcpFile, &entitySet[i] ) ) {
status = tdiGetSetOfThings( tcpFile,
INFO_CLASS_PROTOCOL,
@ -574,8 +573,7 @@ PMIB_IPNETTABLE getArpTable(void)
for( i = 0; i < numEntities; i++ ) {
if( isInterface( &entitySet[i] ) &&
hasArp( tcpFile, &entitySet[i] ) &&
!isLoopback( tcpFile, &entitySet[i] ) ) {
hasArp( tcpFile, &entitySet[i] ) ) {
status = tdiGetSetOfThings( tcpFile,
INFO_CLASS_PROTOCOL,

View file

@ -197,7 +197,7 @@ VOID InsertTDIInterfaceEntity( PIP_INTERFACE Interface ) {
EntityList[EntityCount].tei_entity = AT_ENTITY;
EntityList[EntityCount].tei_instance = ATCount;
EntityList[EntityCount].context = Interface;
EntityList[EntityCount].flags = AT_ARP;
EntityList[EntityCount].flags = (Interface != Loopback) ? AT_ARP : AT_NULL;
EntityCount++;
TcpipReleaseSpinLock( &EntityListLock, OldIrql );