Citeren Kevin Darbyshire-Bryant <l...@darbyshire-bryant.me.uk>:

Add option 'maxtry' to 6in4 interface definition.  Defaults to 3.

Defines maximum number of attempts to update Hurricane Electric
tunnel endpoint address.  Originally unconfigurable and hard coded to 3.

Each update attempt has a 5 second timeout.

I don't think this is a good idea. While I recognize that the update is accepted only on the third (and final) try, just upping the number of tries is not the solution.

It looks to me that the updates are failing, because the script runs too soon. Adding a fixed delay of 15 seconds before it runs, will always update on the first try.

So rather than just trying more often, it might be better to fix an apparent race condition here.

Signed-off-by: Kevin Darbyshire-Bryant <l...@darbyshire-bryant.me.uk>
---
 package/network/ipv6/6in4/files/6in4.sh | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/package/network/ipv6/6in4/files/6in4.sh b/package/network/ipv6/6in4/files/6in4.sh
index 941dc43d68..dce37eb3b3 100755
--- a/package/network/ipv6/6in4/files/6in4.sh
+++ b/package/network/ipv6/6in4/files/6in4.sh
@@ -31,8 +31,8 @@ proto_6in4_setup() {
        local iface="$2"
        local link="6in4-$cfg"

- local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey - json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey + local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey maxtry + json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey maxtry
        json_for_each_item proto_6in4_add_prefix ip6prefix ip6prefixes

        [ -z "$peeraddr" ] && {
@@ -98,7 +98,7 @@ proto_6in4_setup() {

                local 
url="$http://ipv4.tunnelbroker.net/nic/update?hostname=$tunnelid";
                local try=0
-               local max=3
+               local max="${maxtry:-3}"

                (
                        set -o pipefail
@@ -134,6 +134,7 @@ proto_6in4_init_config() {
        proto_config_add_string "username"
        proto_config_add_string "password"
        proto_config_add_string "updatekey"
+       proto_config_add_int "maxtry"
        proto_config_add_int "mtu"
        proto_config_add_int "ttl"
        proto_config_add_string "tos"




_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to