From owner-freebsd-net@FreeBSD.ORG Fri Jan 9 01:08:54 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15834106566B; Fri, 9 Jan 2009 01:08:54 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from out2.smtp.messagingengine.com (out2.smtp.messagingengine.com [66.111.4.26]) by mx1.freebsd.org (Postfix) with ESMTP id D33E88FC12; Fri, 9 Jan 2009 01:08:53 +0000 (UTC) (envelope-from bms@FreeBSD.org) Received: from compute1.internal (compute1.internal [10.202.2.41]) by out1.messagingengine.com (Postfix) with ESMTP id 629D7203176; Thu, 8 Jan 2009 20:08:52 -0500 (EST) Received: from heartbeat1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Thu, 08 Jan 2009 20:08:52 -0500 X-Sasl-enc: GDZP2x5q3YWdNyhGyCgjSWFGA+hsaCEb7h9iJyEWHMX1 1231463332 Received: from empiric.lon.incunabulum.net (82-35-112-254.cable.ubr07.dals.blueyonder.co.uk [82.35.112.254]) by mail.messagingengine.com (Postfix) with ESMTPSA id 8FD2328323; Thu, 8 Jan 2009 20:08:51 -0500 (EST) Message-ID: <4966A3A2.7030001@FreeBSD.org> Date: Fri, 09 Jan 2009 01:08:50 +0000 From: "Bruce M. Simpson" User-Agent: Thunderbird 2.0.0.19 (X11/20090107) MIME-Version: 1.0 To: Peter Steele References: <2ACA3DE8F9758A48B8BE2C7A847F91F2479DF2@polaris.maxiscale.com> <28b9b4180901070039x27a25bb4m6b50c8bfae63e0af@mail.gmail.com> <2ACA3DE8F9758A48B8BE2C7A847F91F2479E9A@polaris.maxiscale.com> <4964CA2E.5090708@wezel.com> <2ACA3DE8F9758A48B8BE2C7A847F91F2479FB0@polaris.maxiscale.com> <2ACA3DE8F9758A48B8BE2C7A847F91F2479FCE@polaris.maxiscale.com> <2ACA3DE8F9758A48B8BE2C7A847F91F2479FD9@polaris.maxiscale.com> <49668C71.4090407@FreeBSD.org> <2ACA3DE8F9758A48B8BE2C7A847F91F2479FF9@polaris.maxiscale.com> In-Reply-To: <2ACA3DE8F9758A48B8BE2C7A847F91F2479FF9@polaris.maxiscale.com> X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org, Adrian Chadd , Peter Grehan , "George V. Neville-Neil" Subject: Re: Having problems with limited broadcast 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: Fri, 09 Jan 2009 01:08:54 -0000 Peter Steele wrote: >> The folk who point out that link-local addresses could be used, have >> > an > >> interesting suggestion which might work for you. >> > > It's definitely interesting, but it is very likely that some of our > customers will want to be able to set their own IP ranges and not be > limited to 169.254/16. So we need a more generic solution. Sounds like it's bpf/pcap city for you guys. A similar bump-in-the-stack to SO_BINDTODEVICE, e.g. let's call it IP_SENDIF has been on the drawing board, but it needs appropriate security screening -- the ability to bypass the forwarding tables, whilst specifying an interface e.g. by index or name, would be desirable only for certain privileged processes. BTW: If you guys are already looking at scapy, you may also wish to give pcs.sourceforge.net a look as an alternative. It is a Python project which I did some hacking on with George Neville-Neill who started it. It has BPF/PCAP support out of the box and has a number of powerful features, including a packet-level expect() facility, which works in a very similar manner to pexpect (Python expect for text streams). I added a scapy-like concatenation syntax ('/' operator) to it as that makes plugging packet chains together that much easier. I have the beginnings of an IGMPv3 test suite in my home repo written using PCS, it uses pcap capture. I imagine a DHCP like protocol could easily be implemented using PCS too. cheers BMS