From owner-freebsd-hackers Thu Mar 30 10:39: 6 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from griffin.aciri.org (griffin.aciri.org [192.150.187.12]) by hub.freebsd.org (Postfix) with ESMTP id 411D737BDF2; Thu, 30 Mar 2000 10:38:59 -0800 (PST) (envelope-from wilbertdg@hetnet.nl) Received: from hetnet.nl (localhost.aciri.org [127.0.0.1]) by griffin.aciri.org (8.9.3/8.9.3) with ESMTP id KAA45055; Thu, 30 Mar 2000 10:38:58 -0800 (PST) (envelope-from wilbertdg@hetnet.nl) Message-ID: <38E39F42.823A681B@hetnet.nl> Date: Thu, 30 Mar 2000 10:38:58 -0800 From: Wilbert de Graaf X-Mailer: Mozilla 4.7 [en] (X11; U; Linux 2.0.36 i386) X-Accept-Language: en MIME-Version: 1.0 To: free-bsd-net@freebsd.org, freebsd-hackers@freebsd.org Subject: The socket structure & igmpv3 Content-Type: multipart/mixed; boundary="------------CE6875120F7242AFB36C4312" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This is a multi-part message in MIME format. --------------CE6875120F7242AFB36C4312 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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. --------------CE6875120F7242AFB36C4312 Content-Type: text/x-vcard; charset=us-ascii; name="wilbertdg.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Wilbert de Graaf Content-Disposition: attachment; filename="wilbertdg.vcf" 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:wilbertdg@hetnet.nl x-mozilla-cpt:;0 fn:Wilbert de Graaf end:vcard --------------CE6875120F7242AFB36C4312-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message