NDIS Mux IM Driver : NDIS Test Fail - Should not have resent any packets

Discussion in 'Windows Vista Drivers' started by Amit Dhaduk, Aug 25, 2003.

  1. Amit Dhaduk

    Amit Dhaduk Guest

    Hello,

    I am developing a NDIS Mux intermediate driver for
    winXP/2003 Server OS. I had use Mux Intermediate Driver
    Sample code from Microsoft DDK 2003 as a base. For
    send/receive packet,
    I allocate new packet and copy original packet to it and
    use that packet for send/receive. This
    version of my driver work fine with microsoft NDIS
    4.03.0044 Test with Load/Unload and packet transmission
    related test.

    Now for improve performance, I had implemented NDIS
    Packet Stacking method for NDIS 51 and
    receive/transmit packet. It works fine with ping and file
    transfer. But in NDIS test It gives some error like.

    FAILED: [23078] Should not have resent any packets.

    May be my PtReceiveComplete Routin not call
    proplerly or call many time than necessary.

    May be this error come with also from other test of NDIS.
    I attached log of this 2c_LoadUnlod test Log.

    Can you tell me that what test error does mean ?
    Also help me related to implement of Packet _stack in
    receive/transmit routine so I can remove above error.


    Thankyou.

    Amit Dhaduk


    Log of my Load/Unlod test fail :---

    GetReceiveResults
    - OpenId = 0x02010001

    ***** Per-Source-Address Packet reception data ****
    Source Address : 06-0A-D1-00-45-01
    Packets Received = 200 (Sum of next two
    lines)
    -- Receive handler = 200 (Ndis calls to
    ProtocolReceive)
    -- ReceivePacket handler = 0 (Ndis calls to
    ProtocolReceivePacket)
    Packet Receives Complete = 300 (Ndis calls to
    ProtocolReceiveComplete)
    Packets Resent = 100
    Packet Resends Pended = 100
    Packet Resends Completed = 100

    Source Address : 0E-1A-D1-89-57-89
    Packets Received = 100 (Sum of next two
    lines)
    -- Receive handler = 0 (Ndis calls to
    ProtocolReceive)
    -- ReceivePacket handler = 100 (Ndis calls to
    ProtocolReceivePacket)
    Packet Receives Complete = 0 (Ndis calls to
    ProtocolReceiveComplete)

    ***** Aggregated Packet reception data ****
    Total Packets Received = 300 (Sum of
    next two lines)
    -- Total Receive handler = 200 (Ndis
    calls to ProtocolReceive)
    -- Total ReceivePacket handler = 100 (Ndis
    calls to ProtocolReceivePacket)
    Total Packet Receives Complete = 300 (Ndis
    calls to ProtocolReceiveComplete)
    Total Packets Resent = 100
    Total Packet Resends Pended = 100
    Total Packet Resends Completed = 100

    FAILED: [23078] Should not have resent any packets

    WARNED: Received acceptable but less than expected number
    of packets
     
    Amit Dhaduk, Aug 25, 2003
    #1
    1. Advertisements

  2. Amit Dhaduk

    Stephan Wolf Guest

    Are you possibly not filtering out (all) loopback packets? Or maybe
    you do it ok in your ProtocolReceivePacket() but not in your
    ProtocolReceive() routine or vice versa?

    Loopback is usually a problem because NDIS does not always filter
    and/or loopback as one would expect (there are also differences
    between W2K and WXP/WK3).

    Carefully count all the packets that you send and receive in your
    respective handlers. Count all of directed/multicast/broadcast. This
    should give you a hint.

    Stephan
    ---
     
    Stephan Wolf, Aug 25, 2003
    #2
    1. Advertisements

  3. Amit Dhaduk

    Amit Dhaduk Guest

    Hello

    Thanks for guide me to set NDIS_FLAG_DONT_LOOPBACK flag
    in my send routine. after implemented this, I solved
    my "don't send resent packet" in NDIS test.

    Amit Dhaduk
     
    Amit Dhaduk, Aug 26, 2003
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.