Performace issue using Stream Interface Driver - Windows CE

This is a discussion on Performace issue using Stream Interface Driver - Windows CE ; Hi, I am developing an Intermediate driver for capturing all packets. Since OS is windows CE, I am using a stream interface driver for taking the data from kernel mode to user mode. This driver on NIC side uses NDIS ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Performace issue using Stream Interface Driver

  1. Performace issue using Stream Interface Driver

    Hi,
    I am developing an Intermediate driver for capturing all packets. Since
    OS is windows CE, I am using a stream interface driver for taking the
    data from kernel mode to user mode.
    This driver on NIC side uses NDIS and on application side provides
    stream interface (init, read, write). But under CE, device manager runs
    under user mode. So it very difficult to copy packet that comes under
    NDIS in kernel mode directly under user mode buffer. The performance is
    getting degraded and I think i am loosing some packets due to this.
    Can anyone help me in finding an efficient method of capturing a packet
    in kernel mode and taking it to application mode.
    Any help regarding performnce improvement will be highly appreciated.


    Thanks in advance.
    Sarath


  2. Re: Performace issue using Stream Interface Driver

    1) What version of OS?
    2) Why are you adding a stream interface?
    3) On CE Versions <6.0 NDIS drivers run in the device manager process same
    as any stream driver, which is considered user mode (although the terms
    usermode and kernel mode are mostly meaningless in CE versions < 6.0)
    4) Have you looked at the NDISUIO sample?

    --
    Steve Maillet
    EmbeddedFusion
    www.EmbeddedFusion.com
    smaillet at EmbeddedFusion dot com



  3. Re: Performace issue using Stream Interface Driver

    Hi Steve,
    Thanks for the reply.

    >>1) What version of OS?

    I am using Win CE 5.0.

    >>2) Why are you adding a stream interface?

    I am developing a IM driver which is supposed to take every packet
    coming to NDIS to application layer to manipulate the contents of
    packets and only then send those packets to rest of the applications.
    Since I had no other option to take packet from Driver to user space in
    Wince I chose Stream interface to perform this.

    >> 4) Have you looked at the NDISUIO sample?

    I couldnt NDISUIO to perform this as this was raising me some other
    Issues, so I had to choose Passthru IM.

    But this Stream Interface is giving performance issues.
    Could u suggest me an alternative.
    Thanks,
    Sarath
    Steve Maillet (eMVP) wrote:

    > 1) What version of OS?
    > 2) Why are you adding a stream interface?
    > 3) On CE Versions <6.0 NDIS drivers run in the device manager process same
    > as any stream driver, which is considered user mode (although the terms
    > usermode and kernel mode are mostly meaningless in CE versions < 6.0)
    > 4) Have you looked at the NDISUIO sample?
    >
    > --
    > Steve Maillet
    > EmbeddedFusion
    > www.EmbeddedFusion.com
    > smaillet at EmbeddedFusion dot com



  4. Re: Performace issue using Stream Interface Driver

    "> 3) On CE Versions <6.0 NDIS drivers run in the device manager process
    same
    > as any stream driver, which is considered user mode (although the terms
    > usermode and kernel mode are mostly meaningless in CE versions < 6.0)



    They don't have to, actually. There is a mode where the networking stack
    and driver can be loaded high in the kernel for performance...

    --
    Dean Ramsier - eMVP
    BSQUARE Corporation





+ Reply to Thread