odhcp6c: apply IPv6/ND configuration earlier
authorHans Dedecker <dedeckeh@gmail.com>
Thu, 9 Aug 2018 15:56:19 +0000 (17:56 +0200)
committerHans Dedecker <dedeckeh@gmail.com>
Thu, 9 Aug 2018 16:46:57 +0000 (18:46 +0200)
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>
package/network/ipv6/odhcp6c/Makefile
package/network/ipv6/odhcp6c/files/dhcpv6.script

index 7f5f745fb85a7f3bbadbe2c4471b0b2732e010e3..451f0962bbbfda13fae74d567633cb0e903fc5d2 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=odhcp6c
-PKG_RELEASE:=14
+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
 }