odhcp6c: apply IPv6/ND configuration earlier
authorHans Dedecker <dedeckeh@gmail.com>
Thu, 9 Aug 2018 15:56:19 +0000 (17:56 +0200)
committerJo-Philipp Wich <jo@mein.io>
Tue, 18 Dec 2018 10:01:56 +0000 (11:01 +0100)
Apply IPv6/ND configuration before proto_send_update so that all config info
is available when netifd is handling the notify_proto ubus call.
In particular this fixes an issue when netifd is updating the downstream IPv6 mtu
as netifd was still using the not yet updated upstream IPv6 mtu to set the
downstream IPv6 mtu

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
(backported from 2e02fdb3637c7a0320d230a3232d61e874c1e4d1)

package/network/ipv6/odhcp6c/Makefile
package/network/ipv6/odhcp6c/files/dhcpv6.script

index c9a893b57bdff4d5aed603889aad74f87152070d..451f0962bbbfda13fae74d567633cb0e903fc5d2 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=odhcp6c
-PKG_RELEASE:=14.1
+PKG_RELEASE:=15
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git
index dcb7a95d98f8342fb7626449a11ecadb2e050e5e..28955a358fcd9a6d4e8321e8bb04c80f37df642b 100755 (executable)
@@ -7,6 +7,14 @@ setup_interface () {
        local device="$1"
        local prefsig=""
        local addrsig=""
+
+       # Apply IPv6 / ND configuration
+       HOPLIMIT=$(cat /proc/sys/net/ipv6/conf/$device/hop_limit)
+       [ -n "$RA_HOPLIMIT" -a -n "$HOPLIMIT" ] && [ "$RA_HOPLIMIT" -gt "$HOPLIMIT" ] && echo "$RA_HOPLIMIT" > /proc/sys/net/ipv6/conf/$device/hop_limit
+       [ -n "$RA_MTU" ] && [ "$RA_MTU" -ge 1280 ] && echo "$RA_MTU" > /proc/sys/net/ipv6/conf/$device/mtu 2>/dev/null
+       [ -n "$RA_REACHABLE" ] && [ "$RA_REACHABLE" -gt 0 ] && echo "$RA_REACHABLE" > /proc/sys/net/ipv6/neigh/$device/base_reachable_time_ms
+       [ -n "$RA_RETRANSMIT" ] && [ "$RA_RETRANSMIT" -gt 0 ] && echo "$RA_RETRANSMIT" > /proc/sys/net/ipv6/neigh/$device/retrans_time_ms
+
        proto_init_update "*" 1
 
        # Merge RA-DNS
@@ -203,13 +211,6 @@ setup_interface () {
                ubus call network add_dynamic "$(json_dump)"
        fi
 
-       # Apply IPv6 / ND configuration
-       HOPLIMIT=$(cat /proc/sys/net/ipv6/conf/$device/hop_limit)
-       [ -n "$RA_HOPLIMIT" -a -n "$HOPLIMIT" ] && [ "$RA_HOPLIMIT" -gt "$HOPLIMIT" ] && echo "$RA_HOPLIMIT" > /proc/sys/net/ipv6/conf/$device/hop_limit
-       [ -n "$RA_MTU" ] && [ "$RA_MTU" -ge 1280 ] && echo "$RA_MTU" > /proc/sys/net/ipv6/conf/$device/mtu 2>/dev/null
-       [ -n "$RA_REACHABLE" ] && [ "$RA_REACHABLE" -gt 0 ] && echo "$RA_REACHABLE" > /proc/sys/net/ipv6/neigh/$device/base_reachable_time_ms
-       [ -n "$RA_RETRANSMIT" ] && [ "$RA_RETRANSMIT" -gt 0 ] && echo "$RA_RETRANSMIT" > /proc/sys/net/ipv6/neigh/$device/retrans_time_ms
-
        # TODO: $SNTP_IP $SIP_IP $SNTP_FQDN $SIP_DOMAIN
 }