Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 2003 08:27:19 -0800 (PST)
From:      Maksim Yevmenkin <m_evmenkin@yahoo.com>
To:        questions@freebsd.org, net@freebsd.org
Subject:   how to force packets to go out on a specific interface
Message-ID:  <20031204162719.62941.qmail@web40302.mail.yahoo.com>

next in thread | raw e-mail | index | archive | help
Dear Hackers,

is there a way to force packets to go out on a specific interface
based on a source IP address? 

here is what we want: for testing purposes we have a FreeBSD box with
two 100Mbit NICs (em0 and em1). both NICs are on the the same subnet
172.1.1.x/23. both NICs are connected to the ServerIron. the purpose
of the setup is to get 200Mbit link between FreeBSD and ServerIron.

ethernet trunking is NOT an option. it seems ServerIron uses algorithm
that selects physical port in the trunk based on source and destination
IP. IPs do not change during the test, so one NIC gets more traffic then
another (we only have few clients that talk to the FreeBSD box).

so what is really required is: if a process was bound to 172.1.1.1 (em0)
then the packets should go out on em0 and if process was bound to
172.1.1.2 (em1) then packets should go out on em1. we tried ipfw(8)
"forward" and it did not do what we want. Linux can handle this via
"ip route foo bar" thing where we can specify which local source address
should go out on which interface.

one more thing: the solution must be compatible with dummynet(4).

thanks,
max

__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031204162719.62941.qmail>