Dear Expert,

I want to write a simple driver which would be able to send set of packets
over the network at highest speed.

Please suggest me which type of driver should be writen i.e. IM driver,
Protocol driver, TDI driver or filter driver?

Waiting for your reply.
--
With regards
thanks
Anand Choubey

Re: driver type for sending packets ??? by Thomas

Thomas
Tue Jun 05 10:24:54 CDT 2007

What kind of packets do you want to send?

If they are non-IP, then a NDIS protocol driver is probably the solution.

If they are IP, then a well written Winsock user-mode application is tough
to beat. You can use TCP/UDP from the kernel using the TDI interface, but it
is not likely that you will see performance improvements that are
significantly better than those you can get with a Winsock user-mode
application.

If you are trying to achieve "wire speed", then understand that there are
may be limitations in the adapter that may make this unachievable. IMHO a
"Gigabit adapter" means that it can operate on Gigabit network; it may not
mean that the adapter can operate at full wire speed.

Thomas F. Divine

"Anand Choubey" <AnandChoubey@discussions.microsoft.com> wrote in message
news:2647CC4E-5044-42FE-96EC-F298F4C07843@microsoft.com...
> Dear Expert,
>
> I want to write a simple driver which would be able to send set of packets
> over the network at highest speed.
>
> Please suggest me which type of driver should be writen i.e. IM driver,
> Protocol driver, TDI driver or filter driver?
>
> Waiting for your reply.
> --
> With regards
> thanks
> Anand Choubey


Re: driver type for sending packets ??? by anand

anand
Wed Jun 06 08:44:47 CDT 2007

Hi,

Thanks for your reply.

I want to send IP packets of 9000 bytes. I have Gigabit card.

Should I write IM driver or protocol driver?

Please tell me.

Thanks,

Anand Choubey


Re: driver type for sending packets ??? by Thomas

Thomas
Wed Jun 06 10:16:19 CDT 2007

I suggest that you use a well-written user-mode Winsock application.

You can write a NDIS IM driver to do this, but there are several issues:

1.) You probably won't see measurable performance increase over a
well-written Winsock user-mode application. You will spend a tremendous
amount of time and realize little gain.
2.) Sending IP from two NDIS drivers (Built-in TCP/IP stack and your driver)
can interfere with each other. All received packets will be given to both
TCP/IP and your driver. The TCP/IP driver may not recognize packets that it
receives that are responses to private packets that you sent, and may send
NAK or other packet by mistake. That is why I mentioned IM driver instead of
protocol driver. In IM driver you have a (slim) chance of filtering received
packets and preventing the built-in TCP/IP stack from getting confused.
3.) You cannot just "send IP packets" from your driver. You will probably
have to port an almost complete TCP/IP stack to your driver to make it work.
Tremendous development and support effort here with little measurable
performance gain.

Use a well-written Winsock application...

Thomas F. Divine
Windows DDK MVP

<anand.choubey@gmail.com> wrote in message
news:1181137487.787750.133770@r19g2000prf.googlegroups.com...
> Hi,
>
> Thanks for your reply.
>
> I want to send IP packets of 9000 bytes. I have Gigabit card.
>
> Should I write IM driver or protocol driver?
>
> Please tell me.
>
> Thanks,
>
> Anand Choubey
>


Re: driver type for sending packets ??? by anand

anand
Thu Jun 07 09:55:55 CDT 2007

Hi Thomas,

Thanks for reply.

Actually, I want to send jumbo udp packets and want to achieve 700
mbps speed.

May I able to do both work with winsock application?

I have gigabit card.

Please reply.

Thanks and With Best Regards,
Anand Choubey


Re: driver type for sending packets ??? by Thomas

Thomas
Fri Jun 08 00:57:59 CDT 2007

Sending Jumbo packets is possible if your adapter _AND_ the other end of the
connection support it. All you should need to do is open the adapter
Configuration Properties and select the jumbo frame size you want.

You cannot force the adapter to send Jumbo frames if the other end of your
connection isn't also a Jumbo-aware device.

Thomas F. Divine

<anand.choubey@gmail.com> wrote in message
news:1181228155.386706.222720@n15g2000prd.googlegroups.com...
> Hi Thomas,
>
> Thanks for reply.
>
> Actually, I want to send jumbo udp packets and want to achieve 700
> mbps speed.
>
> May I able to do both work with winsock application?
>
> I have gigabit card.
>
> Please reply.
>
> Thanks and With Best Regards,
> Anand Choubey
>