Send traffic to itself using real NIC

Jacques Fourie jacques.fourie at gmail.com
Tue Aug 7 14:04:18 UTC 2012


On Tue, Aug 7, 2012 at 3:53 PM, Eugene Grosbein <egrosbein at rdtc.ru> wrote:
> Hi!
>
> I'd like to run some stability tests for some L2-transparent
> gigabit ethernet network hardware I've got.
>
> I have one spare FreeBSD 9.1-PRERELEASE with two-ports igb(4) card
> and connected both ports using my L2 hardward making a loop.
>
> Is it possible to configure FreeBSD in such way so it would send
> IP traffic for itself not via loopback interface but via igb0/igb1?
>
> I've tried to utilize multiple FIBs:
>
> sysctl net.add_addr_allfibs=0
> ifconfig igb0 inet 10.0.0.1/24 mtu 9126
> ifconfig igb1 inet 10.0.1.1/24 mtu 9126
> setfib 1 route -q flush
> setfib 1 route add 10.0.1.1/32 -iface igb1
> setfib 2 route -q flush
> setfib 2 route add 10.0.0.1/32 -iface igb0
>
> But "setfib 1 ping -S 10.0.0.1 10.0.1.1" still runs via lo0 (and has no answer).
>
> The only way I've got working is unidirectional stream of packets
> generated with ng_source(4) (patched due to kern/120304) that shows me 10% packet loss
> (using netstat -I to see how many packets got through).
>
> I would really like using normal TCP/UDP/ICMP streams in addition of ng_source tests.
>
> Eugene Grosbein
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"

You can try using a VIMAGE enabled kernel and jails using epair(4) as
the network interface. Bridge the epair interfaces on the host to
igb0/igb1 and you should be able to communicate between the two jails
via igb0 and igb1.


More information about the freebsd-net mailing list