亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? io.c

?? Vitual Ring Routing 管你知不知道
?? C
?? 第 1 頁 / 共 5 頁
字號:
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil -*- (for GNU Emacs)
//
// (c) Microsoft Corporation. All rights reserved. 
//
// This file is part of the Microsoft Virtual Ring Routing distribution.
// You should have received a copy of the Microsoft Research Shared Source
// license agreement (MSR-SSLA) for this software; see the file "license.txt".
// If not, please see http://research.microsoft.com/vrr/license.htm,
// or write to Microsoft Research, One Microsoft Way, Redmond, WA 98052-6399.
//
// This file is derived from the Microsoft Research Mesh Connectivity Layer,
// available under the MSR-SSLA license, and downloadable from
// http://research.microsoft.com/mesh/.
//

#include "headers.h"

#define MIN(a, b) ((a) < (b) ? (a) : (b))

//* IoTimeDelta
//
//  Calculates a delta between interrupt time and system time.
//  We use interrupt time internally but we return system time
//  in our ioctls. So any absolute time values must be translated.
//
Time
IoTimeDelta(void)
{
    Time InterruptTime;
    Time SystemTime;

    InterruptTime = KeQueryInterruptTime();
    KeQuerySystemTime((LARGE_INTEGER *)&SystemTime);

    return SystemTime - InterruptTime;
}

//* IoCreate
//
//  Handles the IRP_MJ_CREATE request for the VRR device.
//
NTSTATUS
IoCreate(
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP Irp)
{
    UNREFERENCED_PARAMETER(DeviceObject);

    Irp->IoStatus.Status = STATUS_SUCCESS;
    IoCompleteRequest(Irp, IO_NETWORK_INCREMENT);
    return STATUS_SUCCESS;
}

//* IoCleanup
//
//  Handles the IRP_MJ_CLEANUP request for the VRR device.
//
NTSTATUS
IoCleanup(
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP Irp)
{
    UNREFERENCED_PARAMETER(DeviceObject);

    Irp->IoStatus.Status = STATUS_SUCCESS;
    IoCompleteRequest(Irp, IO_NETWORK_INCREMENT);
    return STATUS_SUCCESS;
}

//* IoClose
//
//  Handles the IRP_MJ_CLOSE request for the VRR device.
//
NTSTATUS
IoClose(
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP Irp)
{
    UNREFERENCED_PARAMETER(DeviceObject);

    Irp->IoStatus.Status = STATUS_SUCCESS;
    IoCompleteRequest(Irp, IO_NETWORK_INCREMENT);
    return STATUS_SUCCESS;
}

//* FindVirtualAdapterFromQuery
//
//  Given an VRR_QUERY_VIRTUAL_ADAPTER structure,
//  finds the specified virtual adapter.
//  The virtual adapter (if found) is returned with a reference.
//
MiniportAdapter *
FindVirtualAdapterFromQuery(
    VRR_QUERY_VIRTUAL_ADAPTER *Query)
{
    MiniportAdapter *VA;

    if (Query->Index == 0)
        VA = FindVirtualAdapterFromGuid(&Query->Guid);
    else
        VA = FindVirtualAdapterFromIndex(Query->Index);

    return VA;
}

//* ReturnQueryVirtualAdapter
//
//  Initializes a returned VRR_QUERY_VIRTUAL_ADAPTER structure
//  with query information for the specified virtual adapter.
//
void
ReturnQueryVirtualAdapter(
    MiniportAdapter *VA,
    VRR_QUERY_VIRTUAL_ADAPTER *Query)
{
    if (VA == NULL) {
        Query->Index = (uint)-1;
        RtlZeroMemory(&Query->Guid, sizeof Query->Guid);
    }
    else {
        Query->Index = VA->Index;
        Query->Guid = VA->Guid;
    }
}

//* IoQueryVirtualAdapter
//
//  Handles queries for information about a virtual adapter.
//
NTSTATUS
IoQueryVirtualAdapter(
    IN PIRP Irp,
    IN PIO_STACK_LOCATION IrpSp)
{
    VRR_QUERY_VIRTUAL_ADAPTER *Query;
    VRR_INFO_VIRTUAL_ADAPTER *Info;
    MiniportAdapter *VA;
    KIRQL OldIrql;
    NTSTATUS Status;

    Irp->IoStatus.Information = 0;

    if ((IrpSp->Parameters.DeviceIoControl.InputBufferLength != sizeof *Query) ||
        (IrpSp->Parameters.DeviceIoControl.OutputBufferLength < sizeof *Info)) {
        Status = STATUS_INVALID_PARAMETER;
        goto Return;
    }

    Query = (VRR_QUERY_VIRTUAL_ADAPTER *) Irp->AssociatedIrp.SystemBuffer;
    Info = (VRR_INFO_VIRTUAL_ADAPTER *) Irp->AssociatedIrp.SystemBuffer;

    if (Query->Index == (uint)-1) {
        //
        // Return query information for the first virtual adapter.
        //
        KeAcquireSpinLock(&MiniportAdapters.Lock, &OldIrql);
        ReturnQueryVirtualAdapter(MiniportAdapters.VirtualAdapters,
                                  &Info->Next);
        KeReleaseSpinLock(&MiniportAdapters.Lock, OldIrql);

        Irp->IoStatus.Information = sizeof Info->Next;
    }
    else {
        //
        // Return information about the specified virtual adapter.
        //
        VA = FindVirtualAdapterFromQuery(Query);
        if (VA == NULL) {
            Status = STATUS_INVALID_PARAMETER_1;
            goto Return;
        }

        //
        // Return query information for the next virtual adapter.
        //
        KeAcquireSpinLock(&MiniportAdapters.Lock, &OldIrql);
        ReturnQueryVirtualAdapter(VA->Next, &Info->Next);
        KeReleaseSpinLock(&MiniportAdapters.Lock, OldIrql);

        //
        // Return miscellaneous information about the virtual adapter.
        //
        ReturnQueryVirtualAdapter(VA, &Info->This);
        Info->Version = Version;
        Info->MinVersionSeen = VA->MinVersionSeen;
        Info->MaxVersionSeen = VA->MaxVersionSeen;
        RtlCopyMemory(Info->Address, VA->Address, sizeof(VirtualAddress));
        Info->LookAhead = VA->LookAhead;
        Info->Snooping = VA->Snooping;
        Info->ArtificialDrop = VA->ArtificialDrop;
        Info->MetricType = VA->MetricType; 

        Info->Crypto = VA->Crypto;
        RtlCopyMemory(Info->CryptoKeyMAC, VA->CryptoKeyMAC,
                      sizeof Info->CryptoKeyMAC);
#if BUILD_CRYPTO // DDK
        CryptoKeyMACModify(VA, Info->CryptoKeyMAC);
#endif
        RtlCopyMemory(Info->CryptoKeyAES, VA->CryptoKeyAES,
                      sizeof Info->CryptoKeyAES);

        Info->LinkTimeout = (uint)(VA->LinkTimeout / SECOND);

        Info->TotalForwardingStall = VA->TotalForwardingStall;
        Info->ForwardNum = VA->ForwardNum;
        Info->ForwardMax = VA->ForwardMax;
        Info->CountForwardFast = VA->CountForwardFast;
        Info->CountForwardQueue = VA->CountForwardQueue;
        Info->CountForwardDrop = VA->CountForwardDrop;

        Info->DriverInitialized = IsDriverInitialized(VA);
        Info->DriverActive = IsDriverActive(VA);
        Info->VrrAPIJoined = VA->VrrAPIJoined;
        Info->JoiningOnHold = IsJoiningOnHold(VA);
        Info->PartitionRepairEnabled = IsPartitionRepairEnabled(VA);
        Info->BroadcastRelay = IsBroadcastRelay(VA);
        Info->BroadcastJitterMinMs = VA->BroadcastJitterMinMs;
        Info->BroadcastJitterMaxMs = VA->BroadcastJitterMaxMs;
        Info->TxDropAllButHello = VA->TxDropAllButHello;
        Info->TxDropAllHello = VA->TxDropAllHello;
        Info->BroadcastRelay = IsBroadcastRelay(VA);
        Info->VrrTraceNoiseLevel = VA->VrrTraceNoiseLevel;
        Info->MsJoinToHeardExpectedVSet = VA->MsJoinToHeardExpectedVSet;
        Info->MsJoinToPathsExpectedVSet = VA->MsJoinToPathsExpectedVSet;

        RtlCopyMemory(Info->ExpectedVSet,VA->ExpectedVSet,sizeof(VirtualAddress)*VRR_MAX_VSET_SIZE);
        RtlCopyMemory(Info->AddErrorVSet,VA->AddErrorVSet,sizeof(uint)*VRR_MAX_VSET_SIZE);
        RtlCopyMemory(Info->RejExpBypass,VA->RejExpBypass,sizeof(uint)*REJ_EXP_BYPASS_COUNT);
        Info->TestExpectedVSet = VA->TestExpectedVSet;

        RtlZeroMemory(Info->CurrentVSet, sizeof(VirtualAddress) * VRR_MAX_VSET_SIZE);
        KeAcquireSpinLock(&VA->NT.Lock, &OldIrql);
        Info->VSetIsComplete = VSetIsComplete(VA);
        VSetToFlatBuffer(VA,Info->CurrentVSet + VRR_WING_SIZE - VA->NT.CountLeft); 
        KeReleaseSpinLock(&VA->NT.Lock, OldIrql);

        RtlZeroMemory(Info->RoutesVSet, sizeof(VirtualAddress) * VRR_MAX_VSET_SIZE);
        KeAcquireSpinLock(&VA->RT.Lock, &OldIrql);
        {
            int i;
            for (i=0; i < VRR_MAX_VSET_SIZE; i++) {
                if (i == VRR_WING_SIZE)
                    RtlCopyMemory(Info->RoutesVSet[i],VA->Address,sizeof(VirtualAddress));
                else if (FindVSetRoute(VA,VA->Address,Info->CurrentVSet[i]) != NULL)
                    RtlCopyMemory(Info->RoutesVSet[i],Info->CurrentVSet[i],sizeof(VirtualAddress));
            }
        }
        KeReleaseSpinLock(&VA->RT.Lock, OldIrql);

        switch (VA->MetricType) {
        case METRIC_TYPE_PKTPAIR:
            Info->MetricParams.PktPair.Alpha = VA->MetricParams.PktPair.Alpha; 
            Info->MetricParams.PktPair.PenaltyFactor = VA->MetricParams.PktPair.PenaltyFactor; 
            Info->MetricParams.PktPair.ProbePeriod = VA->MetricParams.PktPair.ProbePeriod; 
            break;
        case METRIC_TYPE_WCETT:
            Info->MetricParams.Wcett.ProbePeriod = VA->MetricParams.Wcett.ProbePeriod; 
            Info->MetricParams.Wcett.LossInterval = VA->MetricParams.Wcett.LossInterval; 
            Info->MetricParams.Wcett.Alpha = VA->MetricParams.Wcett.Alpha; 
            Info->MetricParams.Wcett.PenaltyFactor = VA->MetricParams.Wcett.PenaltyFactor; 
            Info->MetricParams.Wcett.Beta = VA->MetricParams.Wcett.Beta;
            Info->MetricParams.Wcett.PktPairProbePeriod = VA->MetricParams.Wcett.PktPairProbePeriod;
            Info->MetricParams.Wcett.PktPairMinOverProbes = VA->MetricParams.Wcett.PktPairMinOverProbes;
            break;
        }

        Info->CountPacketPoolFailure = VA->CountPacketPoolFailure;

        Info->TimeoutMinLoops = VA->TimeoutMinLoops;
        Info->TimeoutMaxLoops = VA->TimeoutMaxLoops;

        Info->RateAdmitThreshold = VA->RateAdmitThreshold;
        Info->RateEvictThreshold = VA->RateEvictThreshold;

        Info->RssiAdmitThreshold = VA->RssiAdmitThreshold;
        Info->RssiEvictThreshold = VA->RssiEvictThreshold;

        Info->PbackAckMaxDupTime = VA->PCache.AckMaxDupTime;
        Info->PbackNumber = VA->PCache.Number;
        Info->PbackHighWater = VA->PCache.HighWater;

        Info->MaintBufNumPackets = VA->MaintBuf->NumPackets;
        Info->MaintBufHighWater = VA->MaintBuf->HighWater;

        Info->CountPbackReply = VA->PCache.CountPbackReply;
        Info->CountAloneReply = VA->PCache.CountAloneReply;
        Info->CountPbackError = VA->PCache.CountPbackError;
        Info->CountAloneError = VA->PCache.CountAloneError;
        Info->CountPbackInfo = VA->PCache.CountPbackInfo;
        Info->CountAloneInfo = VA->PCache.CountAloneInfo;

        Info->CountSRNackSeqT = VA->CountSRNackSeqT;
        Info->CountExitRing = VA->CountExitRing;
        Info->CountExitExecCmd = VA->CountExitExecCmd;
        Info->CountExitNCE = VA->CountExitNCE;
        Info->CountExitNTE = VA->CountExitNTE;
        Info->CountSetActiveT = VA->CountSetActiveT;
        Info->CountSetActiveF = VA->CountSetActiveF;
        Info->CountMaxPLE = VA->CountMaxPLE;
        Info->BootNode = VA->BootNode;
        Info->MaxMsgTimeDelay = VA->MaxMsgTimeDelay;
        Info->MaxMsgCountDelayed = VA->MaxMsgCountDelayed;
        Info->CountMsQDropCritical = VA->CountMsQDropCritical;
        Info->CountPnRepairSendSetup = VA->CountPnRepairSendSetup;
        Info->CountHopCountExceeded = VA->CountHopCountExceeded;
        Info->CountNTECloserThanSelf = VA->CountNTECloserThanSelf;
        Info->CountXmit = VA->CountXmit;
        Info->CountXmitLocally = VA->CountXmitLocally;
        Info->CountXmitQueueFull = VA->CountXmitQueueFull;
        Info->CountRexmitQueueFull = VA->CountRexmitQueueFull;
        Info->CountXmitNoRoute = VA->CountXmitNoRoute;
        Info->CountXmitMulticast = VA->CountXmitMulticast;
        Info->CountXmitMaintBuf = VA->CountXmitMaintBuf;
        Info->CountXmitForwardUnicast = VA->CountXmitForwardUnicast;
        Info->CountXmitForwardQueueFull = VA->CountXmitForwardQueueFull;
        Info->CountXmitForwardBroadcast = VA->CountXmitForwardBroadcast;
        Info->CountXmitProbe = VA->CountXmitProbe;
        Info->CountXmitProbeReply = VA->CountXmitProbeReply;

        Info->CountSendHello = VA->CountSendHello;
        Info->CountSendSetup = VA->CountSendSetup;
        Info->CountSendTearDown = VA->CountSendTearDown;
        Info->CountSendSetupReq = VA->CountSendSetupReq;
        Info->CountSendSetupReqNack = VA->CountSendSetupReqNack;
        Info->CountFwdSetup = VA->CountFwdSetup;
        Info->CountFwdTearDown = VA->CountFwdTearDown;
        Info->CountFwdSetupReq = VA->CountFwdSetupReq;
        Info->CountMisroutedSetup = VA->CountMisroutedSetup;
        Info->CountMisroutedSetupReq = VA->CountMisroutedSetupReq;
        Info->CountMisroutedTearDown = VA->CountMisroutedTearDown;
        Info->CountSRDropHopCount = VA->CountSRDropHopCount;
        Info->CountSRDropLoop = VA->CountSRDropLoop;
        Info->MaxPLESRcAntiRoute = VA->MaxPLESRcAntiRoute;
        Info->MaxPLESRcAntiRouteRcv = VA->MaxPLESRcAntiRouteRcv;
        Info->CountFNHSRcAntiRoute = VA->CountFNHSRcAntiRoute;
        Info->CountFNHsendSRleft = VA->CountFNHsendSRleft;
        Info->CountFNHsendSRright = VA->CountFNHsendSRright;

        Info->CountRecv = VA->CountRecv;
        Info->CountRecvLocallySalvaged = VA->CountRecvLocallySalvaged;
        Info->CountRecvLocally = VA->CountRecvLocally;
        Info->CountRecvBadMAC = VA->CountRecvBadMAC;
        Info->CountRecvAckRequest = VA->CountRecvAckRequest;
        Info->CountRecvAck = VA->CountRecvAck;
        Info->CountRecvDupAckReq = VA->CountRecvDupAckReq;
        Info->CountRecvProbe = VA->CountRecvProbe;
        Info->CountRecvProbeReply = VA->CountRecvProbeReply;
        Info->CountRecvHello = VA->CountRecvHello;
        Info->CountRecvSetup = VA->CountRecvSetup;
        Info->CountRecvTearDown = VA->CountRecvTearDown;
        Info->CountRecvSetupReq = VA->CountRecvSetupReq;
        Info->CountRecvSRleft = VA->CountRecvSRleft;
        Info->CountRecvSRright = VA->CountRecvSRright;
        Info->CountGenSRleft = VA->CountGenSRleft;
        Info->CountGenSRright = VA->CountGenSRright;
        Info->CountRecvRecursive = VA->CountRecvRecursive;
        Info->CountRecvEmpty = VA->CountRecvEmpty;
        Info->CountRecvSmall = VA->CountRecvSmall;
        Info->CountRecvDecryptFailure = VA->CountRecvDecryptFailure;
        Info->NDISPacketPoolUsage = NdisPacketPoolUsage(VA->PacketPool);
#if 0
        ReleaseVA(VA);
#endif

        Irp->IoStatus.Information = sizeof *Info;
    }

    Status = STATUS_SUCCESS;
Return:
    Irp->IoStatus.Status = Status;
    IoCompleteRequest(Irp, IO_NO_INCREMENT);

    return Status;
}

//* FindPhysicalAdapterFromQuery
//
//  Given an VRR_QUERY_PHYSICAL_ADAPTER structure,
//  finds the specified virtual adapter.
//  The virtual adapter (if found) is returned with a reference.
//
ProtocolAdapter *
FindPhysicalAdapterFromQuery(

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲va韩国va欧美va精品 | 26uuu久久天堂性欧美| 欧美亚洲一区二区三区四区| 91年精品国产| 在线一区二区三区四区| 在线影视一区二区三区| 欧美三区免费完整视频在线观看| 91蝌蚪porny九色| 欧美日韩国产精选| 日韩欧美国产高清| 国产亚洲欧美日韩在线一区| 欧美激情综合五月色丁香小说| 中文字幕亚洲视频| 亚洲国产精品一区二区尤物区| 麻豆传媒一区二区三区| 国精产品一区一区三区mba桃花| 成人av片在线观看| 欧美精品在线观看播放| 国产精品久久精品日日| 亚洲一级二级三级| 国产精品综合av一区二区国产馆| 91视频精品在这里| 欧美一级黄色录像| 亚洲图片欧美色图| 国产一区欧美一区| 欧美日韩一区二区在线视频| 久久免费美女视频| 性做久久久久久久久| 成人污视频在线观看| 欧美一级一级性生活免费录像| 欧美喷潮久久久xxxxx| 日韩一级片在线播放| 亚洲午夜久久久久久久久电影院| 国内国产精品久久| 精品噜噜噜噜久久久久久久久试看 | 成人黄色av网站在线| 精品国产一二三区| 免费高清在线视频一区·| 欧美日韩亚洲综合一区| 亚洲精品老司机| 成人av影视在线观看| 国产精品丝袜一区| 国产黄色精品网站| 国产精品超碰97尤物18| 99国产欧美另类久久久精品| 国产亚洲一本大道中文在线| 成人一区二区在线观看| 国产精品热久久久久夜色精品三区| 国产精品综合久久| 中文字幕一区免费在线观看| 91麻豆免费观看| 亚洲影视在线观看| 欧美一区二区三区系列电影| 国产在线不卡一卡二卡三卡四卡| 国产亚洲欧美一区在线观看| 99久久精品情趣| 午夜精品久久久| 欧美精品一区二区三区四区| 国产91丝袜在线播放九色| 亚洲欧美乱综合| 日韩小视频在线观看专区| 丁香婷婷综合五月| 日日夜夜精品视频天天综合网| 精品sm捆绑视频| 在线观看成人免费视频| 久久99国产乱子伦精品免费| 国产精品卡一卡二卡三| 91视频国产资源| 18成人在线视频| 日韩欧美在线一区二区三区| 国产在线视频精品一区| 亚洲成av人在线观看| 亚洲午夜精品17c| 国产精品理论片| 2024国产精品视频| 欧美疯狂做受xxxx富婆| 色综合久久久久久久久久久| 精品一区二区三区免费播放| 国产91在线看| 国产在线精品视频| 极品美女销魂一区二区三区 | 国产一区二区三区黄视频| 亚洲一区二区精品久久av| 亚洲视频香蕉人妖| 亚洲免费av在线| 亚洲乱码国产乱码精品精小说| 国产情人综合久久777777| 久久午夜老司机| 国产欧美一区二区三区在线看蜜臀| 久久综合九色欧美综合狠狠| 精品国产制服丝袜高跟| 久久久精品综合| 国产精品久久久久精k8| 亚洲激情欧美激情| 亚洲电影中文字幕在线观看| 亚洲国产精品一区二区www在线| 一区二区久久久| 捆绑调教美女网站视频一区| 狠狠狠色丁香婷婷综合激情| 国产aⅴ精品一区二区三区色成熟| 粉嫩av一区二区三区在线播放| 91视频在线看| 欧美男男青年gay1069videost| 欧美成人一区二区| 一区二区中文字幕在线| 天天色 色综合| 国产成a人亚洲精| 这里是久久伊人| 国产精品传媒入口麻豆| 国产乱妇无码大片在线观看| 欧美性猛交一区二区三区精品| 成人性生交大片免费看在线播放| 成人国产一区二区三区精品| 91精品免费观看| 亚洲欧美日韩小说| 国产mv日韩mv欧美| 日韩欧美一卡二卡| 天天影视涩香欲综合网| 成a人片国产精品| 26uuu久久天堂性欧美| 午夜成人免费视频| 在线免费观看一区| 国产精品灌醉下药二区| 国产精品自拍网站| 日韩精品一区二区三区视频| 亚洲福利视频一区| 色综合久久天天综合网| 久久久精品免费网站| 另类小说色综合网站| 欧美刺激脚交jootjob| 视频一区二区国产| 欧美老肥妇做.爰bbww| 亚洲国产精品久久一线不卡| 色婷婷av一区二区三区软件| 亚洲女厕所小便bbb| 色狠狠av一区二区三区| 亚洲一区二区三区四区在线| 精品婷婷伊人一区三区三| 亚洲视频狠狠干| 欧美日韩视频第一区| 视频一区视频二区中文| 日韩免费观看2025年上映的电影| 精品在线播放免费| 国产丝袜欧美中文另类| 91国偷自产一区二区使用方法| 日本午夜一本久久久综合| 日韩一区二区免费在线电影| 韩国视频一区二区| 亚洲日本乱码在线观看| 欧美一区二区三区在线看| 国产白丝精品91爽爽久久 | 毛片不卡一区二区| 久久久精品日韩欧美| 欧美综合视频在线观看| 韩国av一区二区| 亚洲精品菠萝久久久久久久| 久久亚洲精精品中文字幕早川悠里| 成人h动漫精品一区二区| 中文字幕日本不卡| 成人av一区二区三区| 亚洲超碰97人人做人人爱| 中文字幕国产一区二区| 欧美一区二区三区视频免费播放| 国产成人日日夜夜| 美女一区二区三区在线观看| 一区二区三区自拍| 国产欧美一区二区三区网站| 日韩视频免费观看高清在线视频| 91免费看`日韩一区二区| 国产成人免费视频一区| 久久精品理论片| 美女爽到高潮91| 久久99国产精品免费网站| 日韩中文字幕麻豆| 天天av天天翘天天综合网色鬼国产| 亚洲欧美偷拍三级| 亚洲欧美一区二区三区久本道91| 国产精品三级av在线播放| 久久综合久久鬼色中文字| 日韩久久精品一区| 精品国产成人在线影院 | 麻豆精品新av中文字幕| 蜜乳av一区二区三区| 精品综合久久久久久8888| 精品一区二区三区香蕉蜜桃| 精品一区免费av| 国产成人综合精品三级| 粉嫩高潮美女一区二区三区| 91欧美一区二区| 欧美日韩国产电影| 国产午夜精品一区二区三区嫩草| 日本一区二区视频在线| 亚洲免费观看高清在线观看| 日韩avvvv在线播放| 粉嫩aⅴ一区二区三区四区五区| 97精品视频在线观看自产线路二| 欧美日韩免费一区二区三区 | 免费欧美在线视频| 99热精品国产| 久久九九影视网|