UpperBind

Hi dear all,
Could someone tell me how to set the IM miniport driver’s UpperBind
registry value ? I mean which inf value has relation with this
registry value . Thanks in advance.

>I mean which inf value has relation with this registry value .

HKR, Ndi\Interfaces, UpperRange, ,
where could have one of following meaning:
http://msdn.microsoft.com/en-us/library/ff570839(VS.85).aspx

Igor Sharovar

UpperBind is set by the NetService class installer for a “Filter” type IM
driver (i.e. not a MUX) based on the FilterMediaTypes value in the IM Driver
NDI key.

Basically, the NetService (IM Filter) installer will bind the IM driver onto
every adapter that has a LowerRange which matches one of the specified
FilterMediaTypes.

The process produces a set of bindings. For each binding, a virtual
Miniport is created. The name of the Virtual Miniport for the ‘binding’ is
written to the UpperBind value so that when the Protocol Edge is notified in
the ProtocolBindAdapter() handler, it can find the name of the virtual
adapter which corresponds to the physical adapter and ‘start’ it.

Good Luck,
Dave Cattley

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of yushang
Sent: Friday, July 09, 2010 3:31 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] UpperBind

Hi dear all,
Could someone tell me how to set the IM miniport driver’s UpperBind registry
value ? I mean which inf value has relation with this registry value .
Thanks in advance.


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

> Basically, the NetService (IM Filter) installer will bind the IM driver onto

every adapter that has a LowerRange which matches one of the specified
FilterMediaTypes.
Thanks David . Does this process happen to virtual miniport? If so
,assume I have 2 IM drivers , which both can bind to each other , how
does NDIS determine their binding layers ?

The ordering of IM Filter (and LW Filter) bindings is determined by the FilterClass value declared in the NDI data. The NetService class installer orders filters in a binding based on the order of filter class ‘tags’ in the registry value at HKLM\System\CurrentControlSet\Control\Network\FilterClasses

The first class name is ‘closest’ to the the protocols (highest altititude). The last value is closest to the NIC (lowest altitude).

The NetClass installer knows the relationship between IM filter virtual miniports and the actual NIC and does not generate circular binding scenarios.

Good Luck,

Dave Cattley

Date: Sat, 10 Jul 2010 13:03:27 +0800
Subject: Re: [ntdev] UpperBind
From: xxxxx@gmail.com
To: xxxxx@lists.osr.com

> Basically, the NetService (IM Filter) installer will bind the IM driver onto
> every adapter that has a LowerRange which matches one of the specified
> FilterMediaTypes.
Thanks David . Does this process happen to virtual miniport? If so
,assume I have 2 IM drivers , which both can bind to each other , how
does NDIS determine their binding layers ?


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

Thanks . Then what about 2 IM drivers with same FilterClass definition
? NDIS choose round robin ?

The first class name is ‘closest’ to the the protocols (highest
altititude).  The last value is closest to the NIC (lowest altitude).

I believe the term is ‘indeterminate’. I believe it is documented as being indeterminate, undefined, or unsupported.

You could try it if you really want to know. And then you can still not rely on whatever it is you determine.

Good Luck,

Dave Cattley

Date: Sat, 10 Jul 2010 22:35:24 +0800
Subject: Re: [ntdev] UpperBind
From: xxxxx@gmail.com
To: xxxxx@lists.osr.com

Thanks . Then what about 2 IM drivers with same FilterClass definition
? NDIS choose round robin ?
> The first class name is ‘closest’ to the the protocols (highest
> altititude). The last value is closest to the NIC (lowest altitude).


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

OK . I think the best way is to invent a new FilterClass . thanks

2010/7/11 David Cattley :
> I believe the term is ‘indeterminate’. I believe it is documented as
> being indeterminate, undefined, or unsupported.
>
> You could try it if you really want to know. And then you can still not
> rely on whatever it is you determine.
>
> Good Luck,
> Dave Cattley
>
>> Date: Sat, 10 Jul 2010 22:35:24 +0800
>> Subject: Re: [ntdev] UpperBind
>> From: xxxxx@gmail.com
>> To: xxxxx@lists.osr.com
>>
>> Thanks . Then what about 2 IM drivers with same FilterClass definition
>> ? NDIS choose round robin ?
>> > The first class name is ‘closest’ to the the protocols (highest
>> > altititude). The last value is closest to the NIC (lowest altitude).
>>
>> —
>> 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

The best way to do what?

Ensure you get bound at an altitude that you control? Well yes, that is the best way and frankly the only way. It is also documented as such.

NT6 introduced far more ‘standard’ filter classes. While custom filter classes are perfectly reasonable, the defined classes cover the vast majority of ‘ordering’ cases.

And of course, anyone else can come in and slide a filter class above or below you. So consider where your driver function is ‘relative’ to the standard processing altitudes. That is about all you can try to control.

Good Luck,

Dave Cattley

Date: Sun, 11 Jul 2010 09:51:41 +0800
Subject: Re: [ntdev] UpperBind
From: xxxxx@gmail.com
To: xxxxx@lists.osr.com

OK . I think the best way is to invent a new FilterClass . thanks

2010/7/11 David Cattley :
> > I believe the term is ‘indeterminate’. I believe it is documented as
> > being indeterminate, undefined, or unsupported.
> >
> > You could try it if you really want to know. And then you can still not
> > rely on whatever it is you determine.
> >
> > Good Luck,
> > Dave Cattley
> >
> >> Date: Sat, 10 Jul 2010 22:35:24 +0800
> >> Subject: Re: [ntdev] UpperBind
> >> From: xxxxx@gmail.com
> >> To: xxxxx@lists.osr.com
> >>
> >> Thanks . Then what about 2 IM drivers with same FilterClass definition
> >> ? NDIS choose round robin ?
> >> > The first class name is ‘closest’ to the the protocols (highest
> >> > altititude). The last value is closest to the NIC (lowest altitude).
> >>
> >> —
> >> 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