Netlink sockets sometimes require larger buffers than other sockets - as, for example, full-view IPv4 dump sent via netlink may consume ~50 megabytes. The desired buffer may be bigger than the system maximum (sb_max).
FreeBSD HEAD has a mechanism for overriding protocol setsockopt() handler, which netlink uses to permit buffer reservations beyond sb_max. This behaviour is handy as it doesn't require system administrator to lift the limits of other sockets.
Stable/13 lack such muchanism, so a different approach has to be used.
This diff is a direct commit to stable/13 and it simply copies the current logic for checking if the larger buffer size should be pertmitted, from the Netlink.