Hello,

Working on our platform I have noticed that it seems our bound multicast
sockets lose the ability to receive multicast packets after we execute
an IOCTL_NDIS_REBIND_ADAPTER on the interface. It would appear the
multicast membership is revoked at that point by the TCP/IP stack.

They may seem like a 'Well duh' situation but I was wondering if there
was a way to detect this via winsock ? The scenario is :
- We have a multicast server running
- The user/a program/DHCP server changes the IP address of the interface
- Our server stops receiving multicast packages.

How do we detect/update the running server and perhaps 'rejoin' the
multicast group ? Is there an API call or socket condition that
indicates this ?

Am I making any sense ?

Thanks,
Jason

Re: IOCTL_NDIS_REBIND_ADAPTER and MultiCast by Paul

Paul
Fri Oct 27 12:33:08 CDT 2006

You can detect that binding changes have happened using
IOCTL_NDISUIO_REQUEST_NOTIFICATION to ask NDIS to let you know when that
happens and, when it does, checking the media connect state for the target
adapter.

Paul T.

"Jason" <srbagcrp@newsgroups.nospam> wrote in message
news:%23N6PExe%23GHA.924@TK2MSFTNGP03.phx.gbl...
> Hello,
>
> Working on our platform I have noticed that it seems our bound multicast
> sockets lose the ability to receive multicast packets after we execute an
> IOCTL_NDIS_REBIND_ADAPTER on the interface. It would appear the multicast
> membership is revoked at that point by the TCP/IP stack.
>
> They may seem like a 'Well duh' situation but I was wondering if there was
> a way to detect this via winsock ? The scenario is :
> - We have a multicast server running
> - The user/a program/DHCP server changes the IP address of the interface
> - Our server stops receiving multicast packages.
>
> How do we detect/update the running server and perhaps 'rejoin' the
> multicast group ? Is there an API call or socket condition that indicates
> this ?
>
> Am I making any sense ?
>
> Thanks,
> Jason



Re: IOCTL_NDIS_REBIND_ADAPTER and MultiCast by Jason

Jason
Fri Oct 27 12:55:01 CDT 2006

Great, thanks. I just could not come up with the magic search keywords
to find this.

Thanks for help,
Jason

Paul G. Tobey [eMVP] wrote:
> You can detect that binding changes have happened using
> IOCTL_NDISUIO_REQUEST_NOTIFICATION to ask NDIS to let you know when that
> happens and, when it does, checking the media connect state for the target
> adapter.
>
> Paul T.
>
> "Jason" <srbagcrp@newsgroups.nospam> wrote in message
> news:%23N6PExe%23GHA.924@TK2MSFTNGP03.phx.gbl...
>> Hello,
>>
>> Working on our platform I have noticed that it seems our bound multicast
>> sockets lose the ability to receive multicast packets after we execute an
>> IOCTL_NDIS_REBIND_ADAPTER on the interface. It would appear the multicast
>> membership is revoked at that point by the TCP/IP stack.
>>
>> They may seem like a 'Well duh' situation but I was wondering if there was
>> a way to detect this via winsock ? The scenario is :
>> - We have a multicast server running
>> - The user/a program/DHCP server changes the IP address of the interface
>> - Our server stops receiving multicast packages.
>>
>> How do we detect/update the running server and perhaps 'rejoin' the
>> multicast group ? Is there an API call or socket condition that indicates
>> this ?
>>
>> Am I making any sense ?
>>
>> Thanks,
>> Jason
>
>


Re: IOCTL_NDIS_REBIND_ADAPTER and MultiCast by Paul

Paul
Fri Oct 27 13:25:02 CDT 2006

I found it by reading the source.

Paul T.

"Jason" <srbagcrp@newsgroups.nospam> wrote in message
news:etqPIEf%23GHA.4524@TK2MSFTNGP04.phx.gbl...
> Great, thanks. I just could not come up with the magic search keywords to
> find this.
>
> Thanks for help,
> Jason
>
> Paul G. Tobey [eMVP] wrote:
>> You can detect that binding changes have happened using
>> IOCTL_NDISUIO_REQUEST_NOTIFICATION to ask NDIS to let you know when that
>> happens and, when it does, checking the media connect state for the
>> target adapter.
>>
>> Paul T.
>>
>> "Jason" <srbagcrp@newsgroups.nospam> wrote in message
>> news:%23N6PExe%23GHA.924@TK2MSFTNGP03.phx.gbl...
>>> Hello,
>>>
>>> Working on our platform I have noticed that it seems our bound multicast
>>> sockets lose the ability to receive multicast packets after we execute
>>> an IOCTL_NDIS_REBIND_ADAPTER on the interface. It would appear the
>>> multicast membership is revoked at that point by the TCP/IP stack.
>>>
>>> They may seem like a 'Well duh' situation but I was wondering if there
>>> was a way to detect this via winsock ? The scenario is :
>>> - We have a multicast server running
>>> - The user/a program/DHCP server changes the IP address of the interface
>>> - Our server stops receiving multicast packages.
>>>
>>> How do we detect/update the running server and perhaps 'rejoin' the
>>> multicast group ? Is there an API call or socket condition that
>>> indicates this ?
>>>
>>> Am I making any sense ?
>>>
>>> Thanks,
>>> Jason
>>
>>
>



Re: IOCTL_NDIS_REBIND_ADAPTER and MultiCast by Jason

Jason
Fri Oct 27 16:12:58 CDT 2006

That did the trick from a binding perspective but it does not seem to
work if the IP address change is due to a DHCP lease (I receive no
notifications via the NDISUIO device).

If I 'ipconfig /release' then 'ipconfig /renew' I obtain a new IP but
never get a notification that it has changed.

Is there some other magic API I am supposed to be using ?

Thanks again,
Jason


Re: IOCTL_NDIS_REBIND_ADAPTER and MultiCast by Jason

Jason
Fri Oct 27 16:16:11 CDT 2006

To reply to myself... I found the 'NotifyAddrChange' function call in
the IP helper API which I can try and use but if anyone has experience
with a superior methodology I would appreciate a pointer.

Thanks,
Jason

Re: IOCTL_NDIS_REBIND_ADAPTER and MultiCast by Paul

Paul
Fri Oct 27 16:26:58 CDT 2006

No, that's the best you can do. There is no central,
notify-me-of-all-"relevant"-changes API. The only changes that I've cared
about are those you can get with the NDIS notifications. You *did* ask for
every type of notification that you might conceivably care about (or just
ask for all of them), right?

Paul T.

"Jason" <srbagcrp@newsgroups.nospam> wrote in message
news:%23FUii0g%23GHA.4356@TK2MSFTNGP05.phx.gbl...
> To reply to myself... I found the 'NotifyAddrChange' function call in the
> IP helper API which I can try and use but if anyone has experience with a
> superior methodology I would appreciate a pointer.
>
> Thanks,
> Jason



Re: IOCTL_NDIS_REBIND_ADAPTER and MultiCast by Jason

Jason
Fri Oct 27 16:39:48 CDT 2006

Yep you gave me exactly what I needed. At least now I have two nodes
that do everything I need :)

Thanks for your help,
Jason

Paul G. Tobey [eMVP] wrote:
> No, that's the best you can do. There is no central,
> notify-me-of-all-"relevant"-changes API. The only changes that I've cared
> about are those you can get with the NDIS notifications. You *did* ask for
> every type of notification that you might conceivably care about (or just
> ask for all of them), right?
>
> Paul T.
>
> "Jason" <srbagcrp@newsgroups.nospam> wrote in message
> news:%23FUii0g%23GHA.4356@TK2MSFTNGP05.phx.gbl...
>> To reply to myself... I found the 'NotifyAddrChange' function call in the
>> IP helper API which I can try and use but if anyone has experience with a
>> superior methodology I would appreciate a pointer.
>>
>> Thanks,
>> Jason
>
>