FreeBSD 11.0-RC1: The `net.inet.ip.random_id` sysctl does not appear to be randomizing when set to `1`. Tested on two bhyve virtual machines and using nmap. FreeBSD 11.0-RC1: $ nmap -O -v -Pn freebsd-11.0-rc1.example.com ... IP ID Sequence Generation: All zeros ... FreeBSD 10.3-RELEASE (works as expected): $ nmap -O -v -Pn freebsd-10.3-release.example.com ... IP ID Sequence Generation: Randomized ... On 10.3-RELEASE, out of the box (`net.inet.ip.random_id=0`) the IP IDs generation behavior was "Incremental", as stated in `inet(4)`.
IP ID's are zero when IP fragmentation is not used.
As per rfc6864, if you have DF set, IP ID can be 0.
If net.inet.ip.rfc6864 is disabled, 10.3 behavior is observed: https://reviews.freebsd.org/D2177