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

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

?? ipv4.c

?? Vitual Ring Routing 管你知不知道
?? C
字號:
// -*- 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 contains procedures for supporting IPv4 over VRR.
//

#include "headers.h"
#include <packon.h>
#include <ipexport.h>

extern void
MiniportTransmitPacket(
    MiniportAdapter *VA,
    NDIS_PACKET *Packet);

extern void
MiniportFreePacket(
    ProtocolAdapter *PA,
    NDIS_PACKET *Packet);

extern void
MiniportReceiveLocally(
    MiniportAdapter *VA,
    SRPacket *srp,
    void (*Complete)(MiniportAdapter *VA, SRPacket *srp, NDIS_STATUS Status));

extern void
MiniportReceiveComplete(
    MiniportAdapter *VA,
    SRPacket *srp,
    NDIS_STATUS Status);

// Forward declaration.
boolint
IPv6FakeDHTtxNA(
    MiniportAdapter *VA,
    IPv6Addr SolicitSource);



#define ETYPE_IPv6 0x86dd
// gregos: these so we can snip types from ipv6 header files.
typedef unsigned char   u_char;
typedef unsigned short  u_short;
typedef unsigned int    u_int;
typedef unsigned long   u_long;
typedef unsigned char   uchar;
typedef unsigned short  ushort;
typedef unsigned long   ulong;
typedef struct in6_addr in6_addr;

//
// Ref arpdef.h
// Ref ip.h for struct IPv4 header.
//
typedef struct ARPHeader {
    ushort      HardwareType;
    ushort      ProtoType;
    uchar       HWAddrLen;
    uchar       ProtoAddrLen;
    ushort      Opcode;
    uchar       SrcHWAddr[IEEE_802_ADDR_LENGTH];
    IPAddr      SrcProtoAddr;
    uchar       DestHWAddr[IEEE_802_ADDR_LENGTH];
    IPAddr      DestProtoAddr;
} ARPHeader;

#define ETYPE_IP            0x800                 // This in network byte order.
#define ETYPE_ARP           0x806                 // This in network byte order.
#define ARP_OPCODE_REQUEST  1
#define ARP_HW_TYPE_ETH     1
#define ARP_HW_TYPE_802     6

//* IPv4TrapOutboundARPRequest
//
// ARP is handled by a DHT application, in support of which we
// trap outbound ARP requests, send them via upcall to VRR API,
// and drop the original packet.
//
boolint
IPv4TrapOutboundARPRequest(
    MiniportAdapter *VA,
    NDIS_PACKET *Packet,
    EtherHeader *eth)
{
    char *BufferAddress;
    uint BufferLength;
    uint PacketLength;
    NDIS_BUFFER *Buffer;
    char *FlatBuffer;
    const uint MinPacketLength = sizeof(EtherHeader)
                               + sizeof(ARPHeader);
    EtherHeader UNALIGNED *FlatEth;
    ARPHeader UNALIGNED *ARP;
    uint Result = FALSE;

    //
    // Low cost check that this ought to be an ARP packet.
    //
    if (RtlUshortByteSwap(eth->Type) != ETYPE_ARP)
        return FALSE;

    //
    // More thorough checking that this is ARP request.
    //
    Buffer = NdisFirstBuffer(Packet);
    NdisQueryBuffer(Buffer, &BufferAddress, &BufferLength);
    NdisQueryPacketLength(Packet, &PacketLength);

    if (PacketLength < MinPacketLength)
        return FALSE;

    //
    // Construct a local flat buffer from (multiple) buffers.
    //
    FlatBuffer = AllocFlatBuffer(Packet,PacketLength);

    if (FlatBuffer == NULL)
        return FALSE;

    FlatEth = (EtherHeader UNALIGNED *)FlatBuffer;
    ARP = (ARPHeader UNALIGNED *)(FlatEth + 1);

    if (RtlUshortByteSwap(ARP->HardwareType) != ARP_HW_TYPE_ETH && 
        RtlUshortByteSwap(ARP->HardwareType) != ARP_HW_TYPE_802)
        goto ReleaseAndReturn;

    if (RtlUshortByteSwap(ARP->ProtoType) != ETYPE_IP ||
        ARP->HWAddrLen != sizeof(PhysicalAddress) ||
        ARP->ProtoAddrLen != sizeof(IPAddr) ||
        RtlUshortByteSwap(ARP->Opcode) != ARP_OPCODE_REQUEST)
        goto ReleaseAndReturn;

    //
    // We believe this to be an ARP request. Punt (upcall) the
    // whole as payload to a DHT_TRAP_PACKET call, and drop the
    // original packet.
    //
    KdPrint(("VrrKdPrint: (%u) IPv4TrapARPReq: saw ARP request for %08x\n",
             TIMESTAMP, RtlUlongByteSwap(ARP->DestProtoAddr)));

    DHTDriverRequest(VA,
                     DHT_TRAP_PACKET,
                     (DHTHeader *)FlatBuffer,
                     (ushort)PacketLength,
                     DHT_DEFAULT_UDP_PORT);

    Result = TRUE;

ReleaseAndReturn:

    if (FlatBuffer != NULL)
        ExFreePool(FlatBuffer);

    return Result;

}

#include <packoff.h>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美大黄免费观看| 国产午夜久久久久| 日韩精品中文字幕一区二区三区| 精品久久一二三区| 夜夜嗨av一区二区三区网页| 国产盗摄女厕一区二区三区| 在线亚洲一区观看| 中文字幕日本不卡| 韩国女主播成人在线| 欧美情侣在线播放| 玉足女爽爽91| 国产91精品在线观看| 精品欧美乱码久久久久久| 亚洲不卡av一区二区三区| 91小视频在线免费看| 国产女主播视频一区二区| 美女诱惑一区二区| 欧美一区二区视频在线观看2022 | 福利视频网站一区二区三区| 欧美久久免费观看| 午夜精品影院在线观看| www.亚洲色图.com| 欧美国产精品一区二区三区| 久久国产精品一区二区| 中文av一区特黄| 国产精品妹子av| 久久国产精品免费| 日韩欧美成人一区| 喷水一区二区三区| 欧美一级在线观看| 日本视频中文字幕一区二区三区| 欧美日韩1234| 午夜精品国产更新| 欧美人牲a欧美精品| 亚洲成人精品一区| 欧美精品自拍偷拍| 蜜臀va亚洲va欧美va天堂| 日韩写真欧美这视频| 男女男精品视频| 精品毛片乱码1区2区3区 | 欧美怡红院视频| 亚洲视频在线观看一区| 91蜜桃在线免费视频| 一区二区在线观看免费| 在线观看亚洲成人| 午夜精品福利一区二区蜜股av| 6080国产精品一区二区| 久久99国产精品久久99果冻传媒| 精品日韩欧美一区二区| 成人免费看片app下载| 亚洲三级在线看| 欧美视频一区二区三区四区 | 国产精品美女www爽爽爽| 成人精品高清在线| 成人中文字幕合集| 日韩美女精品在线| 欧美日韩国产一区二区三区地区| 日本中文字幕不卡| 国产精品天干天干在线综合| 91免费国产在线| 奇米精品一区二区三区在线观看 | 麻豆国产精品视频| 国产亚洲精品免费| 在线观看日韩电影| 久久电影网站中文字幕| 欧美国产日韩a欧美在线观看| 色先锋aa成人| 日本欧美一区二区三区| 欧美激情在线观看视频免费| 欧美伊人久久久久久久久影院| 麻豆传媒一区二区三区| 亚洲色欲色欲www在线观看| 欧美肥妇bbw| 东方aⅴ免费观看久久av| 亚洲欧美福利一区二区| 日韩你懂的电影在线观看| bt7086福利一区国产| 毛片av一区二区| 亚洲欧洲日韩在线| 精品女同一区二区| 在线视频综合导航| 成人永久aaa| 日韩av一区二区在线影视| 国产精品久久久久7777按摩| 欧美人xxxx| 91视频在线观看免费| 国产一区二区剧情av在线| 亚洲午夜一区二区三区| 国产精品乱子久久久久| 欧美成人女星排行榜| 在线免费不卡视频| 成人免费视频caoporn| 久久99精品视频| 午夜欧美在线一二页| 亚洲欧洲性图库| 久久久亚洲欧洲日产国码αv| 欧美三日本三级三级在线播放| 成人激情av网| 国产一区二区电影| 蜜臀91精品一区二区三区| 亚洲午夜羞羞片| 亚洲免费观看高清完整版在线观看熊 | 亚洲男同性视频| 国产女主播一区| 久久久综合九色合综国产精品| 欧美高清dvd| 欧美伦理电影网| 欧美私人免费视频| 色综合久久综合网97色综合| 成人午夜视频福利| 成人永久看片免费视频天堂| 国产精品一区免费在线观看| 久久超碰97人人做人人爱| 免费观看在线综合| 日韩av中文字幕一区二区| 亚州成人在线电影| 亚洲妇女屁股眼交7| 一区二区高清在线| av激情综合网| 成人精品高清在线| 99久久er热在这里只有精品66| 国产成人亚洲精品青草天美| 国产福利视频一区二区三区| 国产乱国产乱300精品| 国产福利电影一区二区三区| 高清不卡在线观看| 99视频一区二区三区| 91蜜桃视频在线| 在线观看亚洲专区| 欧美日韩视频一区二区| 欧美日韩二区三区| 亚洲精品一区二区精华| 国产日韩精品一区二区浪潮av| 国产精品蜜臀av| 一区二区三区四区在线免费观看| 亚洲高清一区二区三区| 美女在线一区二区| 国产成人精品亚洲777人妖 | 琪琪久久久久日韩精品| 美女性感视频久久| 夫妻av一区二区| 色久综合一二码| 欧美精品在线一区二区三区| 欧美成人午夜电影| 国产精品国产自产拍在线| 亚洲国产你懂的| 麻豆成人在线观看| 成人av动漫网站| 欧美三级韩国三级日本一级| 久久综合av免费| 18成人在线视频| 日韩在线一区二区三区| 高清不卡在线观看av| 欧美精品一卡二卡| 欧美激情一区二区在线| 三级成人在线视频| 国产suv精品一区二区883| 欧美体内she精视频| 国产午夜亚洲精品理论片色戒| 一区二区三区日韩欧美精品| 久久99久久精品| 欧美性感一区二区三区| 久久你懂得1024| 亚洲成av人片一区二区三区| 国产成人aaaa| 欧美军同video69gay| 中文字幕av免费专区久久| 日本欧美久久久久免费播放网| 成人午夜在线播放| 精品日韩一区二区三区| 午夜不卡av在线| 99久久婷婷国产综合精品电影| 日韩欧美高清一区| 亚洲高清不卡在线| 91麻豆国产香蕉久久精品| 久久一区二区三区国产精品| 五月天视频一区| 色综合中文综合网| 一区二区三区影院| 国产成人免费9x9x人网站视频| 91精品婷婷国产综合久久性色 | 欧美一级一区二区| 亚洲综合色网站| 成人国产亚洲欧美成人综合网| 日韩一区二区三区免费看| 亚洲一区二区三区在线| eeuss鲁一区二区三区| 久久久亚洲精品一区二区三区| 色又黄又爽网站www久久| 国产精品天美传媒| 高清视频一区二区| 久久美女艺术照精彩视频福利播放| 日韩激情一二三区| 欧美色倩网站大全免费| 亚洲欧美日韩久久| 中文一区一区三区高中清不卡| 亚洲另类一区二区| 粉嫩一区二区三区在线看| 26uuu亚洲| 久久电影网电视剧免费观看|