aboutsummaryrefslogtreecommitdiff
path: root/net/dtcp
diff options
context:
space:
mode:
Diffstat (limited to 'net/dtcp')
-rw-r--r--net/dtcp/Makefile2
-rw-r--r--net/dtcp/files/dtcps.in3
-rw-r--r--net/dtcp/files/patch-dtcps.rb69
3 files changed, 73 insertions, 1 deletions
diff --git a/net/dtcp/Makefile b/net/dtcp/Makefile
index cf19fbfddf88..13ab16459575 100644
--- a/net/dtcp/Makefile
+++ b/net/dtcp/Makefile
@@ -2,7 +2,7 @@
PORTNAME= dtcp
PORTVERSION= 20130602
-#PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= net ipv6
MASTER_SITES= http://www.mahoroba.org/~ume/ipv6/ \
http://home.jp.FreeBSD.org/~ume/ipv6/
diff --git a/net/dtcp/files/dtcps.in b/net/dtcp/files/dtcps.in
index 6f3693a985c9..248102e31e71 100644
--- a/net/dtcp/files/dtcps.in
+++ b/net/dtcp/files/dtcps.in
@@ -54,4 +54,7 @@ dtcps_prestart() {
load_rc_config $name
command_args="-i ${dtcps_tunif} ${dtcps_prefix}"
+if [ -n "${dtcps_fib}" ]; then
+ command_args="-F ${dtcps_fib} ${command_args}"
+fi
run_rc_command "$1"
diff --git a/net/dtcp/files/patch-dtcps.rb b/net/dtcp/files/patch-dtcps.rb
new file mode 100644
index 000000000000..dd950da14526
--- /dev/null
+++ b/net/dtcp/files/patch-dtcps.rb
@@ -0,0 +1,69 @@
+Index: dtcps.rb
+diff -u dtcps.rb.orig dtcps.rb
+--- dtcps.rb.orig 2013-06-02 23:05:51.000000000 +0900
++++ dtcps.rb 2014-05-19 01:24:45.817292755 +0900
+@@ -185,6 +185,10 @@
+ execute("ifconfig #{@name} mtu #{mtu}")
+ end
+
++ def setfib(fibnum)
++ execute("ifconfig #{@name} fib #{fibnum}")
++ end
++
+ def linklocal
+ `ifconfig #{@name} inet6`.each_line { |s|
+ if s =~ /inet6 (fe80::[^ ]*)/
+@@ -226,6 +230,9 @@
+ end
+ }
+ end
++ if $fibnum >= 0
++ setfib($fibnum)
++ end
+ @created = true
+ end
+
+@@ -291,6 +298,9 @@
+ if !@tunif || @tunif == "ng"
+ @name = mkpeer
+ @created = true
++ if $fibnum >= 0
++ setfib($fibnum)
++ end
+ return
+ end
+
+@@ -306,6 +316,9 @@
+ @name = mkpeer
+ if @name == @tunif
+ @created = true
++ if $fibnum >= 0
++ setfib($fibnum)
++ end
+ break
+ end
+
+@@ -1173,13 +1186,14 @@
+ $tunif = TUNIF
+ $ng_tunif = "ng"
+ $cloning = TUNIF_CLONING
++$fibnum = -1
+ $global = nil
+ $prefix = nil
+ $network_with_peeraddr = nil
+ $udp_tunnel_port = UDP_TUNNEL_PORT
+
+ begin
+- params = ARGV.getopts('ab:cdDg:i:I:op:U')
++ params = ARGV.getopts('ab:cdDF:g:i:I:op:U')
+ rescue
+ usage()
+ exit 0
+@@ -1190,6 +1204,7 @@
+ $cloning = false if params["c"]
+ $debug = params["d"]
+ $daemonize = !params["D"]
++$fibnum = params["F"].to_i if params["F"]
+ $global = params["g"] if params["g"]
+ $tunif = params["i"] if params["i"]
+ $ng_tunif = params["I"] if params["I"]