VirtualBox

Changeset 29643 in vbox


Ignore:
Timestamp:
May 18, 2010 3:26:50 PM (14 years ago)
Author:
vboxsync
Message:

netflt/win: always set no-loopback flag for intnet->wire packets to prevent ndis misbehave

Location:
trunk/src/VBox/HostDrivers/VBoxNetFlt/win
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.c

    r29616 r29643  
    115115INIT_IDC_INFO g_InitIdcInfo;
    116116
    117 #ifdef VBOX_LOOPBACK_USEFLAGS
    118117UINT g_fPacketDontLoopBack;
    119118UINT g_fPacketIsLoopedBack;
    120 #endif
    121119
    122120#define LIST_ENTRY_2_JOB(pListEntry) \
     
    19481946    NDIS_STATUS                        Status = NDIS_STATUS_SUCCESS;
    19491947    int rc;
    1950 #ifdef VBOX_LOOPBACK_USEFLAGS
    19511948    ULONG MjVersion;
    19521949    ULONG MnVersion;
    1953 #endif
    19541950
    19551951    NdisAllocateSpinLock(&g_GlobalLock);
     
    19671963    if(RT_SUCCESS(rc))
    19681964    {
    1969 #ifdef VBOX_LOOPBACK_USEFLAGS
    19701965        PsGetVersion(&MjVersion, &MnVersion,
    19711966          NULL, /* PULONG  BuildNumber  OPTIONAL */
     
    19821977
    19831978        g_fPacketIsLoopedBack = NDIS_FLAGS_IS_LOOPBACK_PACKET;
    1984 #endif
    19851979
    19861980        Status = vboxNetFltWinJobInitQueue(&g_JobQueue);
     
    34793473            NDIS_STATUS fStatus;
    34803474
     3475#ifndef VBOX_LOOPBACK_USEFLAGS
     3476            /* force "don't loopback" flags to prevent loopback branch invocation in any case
     3477             * to avoid ndis misbehave */
     3478            NdisGetPacketFlags(pPacket) |= g_fPacketDontLoopBack;
     3479#else
     3480            /* this is done by default in vboxNetFltWinNdisPacketFromSG */
     3481#endif
     3482
    34813483#if defined(DEBUG_NETFLT_PACKETS) || !defined(VBOX_LOOPBACK_USEFLAGS)
    34823484            vboxNetFltWinLbPutSendPacket(pAdapt, pPacket, true /* bFromIntNet */);
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.h

    r29616 r29643  
    3030extern NDIS_SPIN_LOCK     g_GlobalLock;
    3131
    32 #ifdef VBOX_LOOPBACK_USEFLAGS
    3332extern UINT g_fPacketDontLoopBack;
    3433extern UINT g_fPacketIsLoopedBack;
    35 #endif
    3634
    3735/*
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFltCommon-win.h

    r29108 r29643  
    470470C_ASSERT(sizeof(UINT) == sizeof(uint32_t));
    471471
    472 #ifdef VBOX_LOOPBACK_USEFLAGS
    473472#define NDIS_FLAGS_SKIP_LOOPBACK_W2K    0x400
    474 #endif
    475473
    476474#include "../VBoxNetFltInternal.h"
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette