From 3ac3e72db18391d543fea75257cedca0f9b960ac Mon Sep 17 00:00:00 2001
From: jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 12 Jun 2011 19:27:21 +0000
Subject: [PATCH] [package] 6to4: advertise effective tunnel mtu in RAs

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27163 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/6to4/Makefile      | 4 ++--
 package/6to4/files/6to4.sh | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/package/6to4/Makefile b/package/6to4/Makefile
index a6f3315a4..77082a4a0 100644
--- a/package/6to4/Makefile
+++ b/package/6to4/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2010 OpenWrt.org
+# Copyright (C) 2010-2011 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=6to4
-PKG_VERSION:=4
+PKG_VERSION:=5
 PKG_RELEASE:=1
 
 include $(INCLUDE_DIR)/package.mk
diff --git a/package/6to4/files/6to4.sh b/package/6to4/files/6to4.sh
index 6e85914b4..b8baa1510 100755
--- a/package/6to4/files/6to4.sh
+++ b/package/6to4/files/6to4.sh
@@ -30,6 +30,7 @@ test_6to4_rfc1918()
 set_6to4_radvd_interface() {
 	local cfgid="$1"
 	local lanif="${2:-lan}"
+	local ifmtu="${3:-1280}"
 	local ifsection=""
 
 	find_ifsection() {
@@ -55,6 +56,7 @@ set_6to4_radvd_interface() {
 	uci_set_state radvd "$ifsection" IgnoreIfMissing   1
 	uci_set_state radvd "$ifsection" AdvSendAdvert     1
 	uci_set_state radvd "$ifsection" MaxRtrAdvInterval 30
+	uci_set_state radvd "$ifsection" AdvLinkMTU        "$ifmtu"
 }
 
 set_6to4_radvd_prefix() {
@@ -203,7 +205,7 @@ setup_interface_6to4() {
 					logger -t "$link" " * Advertising IPv6 subnet $subnet6 on ${adv_interface:-lan} ($adv_ifname)"
 					ip -6 addr add $subnet6 dev $adv_ifname
 
-					set_6to4_radvd_interface "$sid" "$adv_interface"
+					set_6to4_radvd_interface "$sid" "$adv_interface" "$mtu"
 					set_6to4_radvd_prefix    "$sid" "$adv_interface" \
 						"$wancfg" "$(printf "0:0:0:%x::/64" $adv_subnet)"
 
@@ -252,9 +254,8 @@ stop_interface_6to4() {
 			done
 		}
 
-		[ "$defaultroute" = "1" ] && {
-			ip -6 route del ::/0 via ::192.88.99.1 dev $link metric 1
-		}
+		[ "$defaultroute" = "1" ] && \
+			ip -6 route del ::/0 via ::192.88.99.1 dev $link
 
 		ip addr del $local6 dev $link
 		ip link set $link down
-- 
2.20.1