Help and Support

The "IF_TYPE_PPP" interface type is incorrectly returned by the remote access service when the remote access service establishes a VPN tunnel interface in Windows Vista

Article ID:928906
Last Review:March 15, 2007
Revision:1.3

SYMPTOMS

When you create an application to establish a virtual private network (VPN) tunnel in Windows Vista, the value that is returned by an API function is not what you expect. The remote access service incorrectly registers the VPN tunnel as an "IF_TYPE_PPP" Network Driver Interface Specification (NDIS) network interface type.

Back to the top

CAUSE

This problem occurs because the remote access service incorrectly registers a Point-to-Point Protocol (PPP) network interface and a VPN tunnel interface with the value of the "IF_TYPE_PPP" Network Driver Interface Specification (NDIS) network interface type.

Back to the top

WORKAROUND

To differentiate between a PPP interface and a tunnel interface, use a RASENTRY data structure. To use a RASENTRY data structure to obtain the remote access interface type, follow these steps:
1.Use the RasEnumConnections function to list all active remote access connections.

Note The RasEnumConnections function returns a RASCONN structure for each remote access connection. The RASCONN structure contains the szEntryName member. The value of the szEntryName member specifies the phone book entry that is used to establish the remote access connection.
2.Use the RasGetEntryProperties function to retrieve the properties of the phone book entry that the szEntryName member specifies.

Note The connection properties are stored in the RASENTRY data structure.
3. If the value of the szDeviceType member equals RASDT_Vpn, the remote access connection is a VPN tunnel connection. For all other values, the remote access connection is a dial-up/Point-to-Point Protocol over Ethernet (PPPoE) connection. These other values include the following:
RASDT_Modem
RASDT_Direct


Note The RASENTRY structure contains the szDeviceType member. The value of the szDeviceType member specifies the remote access device type.

Back to the top

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Back to the top

MORE INFORMATION

The ifType value is used to store the NDIS network interface type. Examples of network interface types include the following:
Ethernet
Token Ring
PPP
VPN tunnel mode
The ifType value is a member of the data structures of the network stack. Also, the ifType value is a member of many APIs.

The Internet Assigned Numbers Authority (IANA) has defined and standardized the values of the different NDIS network interface types. The IANA standard includes the following type definitions.
TypeValue
PPP network interfaceIF_TYPE_PPP (23)
VPN tunnel type encapsulation network interfaceIF_TYPE_TUNNEL (131)
By default, when the remote access service creates a PPP network interface or a VPN tunnel interface in Windows Vista, both interface types are registered in the network stack. This occurs by using the IF_TYPE_PPP value. Functions that use the ifType value return the same ifType value for both a PPP interface and a tunnel interface.

Examples of functions that use the ifType value include the following:
GetAdaptersAddresses
GetAdaptersInfo
You cannot determine whether an interface is a PPP type or a tunnel type by using only the ifType value. This problem occurs whenever a remote access connection is created.

Back to the top


APPLIES TO
Windows Vista Enterprise 64-bit Edition
Windows Vista Home Basic 64-bit Edition
Windows Vista Home Premium 64-bit Edition
Windows Vista Ultimate 64-bit Edition
Windows Vista Business
Windows Vista Business 64-bit Edition
Windows Vista Enterprise
Windows Vista Home Basic
Windows Vista Home Premium
Windows Vista Starter
Windows Vista Ultimate

Back to the top

Keywords: 
kbbug kbndis kbnetworkconnectivity kbnetwork kbexpertiseadvanced kbtshoot KB928906

Back to the top

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.