Multiple NICs - custom protocol development

Len Gross sandiegobiker at gmail.com
Thu Sep 20 22:22:22 PDT 2007


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 at be-well.ilk.org> wrote:
>
> "Len Gross" <sandiegobiker at 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.
>


More information about the freebsd-questions mailing list