aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGoran Mekić <meka@tilda.center>2022-11-12 22:12:55 +0000
committerJuraj Lutter <otis@FreeBSD.org>2022-11-15 17:57:08 +0000
commit33e91dbbe19992d88fa70f0d303112b14882394b (patch)
tree70cd910a8bea2b9000ace8968ce93b418956fa6c
parent2f7bca05866ba3142ed72caf8c0fdf3473390575 (diff)
downloadports-33e91dbbe19992d88fa70f0d303112b14882394b.tar.gz
ports-33e91dbbe19992d88fa70f0d303112b14882394b.zip
sysutils/egress-monitor: Add new port
Add sysutils/egress-monitor, a tool that is watching for default routes changes and sets the interface group. When the default route is added, egress-monitor sets the group of that interface to appropriate egress. WWW: https://github.com/mekanix/egress-monitor PR: 267731 Tested by: dfr
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/egress-monitor/Makefile22
-rw-r--r--sysutils/egress-monitor/distinfo3
-rw-r--r--sysutils/egress-monitor/files/egress-monitor.in22
-rw-r--r--sysutils/egress-monitor/files/pkg-message.in8
-rw-r--r--sysutils/egress-monitor/pkg-descr4
6 files changed, 60 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index a59b7afef052..689b10b06a34 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -335,6 +335,7 @@
SUBDIR += eclat
SUBDIR += edid-decode
SUBDIR += edk2
+ SUBDIR += egress-monitor
SUBDIR += eject
SUBDIR += eksctl
SUBDIR += endian
diff --git a/sysutils/egress-monitor/Makefile b/sysutils/egress-monitor/Makefile
new file mode 100644
index 000000000000..c0621f6dff23
--- /dev/null
+++ b/sysutils/egress-monitor/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= egress-monitor
+DISTVERSION= 0.0.3
+CATEGORIES= sysutils
+
+MAINTAINER= meka@tilda.center
+COMMENT= Set network interface groups based on default routes
+WWW= https://github.com/mekanix/egress-monitor
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= uidfix
+USE_RC_SUBR= egress-monitor
+SUB_FILES= pkg-message
+
+USE_GITHUB= yes
+GH_ACCOUNT= mekanix
+
+PLIST_FILES= man/man1/egress-monitor.1.gz \
+ sbin/egress-monitor
+
+.include <bsd.port.mk>
diff --git a/sysutils/egress-monitor/distinfo b/sysutils/egress-monitor/distinfo
new file mode 100644
index 000000000000..664dd70da4bf
--- /dev/null
+++ b/sysutils/egress-monitor/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1668281396
+SHA256 (mekanix-egress-monitor-0.0.3_GH0.tar.gz) = 74302e0fea9be384d791d7610c85a783696f71ab2ca005e98e590d14b12e1da5
+SIZE (mekanix-egress-monitor-0.0.3_GH0.tar.gz) = 4937
diff --git a/sysutils/egress-monitor/files/egress-monitor.in b/sysutils/egress-monitor/files/egress-monitor.in
new file mode 100644
index 000000000000..e76cf965f6e4
--- /dev/null
+++ b/sysutils/egress-monitor/files/egress-monitor.in
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+# PROVIDE: egress-monitor
+# KEYWORD: shutdown
+# REQUIRE: NETWORKING
+# BEFORE: pf
+
+. /etc/rc.subr
+
+name=egress_monitor
+desc="default route monitor"
+rcvar=${name}_enable
+load_rc_config $name
+
+: ${egress_monitor_enable:="NO"}
+
+procname="%%PREFIX%%/sbin/egress-monitor"
+command="/usr/sbin/daemon"
+command_args="-S -T ${name} ${procname}"
+
+run_rc_command $*
+
diff --git a/sysutils/egress-monitor/files/pkg-message.in b/sysutils/egress-monitor/files/pkg-message.in
new file mode 100644
index 000000000000..ba4cb9b9c771
--- /dev/null
+++ b/sysutils/egress-monitor/files/pkg-message.in
@@ -0,0 +1,8 @@
+[
+{ type: install
+ message: <<EOM
+Please note that egress-monitor will not pick up changes in net.fibs sysctl, so
+if you change it, you have to "service egress-monitor restart".
+EOM
+}
+]
diff --git a/sysutils/egress-monitor/pkg-descr b/sysutils/egress-monitor/pkg-descr
new file mode 100644
index 000000000000..cd15befd4e37
--- /dev/null
+++ b/sysutils/egress-monitor/pkg-descr
@@ -0,0 +1,4 @@
+Watching for default routes changes and sets the interface group. When the
+default route is added, egress-monitor sets the group of that interface to
+appropriate egress. That means for IPv4 and FIB 0 (default one) the group will
+be v4fib0egress. In general, the group name is v<4|6>fib<number>egress.