I thought of ndis5.2 a hybrid. For non-chimney path, it uses ndis_packet, for chimney offloaded path, it uses net_buffer_list/net_buffer. and yes, rss is supported in ndis5.2.
we’ve done a lot of work on advanced hw/sw features over the years and learned that RSS can significantly increase throughput as well as PEI in the case of:
- there are more than one cpu of course, and
- there are many active tcp connections, or
- you have LOADs of 1Gbe/10Gbe ports on a server blade and you have a smart teaming driver(a stateful Ndis IM LBFO) that at least understands RSS and TCP chimney.
However, RSS can also significantly degrade the overall networking performance in some scenarios. In such cases, it should be disabled. Note that on the other thread mentioning disabling RSS by messing with TCP registry is a bad advice. Use rss related OID instead.
–
Calvin Guan
Broadcom Corporation
Connecting Everything(r)
p.s. We’re looking for top notch Windows driver guys (networking, storage) to join us at Irvine, sunny Calif. Send me your resume to hguan__at__broadcom.com if you’re interested.
“Don Burn” wrote in message news:xxxxx@ntdev…
> NDIS 5.2 is available to OEM’s and others to support faster NIC’s on 2003.
> It definitely is different from NDIS 5.1 or NDIS 6.0. It should be noted
> that Anton’s suggestion of disabling RSS can in some circumstances really
> destroy networking performance, and turn a 10GB NIC into a 1GB NIC.
>
>
> –
> Don Burn (MVP, Windows DDK)
> Windows 2k/XP/2k3 Filesystem and Driver Consulting
> Website: http://www.windrvr.com
> Blog: http://msmvps.com/blogs/WinDrvr
> Remove StopSpam to reply
>
>
> “A P” wrote in message news:xxxxx@ntdev…
>> thomas,
>>
>>>NDIS 5.2 does include a “subset” of some higher-performance “NDIS 6”
>> features. IIRC, NDIS 5.2 is only supported on some OEM versions of
>> Windows
>> Server 2003
>>
>> yes, the SNP for windows 2k3 makes it support Chimney. Also, I believe
>> Windows XP 64 bit does suport NDIS 5.2 and hence some of the features of
>> NDIS 6 as mentioned by you.
>>
>> I might be wrong though.
>>
>>
>> I am currently reading up the extended passthrough code, i might ask you
>> some more questions once I am through with it.
>>
>> thanks,
>>
>> AP
>>
>>
>>
>> On 8/17/07, Thomas F. Divine wrote:
>>>
>>> Certainly a filter driver can make its own NDIS request calls. The key
>>> thing is to have a way to distinguish between requests that the filter
>>> driver originated and requests that originated from higher levels when
>>> the
>>> request completes.
>>>
>>>
>>>
>>> The “Extended Passthru” sample driver at http://www.wd-3.com illustrates
>>> this.
>>>
>>>
>>>
>>> IIRC, NDIS 5.2 does include a “subset” of some higher-performance “NDIS
>>> 6”
>>> features. IIRC, NDIS 5.2 is only supported on some OEM versions of
>>> Windows
>>> Server 2003.
>>>
>>>
>>>
>>> Good luck,
>>>
>>>
>>>
>>> Thomas F. Divine
>>>
>>> http://www/wd-3/com
>>>
>>>
>>>
>>>
>>>
>>> From: xxxxx@lists.osr.com [mailto:
>>> xxxxx@lists.osr.com] *On Behalf Of *A P
>>> Sent: Thursday, August 16, 2007 4:58 PM
>>> To: Windows System Software Devs Interest List
>>> Subject: Re: [ntdev] driver to driver communication NDIS
>>>
>>>
>>>
>>> >First of all, RSS in itself is strictly NDIS 6 feature - it does not
>>> apply to earlier OS versions.
>>>
>>>
>>>
>>>
>>> I have seen other OS drivers with the same feature, might be the vendors
>>> try implementing a ‘pseudo rss feature’. thanks for disillutioning me.
>>>
>>>
>>>
>>>
>>>
>>> One other thing I wanted to ask was, HOW DO I pass on the OIDS down to
>>> the
>>> next driver. The way I can think of is, after binding to the driver
>>> below, I
>>> can use the NdisRequest call to pass the OID down.
>>>
>>>
>>>
>>> Is this the desirable way of doing things?
>>>
>>>
>>>
>>>
>>>
>>> AP
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On 8/17/07, xxxxx@hotmail.com
>>> wrote:
>>>
>>> > Solution needs to work for NDIS 5.1,5.2,6.0
>>> …
>>> > A slight correction, I meant NDIS 5.2 and 6.0, RSS is not available
>>> > with
>>> 5.1.
>>>
>>>
>>>
>>> Is Ndislwf a sample of a LWF for vista? If not, kindly point me to a
>>> sample please.
>>>
>>>
>>>
>>>
>>>
>>> After reading this email, I think I need to maintain two different
>>> versions of drivers for each of the NDIS verions 5.x and 6.0.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> First of all, RSS in itself is strictly NDIS 6 feature - it does not
>>> apply
>>> to earlier OS versions.
>>>
>>> You should realize that NDIS 6 is naturally different from earlier NDIS
>>> versions. It introduced so-called lightweight filters (LWFs) that
>>> replace
>>> NDIS 5-style IM filters (i.e. miniport and protocol in one driver). If
>>> you
>>> want your driver to work on pre-Vista versions, LWF is not the right
>>> option
>>> for you - it is just not going to work on earlier OS versions.
>>>
>>> In addition to NDIS 6 LWFs, Vista supports “legacy”(i.e. 5x) IM filters
>>> as
>>> well. In practice it means that NDIS 5 filter may be bound to NDIS 6
>>> miniport. Therefore, what you can do is to write NDIS 5 filter that
>>> watches
>>> OID_GEN_RECEIVE_SCALE_PARAMETERS if the OS version is Vista, and sets
>>> the
>>> NDIS_RSS_PARAM_FLAG_DISABLE_RSS flag in the Flags member of the
>>> NDIS_RECEIVE_SCALE_PARAMETERS structure in order to disable RSS (check
>>> “RSS
>>> Configuration” artcicle in WDK documentation for more info on what has
>>> to be
>>> done in order to disable RSS)
>>>
>>>
>>> If you do it this way, your driver will be able to work on all OS
>>> versions. However, please note that, once NDIS 6 parameters are
>>> naturally
>>> different from NDIS 5 ones, NDIS has to do parameter translation on
>>> every
>>> call from/to NDIS 5 filter that runs on Vista, which results in some
>>> overhead - the higher the link speed is, the more noticeable overhead
>>> becomes…
>>>
>>> Anton Bassov
>>>
>>>
>>> —
>>> NTDEV is sponsored by OSR
>>>
>>> For our schedule of WDF, WDM, debugging and other seminars visit:
>>> http://www.osr.com/seminars
>>>
>>> To unsubscribe, visit the List Server section of OSR Online at
>>> http://www.osronline.com/page.cfm?name=ListServer
>>>
>>>
>>> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging
>>> and
>>> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
>>> the List Server section of OSR Online at
>>> http://www.osronline.com/page.cfm?name=ListServer
>>>
>>> —
>>> NTDEV is sponsored by OSR
>>>
>>> For our schedule of WDF, WDM, debugging and other seminars visit:
>>> http://www.osr.com/seminars
>>>
>>> To unsubscribe, visit the List Server section of OSR Online at
>>> http://www.osronline.com/page.cfm?name=ListServer
>>>
>>
>
>
>