Jump to content
Калькуляторы

FreeBSD, ng_ether не пропускает трафик

Доброго времени суток!

 

Можеть ктото уже сталкивался с чемто похожим?

 

Есть сервер, два 10G интерфейса: ix1 - уходит вниз в локалку и ix0 - уходит наверх на bgw (это шейпер).

 

root@shaper:~ # uname -a

FreeBSD shaper 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 21:02:49 UTC 2014 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64

 

Создаю. мост на ng_ether:

 

ifconfig ix0 up

ifconfig ix1 up

ngctl

msg ix0: setpromisc 1

msg ix0: setautosrc 0

msg ix1: setpromisc 1

msg ix1: setautosrc 0

connect ix0: ix1: lower lower

exit

 

IPFW отключен:

root@shaper:~ # ipfw show

ipfw: getsockopt(IP_FW_GET): Protocol not available

 

Система чистая, сразу после установки и накатывания необходимых пакетов (mc, vim, nload и т.п.).

 

Включаю трафик через мост, в течение 10-30 секунд все работает, потом трафик перестает проходить. На счетчиках видна такая картина, входящие на ix1 примерно соответствуют исходящим на ix0 и они растут (трафек наверх из сети идет). Так же растут входящие на ix0. А вот исходящие с ix1 не тикают. Трафик вниз не идет.

 

Ранее эта схема, на этом же сервере работала на freebsd 8.1, никаких проблем не было. Сейчас попробовал ставить системы 8.4, 9.3, 10.1 - результат идентичен.

 

При этом если создаю мост на if_bridge, проблем никаких нет, трафик пропускается.

Share this post


Link to post
Share on other sites

Создайте PR.

В 10.1 с картами ix есть проблемы с режимом lagg

Скорее всего это взаимосвязано.

Share this post


Link to post
Share on other sites

Меня смущает что на 8.4 и 9.3 я получил тоже самое, но на 8.1 все работало на этом самом серваке. Преследует ощущение что я чего то забыл и недокрутил.

Share this post


Link to post
Share on other sites

Не вижу никакого криминала.

Может быть ещё тюнинг нетграфа посмотреть, вдруг памяти не хватает.

vmztat -z

 

ipfw вообще не при делах, нетграф забирает пакеты намного раньше.

Share this post


Link to post
Share on other sites

В 10 фре mbuf по умолчанию большие:

 

root@shaper:~ # vmstat -z | grep mbuf

mbuf_packet: 256, 4880985, 47645, 12822, 1386502, 0, 0

mbuf: 256, 4880985, 35364, 2839, 3766401, 0, 0

mbuf_cluster: 2048, 762652, 60467, 29, 60467, 0, 0

mbuf_jumbo_page: 4096, 381326, 0, 4, 10, 0, 0

mbuf_jumbo_9k: 9216, 112985, 0, 0, 0, 0, 0

mbuf_jumbo_16k: 16384, 63554, 0, 0, 0, 0, 0

mbuf_ext_refcnt: 4, 0, 0, 0, 0, 0, 0

root@shaper:~ # sysctl -a | grep mbuf

kern.ipc.maxmbufmem: 6247651328

kern.ipc.nmbufs: 4880985

 

Буду создавать PR. Пока включу шейпер через if_bridge.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this