I am creating a application for windows platforms which has
- NDIS Virtual Miniport Driver
 - NDIS Intermediate Driver (Windows XP)
 - NDIS Lightweight Filter (LWF) Driver(Windows Vista and higher)
 
Now I want to get support for mobile broadband for LWF driver in Windows 7 . that uses NDIS 6.2 .
- I have INF file for both in LWF and Virtual Miniport .
 
I changed My LWF INF file for mobile broadband like this : ( Added "ppip" in the FilermediaType section )
[INSTALL.NDI]
HKR, Ndi, FilterClass, , custom
HKR, Ndi, FilterType, 0x00010001, 0x00000002
HKR, Ndi\Interfaces, UpperRange, , "noupper"
HKR, Ndi\Interfaces, LowerRange, , "nolower"
HKR, Ndi\Interfaces, FilterMediaTypes, , "nolower, ethernet, wan, ppip"
HKR, Ndi, FilterRunType, 0x00010001, 1
And i added the NdisWirelssWan for FilterAttach ( ) Function like this :
if (
        (AttachParameters->MiniportMediaType != NdisMedium802_3)
        && (AttachParameters->MiniportMediaType != NdisMediumWan)
        && (AttachParameters->MiniportMediaType != NdisMediumNative802_11)
        && (AttachParameters->MiniportMediaType != NdisMediumWirelessWan)
    ) {
        status = NDIS_STATUS_INVALID_PARAMETER;
        DbgPrintEx(DPFLTR_IHVNETWORK_ID, DPFLTR_TRACE_LEVEL, "!!! [%p] CFilter::Attach(): unsupported medium\n", this);
        goto VExit;
    }
And my miniport INF file contains :
[MYVNET.ndi]
Characteristics = 0x81 ; NCF_HAS_UI | NCF_VIRTUAL
*IfType = 0x06 ; IF_TYPE_ETHERNET_CSMACD
*MediaType = 0x00 ; NdisMedium802_3
*PhysicalMediaType = 0x0E ; NdisPhysicalMedium802_3
[MYVNET.Reg]
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
So after searching the Mobile broadband (MB) support document I got 2 papers :
https://msdn.microsoft.com/en-us/library/windows/hardware/ff557185(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/hardware/ff559110(v=vs.85).aspx
NdisSetNblFlag(pNbl, NDIS_NBL_FLAGS_IS_IPV4);
Value = ConvertToNetworkByteOrder(0x0800);
NET_BUFFER_LIST_INFO(pNbl, NetBufferListFrameType) = Value;
Is this INF file is correct ? where should I add this snippet of code ? 
- Is it in Filter File netbuffer send/receive function ?
 - or Is it in Miniport netbuffer send/receive function ?