From owner-freebsd-net@FreeBSD.ORG Mon Feb 5 21:01:46 2007 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B28A916A4A7 for ; Mon, 5 Feb 2007 21:01:45 +0000 (UTC) (envelope-from j.witteveen@gmail.com) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.248]) by mx1.freebsd.org (Postfix) with ESMTP id 7B32F13C508 for ; Mon, 5 Feb 2007 21:01:45 +0000 (UTC) (envelope-from j.witteveen@gmail.com) Received: by an-out-0708.google.com with SMTP id c24so1034821ana for ; Mon, 05 Feb 2007 13:01:45 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=QYe/l8TKf8CCNlG8P3fz9WSS+yTPwI+cMdEomOgOH+S2IhcN0hXsduAqHKusxXSp+7/p0ED6Zv0mD8WGvuaZbzoIbH53ul0Hd7VY1I2Qzd0G2Hw9IX/BKink1nW6pA5VJ5QAyuZI8rCJoRB2ZWM7YU9YwgOZ8kz7QhHDl7fTHyg= Received: by 10.114.175.16 with SMTP id x16mr672620wae.1170707590813; Mon, 05 Feb 2007 12:33:10 -0800 (PST) Received: by 10.114.12.1 with HTTP; Mon, 5 Feb 2007 12:33:01 -0800 (PST) Message-ID: <3993a4980702051233u10c30575kd1f6d27fcd600110@mail.gmail.com> Date: Mon, 5 Feb 2007 21:33:01 +0100 From: "Jouke Witteveen" To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: ioctl: SIOCADDMULTI (howto?) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Feb 2007 21:01:46 -0000 Hello all, I'm in need of some information on how to utilize SIOCADDMULTI. It is supposed to be demonstrated by the mtest [1] program, but that doesn't do anything (on an SIOCDELMULTI rn it appears nothing was added: ENOENT), At least not for the values I tested, 1.80.c2.0.0.1 in particular. I presume it doesn't work because the program has not been revised in 3 years and revision 1.4 notes that it might not work. If this ioctl is depricated then please tell me what is the best way to receive multicast messages from the 01.80.c2.00.00.0x (802.1) range? It is ofcourse possible to go into ALLMULTI-mode and check on all datagrams, but the NIC's I use are suited with a very nice hardware filter (21143 chip) that should be able to do this more effectively. Anyway, I believe Linux still programs the hardware filter through SIOCADDMULTI so is a bit easier on this. I tracked down the source from the ioctl call to the network driver for some time now and could find no obvious fault, except for quite much casting, and inconsistent use of types (checks happen on all sorts of casts: socket, sokcet_dl, multiaddr, ...). Thanks in advance. Regards, - Jouke [1] http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/mtest/