summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Bidulock2015-06-10 16:08:30 -0600
committerBrian Bidulock2015-06-10 16:08:30 -0600
commit65819e24b57ee52e0d2ac68317ee27eb8b007243 (patch)
treef1ae18ded8dc86d973258ff74023b7fd2821fe40
downloadaur-65819e24b57ee52e0d2ac68317ee27eb8b007243.tar.gz
initial version
-rw-r--r--.SRCINFO21
-rw-r--r--PKGBUILD36
-rw-r--r--smcroute.conf.example31
-rw-r--r--smcroute.service15
4 files changed, 103 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..530c41c159c9
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,21 @@
+pkgbase = smcroute
+ pkgdesc = A command line tool to manipulate the multicast routes of a UNIX kernel. It supports both IPv4 and IPv6 multicast routing.
+ pkgver = 2.0.0
+ pkgrel = 1
+ url = https://troglobit.com/smcroute.html
+ arch = i686
+ arch = x86_64
+ license = GPL2
+ depends = glibc
+ provides = smcroute
+ provides = mcsender
+ backup = etc/smcroute.conf
+ source = ftp://troglobit.com/smcroute/smcroute-2.0.0.tar.xz
+ source = smcroute.conf.example
+ source = smcroute.service
+ md5sums = cbf478e52ab9ae411adca41b9d22f68a
+ md5sums = 98bdb5bbd222686761e318ee04825b7a
+ md5sums = 7b28500642045b2482f5ac873da0f86b
+
+pkgname = smcroute
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..5f8b261e8ac9
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Brian Bidulock <bidulock@openss7.org>
+# Contributor: Julien Sopena (jsopena.archlinux@free.fr)
+pkgname="smcroute"
+pkgver="2.0.0"
+pkgrel=1
+pkgdesc="A command line tool to manipulate the multicast routes of a UNIX kernel. It supports both IPv4 and IPv6 multicast routing."
+arch=('i686' 'x86_64')
+url="https://troglobit.com/smcroute.html"
+license=('GPL2')
+provides=('smcroute' 'mcsender')
+backup=('etc/smcroute.conf')
+depends=('glibc')
+source=("ftp://troglobit.com/smcroute/$pkgname-$pkgver.tar.xz"
+ 'smcroute.conf.example'
+ 'smcroute.service')
+md5sums=('cbf478e52ab9ae411adca41b9d22f68a'
+ '98bdb5bbd222686761e318ee04825b7a'
+ '7b28500642045b2482f5ac873da0f86b')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+
+ install -Dm644 "${srcdir}/smcroute.conf.example" "${pkgdir}/etc/smcroute.conf"
+ install -Dm644 "${srcdir}/smcroute.service" "${pkgdir}/usr/lib/systemd/system/smcroute.service"
+ # nothing useful here
+ rm -fr "${pkgdir}/usr/share/doc"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/smcroute.conf.example b/smcroute.conf.example
new file mode 100644
index 000000000000..d8b8d73cd54c
--- /dev/null
+++ b/smcroute.conf.example
@@ -0,0 +1,31 @@
+#
+# smcroute.conf example
+#
+# The configuration file supports joining multicast groups, to use
+# Layer-2 signaling so that switches and routers open up multicast
+# traffic to your interfaces. Leave is not supported, remove the
+# mgroup and SIGHUP your daemon, or send a specific leave command.
+#
+# Similarily supported is setting mroutes. Removing mroutes is not
+# supported, remove/comment out the mroute or send a remove command.
+#
+# Syntax:
+# mgroup from IFNAME group MCGROUP
+# mroute from IFNAME [source ADDRESS] group MCGROUP to IFNAME [IFNAME ...]
+#
+# The following example instructs the kernel to join the multicast
+# group 225.1.2.3 on interface eth0. Followed by setting up an
+# mroute of the same multicast stream, but from the explicit sender
+# 192.168.1.42 on the eth0 network and forward to eth1 and eth2.
+#
+# mgroup from eth0 group 225.1.2.3
+# mroute from eth0 group 225.1.2.3 source 192.168.1.42 to eth1 eth2
+
+# Here we allow routing of multicast to group 225.3.2.1 from ANY
+# source coming in from interface eth0 and forward to eth1 and eth2.
+# NOTE: Routing from ANY source is currently only available for IPv4
+# multicast.
+#
+# mgroup from eth0 group 225.3.2.1
+# mroute from eth0 group 225.3.2.1 to eth1 eth2
+
diff --git a/smcroute.service b/smcroute.service
new file mode 100644
index 000000000000..6d82b4e0a48a
--- /dev/null
+++ b/smcroute.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Static Multicast Route Daemon
+After=network.target
+ConditionPathExists=/etc/smcroute.conf
+Conflicts=pimd.service mrouted.service
+
+[Service]
+Type=forking
+PIDFile=/var/run/smcroute.pid
+ExecStart=/usr/bin/smcroute -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target