diff --git a/autotest.sh b/autotest.sh index 34f743045..fbc5612c2 100755 --- a/autotest.sh +++ b/autotest.sh @@ -60,6 +60,7 @@ out=$output_dir cd $src freebsd_update_contigmem_mod +freebsd_set_maxsock_buf # lcov takes considerable time to process clang coverage. # Disabling lcov allow us to do this. diff --git a/test/common/autotest_common.sh b/test/common/autotest_common.sh index c9d0f96d7..76477ab94 100755 --- a/test/common/autotest_common.sh +++ b/test/common/autotest_common.sh @@ -1411,6 +1411,15 @@ function freebsd_update_contigmem_mod() { fi } +function freebsd_set_maxsock_buf() { + # FreeBSD needs 4MB maxsockbuf size to pass socket unit tests. + # Otherwise tests fail due to ENOBUFS when trying to do setsockopt(SO_RCVBUF|SO_SNDBUF). + # See https://github.com/spdk/spdk/issues/2943 + if [[ $(uname) = FreeBSD ]] && (($(sysctl -n kern.ipc.maxsockbuf) < 4194304)); then + sysctl kern.ipc.maxsockbuf=4194304 + fi +} + function get_nvme_name_from_bdf() { blkname=()