ng_netflow в RELENG_7_2
Начиная с RELENG_7_2, в коде ng_netflow появилась возможность генерировать не только ingress flow, но и egress flow. Так же добавлена возможность тегирования (mbuf-tag) пакетов, во избежание двойного аккаунтинга в случае одновременной генерации ingress и egress flow.
Поведением ng_netflow можно управлять при помощи нового типа управляющих сообщений NGM_NETFLOW_SETCONFIG (или setconfig в ascii представлении).
msg netflow: setconfig { iface = %u conf = %u }
Соответственно iface - номер хука ifaceX, conf - битовая маска составляемая из следующих значений:
#define NG_NETFLOW_CONF_INGRESS 1 #define NG_NETFLOW_CONF_EGRESS 2 #define NG_NETFLOW_CONF_ONCE 4 #define NG_NETFLOW_CONF_THISONCE 8
NG_NETFLOW_CONF_ONCE и NG_NETFLOW_CONF_THISONCE служат для предотвращения двойного аккаутинга пакетов.
Бит NG_NETFLOW_CONF_ONCE запрещает аккаунтинг тегированных mbuf-пакетов.
NG_NETFLOW_CONF_THISONCE запрещает аккаунтинг только mbuf-пакетов, помеченных текущим узлом netflow.
см: http://svn.freebsd.org/viewvc/base?view=revision&revision=186973
