git: ce7dc5c30bde - main - net-mgmt/ipfixcol2: New port: High-performance NetFlow v5/v9 and IPFIX collector (RFC7011)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 14 Aug 2024 05:27:08 UTC
The branch main has been updated by eugen: URL: https://cgit.FreeBSD.org/ports/commit/?id=ce7dc5c30bde171cb3aa9c17d19c0a330e9a9909 commit ce7dc5c30bde171cb3aa9c17d19c0a330e9a9909 Author: Marek Zarychta <zarychtam@plan-b.pwste.edu.pl> AuthorDate: 2024-08-08 07:15:24 +0000 Commit: Eugene Grosbein <eugen@FreeBSD.org> CommitDate: 2024-08-14 05:26:15 +0000 net-mgmt/ipfixcol2: New port: High-performance NetFlow v5/v9 and IPFIX collector (RFC7011) PR: 280682 Sponsored by: CESNET, z.s.p.o. Sponsored by: PANS Jarosław Signed-off-by: Eugene Grosbein <eugen@FreeBSD.org> --- GIDs | 2 +- UIDs | 2 +- net-mgmt/Makefile | 1 + net-mgmt/ipfixcol2/Makefile | 39 +++++++++++++++++++++++++++++++ net-mgmt/ipfixcol2/distinfo | 3 +++ net-mgmt/ipfixcol2/files/ipfixcol2.in | 30 ++++++++++++++++++++++++ net-mgmt/ipfixcol2/pkg-descr | 2 ++ net-mgmt/ipfixcol2/pkg-plist | 44 +++++++++++++++++++++++++++++++++++ 8 files changed, 121 insertions(+), 2 deletions(-) diff --git a/GIDs b/GIDs index 80afa5565441..eaf5b1588e14 100644 --- a/GIDs +++ b/GIDs @@ -481,7 +481,7 @@ valkey:*:537: # free: 538 # free: 539 # free: 540 -# free: 541 +ipfixcol2:*:541: _flowd:*:542: ejabberd:*:543: # free: 544 diff --git a/UIDs b/UIDs index 91822b11dd63..dda814603f01 100644 --- a/UIDs +++ b/UIDs @@ -486,7 +486,7 @@ valkey:*:537:537::0:0:Valkey Daemon:/nonexistent:/usr/sbin/nologin # free: 538 # free: 539 # free: 540 -# free: 541 +ipfixcol2:*:541:541::0:0:IPFIXcol2 User:/var/empty:/usr/sbin/nologin _flowd:*:542:542::0:0:flowd privilege separation user:/var/empty:/usr/sbin/nologin ejabberd:*:543:543::0:0:ejabberd pseudo user:/var/spool/ejabberd:/bin/sh # free: 544 diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile index 800a44212552..d0036adf6f00 100644 --- a/net-mgmt/Makefile +++ b/net-mgmt/Makefile @@ -116,6 +116,7 @@ SUBDIR += ipaudit SUBDIR += ipcad SUBDIR += ipcalc + SUBDIR += ipfixcol2 SUBDIR += iprange SUBDIR += ipv6calc SUBDIR += ipv6gen diff --git a/net-mgmt/ipfixcol2/Makefile b/net-mgmt/ipfixcol2/Makefile new file mode 100644 index 000000000000..f2bb7613e465 --- /dev/null +++ b/net-mgmt/ipfixcol2/Makefile @@ -0,0 +1,39 @@ +PORTNAME= ipfixcol2 +DISTVERSIONPREFIX= v +DISTVERSION= 2.6.0 +CATEGORIES= net-mgmt + +MAINTAINER= zarychtam@plan-b.pwste.edu.pl +COMMENT= NetFlow v5/v9 and IPFIX flow (RFC 7011) data collector +WWW= https://github.com/CESNET/ipfixcol2 + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= librdkafka.so:net/librdkafka \ + libepoll-shim.so:devel/libepoll-shim \ + libfds.so:net-mgmt/libfds + +BUILD_DEPENDS= rst2man:textproc/py-docutils +USES= cmake localbase:ldflags pkgconfig + +USE_GITHUB= yes +GH_ACCOUNT= CESNET +USE_RC_SUBR=${PORTNAME} +USERS= ${PORTNAME} +GROUPS= ${PORTNAME} +PORTEXAMPLES= * + +LDFLAGS+= -rdynamic +CXXFLAGS+= -D_GNU_SOURCE + +OPTIONS_DEFINE= EXAMPLES + +post-install: + ${MKDIR} ${STAGEDIR}${ETCDIR} ${STAGEDIR}/var/run/${PORTNAME} + ${INSTALL_DATA} ${WRKSRC}/doc/data/configs/udp2json.xml ${STAGEDIR}${ETCDIR}/startup.xml.sample + +post-install-EXAMPLES-on: + cd ${WRKSRC}/doc/data && ${COPYTREE_SHARE} "configs" ${STAGEDIR}${EXAMPLESDIR} + +.include <bsd.port.mk> diff --git a/net-mgmt/ipfixcol2/distinfo b/net-mgmt/ipfixcol2/distinfo new file mode 100644 index 000000000000..21e6c7926aac --- /dev/null +++ b/net-mgmt/ipfixcol2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1723058329 +SHA256 (CESNET-ipfixcol2-v2.6.0_GH0.tar.gz) = 6eb9660a40638b557e3e8ffecebc356667e7678917579b33ddcb713849cf219e +SIZE (CESNET-ipfixcol2-v2.6.0_GH0.tar.gz) = 667376 diff --git a/net-mgmt/ipfixcol2/files/ipfixcol2.in b/net-mgmt/ipfixcol2/files/ipfixcol2.in new file mode 100644 index 000000000000..56e21238f8e6 --- /dev/null +++ b/net-mgmt/ipfixcol2/files/ipfixcol2.in @@ -0,0 +1,30 @@ +#!/bin/sh + +# PROVIDE: ipfixcol2 +# REQUIRE: NETWORKING SERVERS LOGIN +# BEFORE: securelevel +# KEYWORD: shutdown + +# Add the following line to /etc/rc.conf to enable 'ipfixcol2': +# +# ipfixcol2_enable="YES" +# + +. /etc/rc.subr + +name=ipfixcol2 +desc="ipfixcol2 startup script" +rcvar=ipfixcol2_enable + +load_rc_config "$name" + +: ${ipfixcol2_enable:=NO} +: ${ipfixcol2_conf:=%%PREFIX%%/etc/$name.conf} +: ${ipfixcol2_flags:=""} +: ${ipfixcol2_user:=ipfixcol2} + +command=%%PREFIX%%/bin/ipfixcol2 +command_args="-d -P /var/run/$name/$name.pid ${ipfixcol2_flags}" +pidfile=/var/run/$name/$name.pid + +run_rc_command "$1" diff --git a/net-mgmt/ipfixcol2/pkg-descr b/net-mgmt/ipfixcol2/pkg-descr new file mode 100644 index 000000000000..3536a598bd05 --- /dev/null +++ b/net-mgmt/ipfixcol2/pkg-descr @@ -0,0 +1,2 @@ +IPFIXcol2 is a flexible, high-performance NetFlow v5/v9 and IPFIX flow data +collector designed to be extensible by plugins. diff --git a/net-mgmt/ipfixcol2/pkg-plist b/net-mgmt/ipfixcol2/pkg-plist new file mode 100644 index 000000000000..b4bcb5707de9 --- /dev/null +++ b/net-mgmt/ipfixcol2/pkg-plist @@ -0,0 +1,44 @@ +@dir etc/ipfixcol2 +bin/fdsdump +bin/ipfixcol2 +bin/ipfixsend2 +include/ipfixcol2.h +include/ipfixcol2/api.h +include/ipfixcol2/message.h +include/ipfixcol2/message_garbage.h +include/ipfixcol2/message_ipfix.h +include/ipfixcol2/message_session.h +include/ipfixcol2/plugins.h +include/ipfixcol2/session.h +include/ipfixcol2/utils.h +include/ipfixcol2/verbose.h +lib/ipfixcol2/libanonymization-intermediate.so +lib/ipfixcol2/libdummy-input.so +lib/ipfixcol2/libdummy-output.so +lib/ipfixcol2/libfds-input.so +lib/ipfixcol2/libfds-output.so +lib/ipfixcol2/libforwarder-output.so +lib/ipfixcol2/libipfix-input.so +lib/ipfixcol2/libipfix-output.so +lib/ipfixcol2/libjson-kafka-output.so +lib/ipfixcol2/libjson-output.so +lib/ipfixcol2/libtcp-input.so +lib/ipfixcol2/libtimecheck-output.so +lib/ipfixcol2/libudp-input.so +lib/ipfixcol2/libviewer-output.so +libdata/pkgconfig/ipfixcol2.pc +share/man/man7/ipfixcol2-anonymization-inter.7.gz +share/man/man7/ipfixcol2-dummy-output.7.gz +share/man/man7/ipfixcol2-fds-input.7.gz +share/man/man7/ipfixcol2-fds-output.7.gz +share/man/man7/ipfixcol2-forwarder-output.7.gz +share/man/man7/ipfixcol2-ipfix-input.7.gz +share/man/man7/ipfixcol2-ipfix-output.7.gz +share/man/man7/ipfixcol2-json-kafka-output.7.gz +share/man/man7/ipfixcol2-json-output.7.gz +share/man/man7/ipfixcol2-tcp-input.7.gz +share/man/man7/ipfixcol2-timecheck-output.7.gz +share/man/man7/ipfixcol2-udp-input.7.gz +share/man/man7/ipfixcol2-viewer-output.7.gz +@sample etc/ipfixcol2/startup.xml.sample +@dir(ipfixcol2,ipfixcol2) /var/run/ipfixcol2