Re: 2 nics in the same machine...

From: Helge Hafting
Date: Fri Mar 19 2004 - 04:17:27 EST


RANDAZZO@xxxxxxxxxxx wrote:
I have connected two nics in the same machine with a null modem cable...

I have configured nic 1 to be 156.15.16.1 and nic 2 to be 156.15.16.2

I have adjusted the routes so that nic 1 routes to nic 2 and vice versa...

how come when I ping 156.15.16.1 it does not go out nic 2...

am I missing something?

Kernel sees that it have a ping packet destined for 156.15.16.1
Kernel notices it has several NICs available, so it chooses
the one closest to the destination. NIC1 _is_ 156.15.16.1 so it
_is_ the destination.
Kernel figures that the packet is already here, and never sends it
out on the wire.

A crossed cable between two NICS in the same machine is
a testing setup, right?

If you want to test NICs (or cables & hubs) do this:

1. Run a packet sniffer on the "listening" NIC. Run it in
promiscuous mode so it'll even sniff packets not meant for it.

2. Set a default route to the "sending" NIC. Or at least a route
to some network that isn't on your machine.

3. Ping the remote network. You will not get an answer, but:
The packet will be sent through the "sending" NIC, and sniffed by the "listening" NIC. So you'll verify that
NICs and cable works. Optionally make a script that reverses
the roles of the two NICs if you want to test both ways.

If, on the other hand, you're testing apps/protocols, don't worry that the traffic don't hit the wire. A test utilizing internal loopback
is just as good. If you really need traffic to go out on a wire, then
you likely need two or more machines for a realistic test too.

Helge Hafting

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/