Hi Peter, On Wed, 10 Dec 2025 at 16:25, Peter Eriksson <[email protected]> wrote:
> I’d like to find some way to force FreeBSD to send a stream of packet over > a loopback cable connected between two ethernet ports on the same machine, > but it seems FreeBSD also short-circuits it and handles that traffic > internally in the OS. Which normally is a good thing for speed, but bad > when you are trying to test suspect cables :-) > > I’ve found references that back in the pre-FreeBSD 10 days there used to > exist a sysctl: > > net.link.ether.inet.useloopback > > that could be set to 0 to disable this internal shortcut and force the > packets out onto the cable… > > Any suggestions? :-) > > - Peter > You can use a jail + vnet. There are examples in this pdf: https://freebsdfoundation.org/wp-content/uploads/2020/03/Jail-vnet-by-Examples.pdf I do something similar. There are basically 3 steps. Create the vnet capable jail, move the interface inside, configure the address(es). Here is one half of it: ######## if1="mce0" if1_jail_name="via_mce0" if1_ip="10.0.0.1/24" if1_testip="10.0.0.2" jail -i -c name=${if1_jail_name} host.hostname=${if1_jail_name} vnet persist ifconfig ${if1} vnet ${if1_jail_name} jexec ${if1_jail_name} ifconfig ${if1} ${if1_ip} # Check by pinging the other side echo jexec ${if1_jail_name} ping -c 3 ${if1_testip} jexec ${if1_jail_name} ping -c 3 ${if1_testip} ######### John
