From owner-freebsd-net@FreeBSD.ORG Mon Apr 26 13:02:52 2004 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 3737916A4CE for ; Mon, 26 Apr 2004 13:02:52 -0700 (PDT) Received: from sccrmhc12.comcast.net (sccrmhc12.comcast.net [204.127.202.56]) by mx1.FreeBSD.org (Postfix) with ESMTP id E309C43D64 for ; Mon, 26 Apr 2004 13:02:51 -0700 (PDT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org ([24.7.73.28]) by comcast.net (sccrmhc12) with ESMTP id <20040426200250012002so51e>; Mon, 26 Apr 2004 20:02:51 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id NAA46684; Mon, 26 Apr 2004 13:02:50 -0700 (PDT) Date: Mon, 26 Apr 2004 13:02:48 -0700 (PDT) From: Julian Elischer To: David Yeske In-Reply-To: <20040426182243.59597.qmail@web13506.mail.yahoo.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: net@freebsd.org Subject: Re: netgraph arp issues vs linux veth 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, 26 Apr 2004 20:02:52 -0000 On Mon, 26 Apr 2004, David Yeske wrote: > I made another attempt with netgraph and I think I'm almost there, but I'm > still having some issues. I found a linux solution called veth > http://www.geocities.com/nestorjpg/veth/ which might do the job, but I would > prefer to use netgraph if possible. Here is some more detailed config > information. > > I ran this on the spoof machine > > # ngctl mkpeer . eiface hook ether > # ifconfig ngeth0 link 00:bd:03:12:12:12 > # ifconfig ngeth0 192.168.10.3 netmask 255.255.255.0 > > # ngctl mkpeer ngeth0: bridge lower link0 the lower hook of an ngether node does what exactly? [goes off to read code...] ok the hook really should be called "ether" are you SURE you didn't get an error? > # ngctl name ngeth0:lower broken > # ngctl connect fxp0: broken: lower link1 > # ngctl connect fxp0: broken: upper link2 > # ngctl connect ngeth0: broken: upper link3 > # ngctl msg ngeth0: setpromisc 1 > # ngctl msg ngeth0: setautosrc 0 > # ngctl msg fxp0: setpromisc 1 > # ngctl msg fxp0: setautosrc 0 > > # ngctl show broken: > Name: broken Type: bridge ID: 00000046 Num hooks: 4 > Local hook Peer name Peer type Peer ID Peer hook > ---------- --------- --------- ------- --------- > link3 ngeth0 ether 00000005 upper > link2 fxp0 ether 00000004 upper > link1 fxp0 ether 00000004 lower > link0 ngeth0 ether 00000005 lower try this instead: ngctl mkpeer fxp0: bridge lower link1 ngctl name fxp0:lower bridge ngctl connect fxp0: bridge: upper link2 ngctl msg fxp0: setpromisc 1 ngctl msg fxp0: setautosrc 0 if ngeth0 already exists.. ngctl connect bridge: ngeth0: link2 ether if not then.. ngctl mkpeer bridge: eiface link2 ether ifconfig ngeth0 link 00:bd:03:12:12:12 ifconfig ngeth0 192.168.10.3 netmask 255.255.255.0 > > on the remote machine an arp -a lists this > ? (192.168.10.3) at 00:bd:03:12:12:12 on rl0 [ethernet] > ? (192.168.10.1) at 00:00:e8:5b:13:44 on rl0 permanent [ethernet] > > on the spoof machine an arp -a lists this > ? (192.168.10.1) at (incomplete) on ngeth0 [ethernet] > ? (192.168.10.3) at 00:bd:03:12:12:12 on ngeth0 permanent [ethernet] > > a sniff on the spoof machine listed this while pinging the remote machine > > # tcpdump -i ngeth0 'ether host 00:00:e8:5b:13:44' > tcpdump: listening on ngeth0 > 14:03:30.519263 arp reply 192.168.10.1 is-at 0:0:e8:5b:13:44 > 14:03:33.416568 192.168.10.1 > 192.168.10.3: icmp: echo request > 14:03:40.530562 arp reply 192.168.10.1 is-at 0:0:e8:5b:13:44 > 14:03:43.427175 192.168.10.1 > 192.168.10.3: icmp: echo request > 14:03:50.540805 arp reply 192.168.10.1 is-at 0:0:e8:5b:13:44 > 14:03:53.437845 192.168.10.1 > 192.168.10.3: icmp: echo request > 14:04:00.550960 arp reply 192.168.10.1 is-at 0:0:e8:5b:13:44 > 14:04:03.448383 192.168.10.1 > 192.168.10.3: icmp: echo request > > a sniff on the remote machine listed this while pinging the spoof machine > > # tcpdump -i rl0 'ether host 00:bd:03:12:12:12' > tcpdump: listening on rl0 > 14:02:24.918804 192.168.10.1 > 192.168.10.3: icmp: echo request > 14:02:29.179263 arp reply 192.168.10.1 is-at 0:0:e8:5b:13:44 > 14:02:34.929051 192.168.10.1 > 192.168.10.3: icmp: echo request > 14:02:44.939136 192.168.10.1 > 192.168.10.3: icmp: echo request > 14:02:52.052260 arp reply 192.168.10.1 is-at 0:0:e8:5b:13:44 > 14:02:54.949402 192.168.10.1 > 192.168.10.3: icmp: echo request > 14:03:02.063079 arp reply 192.168.10.1 is-at 0:0:e8:5b:13:44 > 14:03:04.959534 192.168.10.1 > 192.168.10.3: icmp: echo request > 14:03:12.072830 arp reply 192.168.10.1 is-at 0:0:e8:5b:13:44 > > Any clues or pointers are greatly appreciated and will mean I get to deploy > FreeBSD with netgraph rather than linux with veth. > > Regards, > David Yeske > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >