Hello all,

I'm working on an implementation of the IGMPv3 protocol in the Net/3
stack, and several questions popped up. The first one is about the
socket structure.

The IGMPv3 protocol allows a process to set (ip)source filters, which is
a list of ip addresses of sources which indicates the process is not
(exclude mode) or just (include mode) interested to receive data from
those sources, on that particular socket. The igmpv3 extensions to the
socket api allow you to add source filters to sockets subscribed to one
or more multicast groups.

So a process identifies a socket with a descriptor, which is a index
into an array of pointers to file structures. These file structures
reside in the kernel and could be shared among processes.  Now I'm
thinking about where to keep this sourcfilter-list. If it's possible to
share a socket between processes it could be that one process is
interested, but another is not. On the other hand, I believe the filter
is a per socket and if it's shared ... so is the filter.

So my question is ...  Is it true that such a filter should be attached
/ stored within the socket datastructure ?

Thanks in advance, Wilbert

Btw.
Besides the fact that a sourcefilter-list per socket should be
implemented, there should also be a sourcefilter-list per
(the in_multi{} structure). This in order to generate IGMPv3 reports, or
maybe in later stage to do filtering at a lower level in order to
improve performance.

begin:vcard 
n:de Graaf;Wilbert
x-mozilla-html:FALSE
url:http://home.hetnet.nl/~wilbertdg/
org:KPN Research
adr:;;;;;;
version:2.1
email;internet:[EMAIL PROTECTED]
x-mozilla-cpt:;0
fn:Wilbert de Graaf
end:vcard

Reply via email to