Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Aug 2012 16:33:11 +0200
From:      Marko Zec <zec@fer.hr>
To:        <freebsd-net@freebsd.org>
Cc:        Jacques Fourie <jacques.fourie@gmail.com>, Eugene Grosbein <egrosbein@rdtc.ru>, "net@freebsd.org" <net@freebsd.org>
Subject:   Re: Send traffic to itself using real NIC
Message-ID:  <201208071633.11524.zec@fer.hr>
In-Reply-To: <CALX0vxBvhsSxf6CyrboW6gomSC5cJMyLizihcH1-%2BwRfT2w-Lw@mail.gmail.com>
References:  <50211DF0.2090607@rdtc.ru> <CALX0vxBvhsSxf6CyrboW6gomSC5cJMyLizihcH1-%2BwRfT2w-Lw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 07 August 2012 16:04:17 Jacques Fourie wrote:
> On Tue, Aug 7, 2012 at 3:53 PM, Eugene Grosbein <egrosbein@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@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> > To unsubscribe, send any mail to "freebsd-net-unsubscribe@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.

There's no need to use epair at all here.  Just create a vnet jail, and assign 
one of the igb interfaces into it, done:

# jail -c name=x vnet persist
# ifconfig igb1 vnet x
# jexec x ifconfig
lo0: flags=8008<LOOPBACK,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
igb1: flags=8842<...> metric 0 mtu 1500 ...

Marko




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