Date: Thu, 20 Sep 2007 22:22:21 -0700 From: "Len Gross" <sandiegobiker@gmail.com> To: "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org> Subject: Re: Multiple NICs - custom protocol development Message-ID: <27cb3ada0709202222w7af08809s2e7c8d79c5c7880b@mail.gmail.com> In-Reply-To: <448x71nfmx.fsf@Lowell-Desk.lan> References: <27cb3ada0709161413i163d942cld279e92634d06001@mail.gmail.com> <448x71nfmx.fsf@Lowell-Desk.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
First, thanks for the response; It's nice to see some community support. Here is what I am trying to do: I am building a custom MAC protocol for a wireless system that has different software on the "head end" and the "clients." It is not peer-to-peer, While the hardware is being developed I want to use Ethernet as a physical layer. So,I want to use one card running server code and one card running client code initially. Later I will do the checkout with multiple client machines and a single server. If the OS "loops a packet back" (At the IP layer) before it gets to my "MAC layer" then I can't test any code. -- Len On 9/20/07, Lowell Gilbert <freebsd-questions-local@be-well.ilk.org> wrote: > > "Len Gross" <sandiegobiker@gmail.com> writes: > > > I have a host on my local 192.168.0 / 24 subnet that works fine in > getting > > to the Internet via a default route.via a wireless connection. > > I want to develop some custom link protocols and I have placed two > Ethernet > > NICs in the box. > > I want to be able to send packets from one NIC to the other and maintain > the > > link to the Internet. > > I've tried a large number of things via rc.conf but when I ping of the > cards > > it is not going out the interface; it just gets looped back. (I test > this > > by disconnecting the "crossover cable" between the two cards.) > > > > My current rc.conf has the following attempt, but this fails. > > > > # > > router_enable="Yes" > > gateway_enable="Yes" > > # Ethernet 1: > > ifconfig_xl0="inet 192.168.1.1 netmask 255.255.255.0" > > # Ethernet 2 > > ifconfig_rl0="inet 192.168.2.1 netmask 255.255.255.0" > > # > > # Set up loop between the two ethernet cards > > static_routes "xtor, rtox" > > route_rtox = "-host 192.168.1.1 192.168.2.1" > > route_xtor = "-host 192.168.2.1 192.168.1.1" > > > > Can I do what I want or must I have a second development box? > > What you want to do doesn't make sense; there is no reason to send > packets to yourself over a wire. If your machine is sending packets > to itself, the best path is over the loopback, and it doesn't make > sense to send it over a different path. So you need to examine *why* > you want to do that before you can figure out the best approach to > your root problem. > > I do protocol development and testing through a number of different > approaches, but for basic development there's usually no problem with > letting the packets go over the loopback. For working on something > like DHCP, I need separate IP stacks, because that will modify the > routing tables differently on the server and the client(s). For that, > I find virtual machines (qemu, most recently) to be the easiest and > most flexible environment. I have also used environments based on > bpf(4) interfaces when I was working with IP stacks that ran > separately from the system's kernel. > > Good luck. >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?27cb3ada0709202222w7af08809s2e7c8d79c5c7880b>