На современных версиях FreeBSD вы одним скриптом не обойдетесь.
Начиная с 12 версии они драйвера для сетевых intel переделали под фреймворк iflib. Идея неплохая, он автоматически балансирует нагрузку по ядрам очень даже неплохо, но почему-то только на первом физическом процессоре. Там, где стоит 1 процессор никаких проблем все работает из коробки, легкий тюнинг и можно работать. Если стоит 2 процессора, я пока нашел единственное решение:
Ставим из портов драйвер для вашей сетевой, для этого должны быть установлены исходники системы в /usr/src.
/usr/ports/net/intel-ix-kmod или /usr/ports/net/intel-ixl-kmod
В /boot/loader.conf прописываем загрузку этого нового драйвера
if_ix_updated_load="YES"
После перезагрузки, загрузится драйвер без поддержки iflib, для сетевых ix он дает по 8 потоков на каждый порт сетевой, эти потоки можно привязать к ядрам процессора как удобно.
У меня так получается на сервере с двумя E5-2609 более 7 гигабит, шейпер, нат.
Всего 20 ядер: 1 под dummynet, 16 под прерывания сетевых, и 3 ядра почти свободны. С iflib под сеть работает только 1 процессор 10 ядер, вместо 16.
В вашем случае будет хуже. Всего 12 ядер. 1 под dummynet.
Далее 11 ядер надо разделить на 16 потоков если используете 2 порта сетевой карты. В этом случае на некоторые ядра попадут по 2 потока, что не очень хорошо.
Либо один порт сетевой, тогда под сетевую использовать 8 ядер и 3 ядра свободны.