# ifconfig ib0 192.168.0.5 netmask 255.255.255.0 # tail -7 /var/log/messages Feb 2 18:55:35 schizo kernel: ib_init entered Feb 2 18:55:35 schizo kernel: ib_start entered Feb 2 18:55:35 schizo kernel: ib_encap entered Feb 2 18:55:35 schizo kernel: DHOST ff ff ff ff ff ff Feb 2 18:55:35 schizo kernel: SHOST 0 c0 ee 22 3 14 Feb 2 18:55:35 schizo kernel: txeof entered Feb 2 18:55:35 schizo kernel: txeof exiting (I've modified ping.c to add extra debug messages about the length of the packet sent) $ ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1): 56 data bytes packets sent: -1 ping: sendto: Invalid argument packets sent: -1 ping: sendto: Invalid argument packets sent: -1 ^C I am dropping the IFF_DRV_OACTIVE flag as soon we reach ib_txeof (line 761) but ib_start() still doesn't start more than one time. full source code is available here www.freebsd.az/if_ib_4.c