FreeBSD claims compliance with RFC2883 (DSACK) https://wiki.freebsd.org/action/login/TransportProtocols/tcp_rfc_compliance but a recent test on HEAD does not show the transmission of DSACK blocks on deliberatly sent, duplicate data segments. The bug may exist in older releases already, can not check currently. tuexen@ may have an update on this too.
This is fixed by: https://svnweb.freebsd.org/changeset/base/347382 https://svnweb.freebsd.org/changeset/base/348728 and it was MFCed to stable/12 in https://svnweb.freebsd.org/changeset/base/347902 https://svnweb.freebsd.org/changeset/base/349226