// Initialize the packet adapter bool VLanPaInit(SESSION *s) { VLAN *v; // Validate arguments if ((s == NULL)/* || (s->ServerMode != false) || (s->ClientOption == NULL)*/) { return false; } // Get the IP address of the DNS server at the time just before the connection if (s->ClientModeAndUseVLan) { Zero(&s->DefaultDns, sizeof(IP)); GetDefaultDns(&s->DefaultDns); } // Normalize the setting of interface metric of the default gateway if (s->ClientModeAndUseVLan) { if (MsIsVista()) { MsNormalizeInterfaceDefaultGatewaySettings(VLAN_ADAPTER_NAME_TAG, s->ClientOption->DeviceName); MsNormalizeInterfaceDefaultGatewaySettings(VLAN_ADAPTER_NAME_TAG_OLD, s->ClientOption->DeviceName); } } // Connect to the driver v = NewVLan(s->ClientOption->DeviceName, NULL); if (v == NULL) { // Failure return false; } s->PacketAdapter->Param = v; // Routing table tracking start if (s->ClientModeAndUseVLan) { RouteTrackingStart(s); } return true; }
// PA initialization bool VLanPaInit(SESSION *s) { VLAN *v; // Validate arguments if (s == NULL) { return false; } // Connect to the driver v = NewVLan(s->ClientOption->DeviceName, NULL); if (v == NULL) { // Failure return false; } s->PacketAdapter->Param = v; return true; }