[eepro100] About RX and TX for a dual port nic on the same network
Ben Greear
greearb@candelatech.com
Mon, 17 Sep 2001 13:29:40 -0700
Thomas Lorenzen wrote:
>
> Hi'
>
> In my cluster setup of linux machines I have a server
> with a dual port nic, which services all the clients via
> diskless boot and root via nfs. The clients and the server
> are connected evenly between two unmanages switches, which
> in turn are connected via their gigabit ports. Half of the
> clients are connected to sw-1, which also hosts eth1 of the
> dual port nic, whereas the other half of the clients are
> connected to sw-2, which also hosts eth2 of the dual port
> nic. I note, that every machine can see each other via the
> gigabit link interconnecting the switches, and thus every
> client is able to see both eth1 and eth2 of the dual port
> nic of the server.
>
> Below I present the relevant output of ifconfig.
>
> eth1 Link encap:Ethernet HWaddr 00:03:47:3B:27:EE
> inet addr:192.168.200.100 Bcast:192.168.200.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:399607 errors:0 dropped:0 overruns:0 frame:0
> TX packets:1070472 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> Interrupt:19 Base address:0x4000
> eth2 Link encap:Ethernet HWaddr 00:03:47:3B:27:EF
> inet addr:192.168.200.200 Bcast:192.168.200.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:142634 errors:0 dropped:0 overruns:0 frame:0
> TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> Interrupt:16 Base address:0x6000
>
> Below I present the relevant output of route.
>
> 192.168.200.0 * 255.255.255.0 U 0 0 0 eth1
> 192.168.200.0 * 255.255.255.0 U 0 0 0 eth2
>
> The problem is, that if I ping the eth2 interface of the
> dual port nic, then the eth1 interface of the dual port nic
> answers back. This is somehow expectable, as both ports are
> (and in my setup has to be) configured on the same network,
> why the first available interface to the kernel apparently
> gets to answer the request. As one can see from the output
> above this however produces a very uneven load on eth1 and
> eth2 with respect to the interfaces. Both interfaces
> receives packages (RX), but just about only the first
> interface answers the requests (TX). In other words, pinging
> eth2 increments RX of eth2, but increments TX on eth1,
> meaning, that eth1 answers the ping.
>
> In brief my question goes as follows. Given a dual port
> nic with both interfaces configured on the same network. Is
> there then a way to specify, that packets to a specific
> port, eth2 say, is always answered by the same port, eth2
> say.
Turning on proxy-arp, along with some sort of policy-based
routing should do the trick.
This turns on proxy arp:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
Policy based routing can be manipulated with the 'ip' program,
but I don't know of a real quick way to do what you want...
Ben
>
> Thanks for any help in advance.
>
> Best Regards.
>
> Thomas.
>
> ----------------------------------------------------------------------
> Cand. Scient. Thomas Lorenzen Phone : (+ 45) 35 32 02 50
> Department of Chemistry Fax : (+ 45) 35 32 02 59
> University of Copenhagen Mail : tl@theory.ki.ku.dk
> DK, 2100 Copenhagen, Denmark Homepage : http://theochem.ki.ku.dk/~tl
> ----------------------------------------------------------------------
>
> _______________________________________________
> eepro100 mailing list
> eepro100@scyld.com
> http://www.scyld.com/mailman/listinfo/eepro100
--
Ben Greear <greearb@candelatech.com> <Ben_Greear@excite.com>
President of Candela Technologies Inc http://www.candelatech.com
ScryMUD: http://scry.wanfear.com http://scry.wanfear.com/~greear