From owner-freebsd-net@FreeBSD.ORG Mon Mar 21 13:42:18 2005 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7861D16A4CE for ; Mon, 21 Mar 2005 13:42:18 +0000 (GMT) Received: from rosebud.otenet.gr (rosebud.otenet.gr [195.170.0.26]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8EDEC43D55 for ; Mon, 21 Mar 2005 13:42:17 +0000 (GMT) (envelope-from keramida@freebsd.org) Received: from orion.daedalusnetworks.priv (aris.bedc.ondsl.gr [62.103.39.226])j2LDfhDh021279; Mon, 21 Mar 2005 15:41:44 +0200 Received: from orion.daedalusnetworks.priv (orion [127.0.0.1]) j2LDgE8E094499; Mon, 21 Mar 2005 15:42:14 +0200 (EET) (envelope-from keramida@freebsd.org) Received: (from keramida@localhost)j2LDgERk094498; Mon, 21 Mar 2005 15:42:14 +0200 (EET) (envelope-from keramida@freebsd.org) Date: Mon, 21 Mar 2005 15:42:14 +0200 From: Giorgos Keramidas To: Patrik Arlos Message-ID: <20050321134214.GB94380@orion.daedalusnetworks.priv> References: <001001c52e16$b3e8bde0$73942fc2@Trantor> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <001001c52e16$b3e8bde0$73942fc2@Trantor> cc: freebsd-net@freebsd.org Subject: Re: Sending Ethernet frames X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 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, 21 Mar 2005 13:42:18 -0000 On 2005-03-21 14:05, Patrik Arlos wrote: > I'm trying to send 'raw' Ethernet frames. I have however not found any > examples of how to do this in BSD. > > Is it possible to open a 'ethernet' socket, similar to a AF_INET? I > need to be able to control the destination address and type/len field > in the Ethernet header. > > In Linux it is possible open a SOCK_RAW and bind it to a particular > interface, I've tried to use the sockadd_dl but in this case bind dies > with error 22, any way to do this? It may be a good idea to investigate if libnet does your job. The ports version (net/libnet-devel) is based on libnet-1.1.2.1. Mike Schiffman, who writes libnet may have a newer version on his site: http://www.packetfactory.net/projects/libnet/ If you do decide to use libnet, I also have a few local patches that may be interesting; mostly updates lto ibnet's build tree that use the latest automake and autoconf or changes to libtoolize libnet; these are "local hacks" though.