diff --git a/package/network/services/ppp/files/lib/netifd/ppp-up b/package/network/services/ppp/files/lib/netifd/ppp-up index 105ecbe844..7511042639 100755 --- a/package/network/services/ppp/files/lib/netifd/ppp-up +++ b/package/network/services/ppp/files/lib/netifd/ppp-up @@ -25,6 +25,7 @@ if [ -n "$AUTOIPV6" ]; then json_add_string name "${PPP_IPPARAM}_6" json_add_string ifname "@$PPP_IPPARAM" json_add_string proto "dhcpv6" + [ -n "$EXTENDPREFIX" ] && json_add_string extendprefix 1 json_close_object ubus call network add_dynamic "$(json_dump)" fi diff --git a/package/network/utils/comgt/files/3g.sh b/package/network/utils/comgt/files/3g.sh index 968662675b..8aecb0fd62 100644 --- a/package/network/utils/comgt/files/3g.sh +++ b/package/network/utils/comgt/files/3g.sh @@ -89,6 +89,9 @@ proto_3g_setup() { ;; esac + # Enable RFC 7278 + proto_export "EXTENDPREFIX=1" + connect="${apn:+USE_APN=$apn }DIALNUMBER=$dialnumber /usr/sbin/chat -t5 -v -E -f $chat" ppp_generic_setup "$interface" \ noaccomp \ diff --git a/package/network/utils/comgt/files/directip.sh b/package/network/utils/comgt/files/directip.sh index 66d92a7c2c..d82805278c 100644 --- a/package/network/utils/comgt/files/directip.sh +++ b/package/network/utils/comgt/files/directip.sh @@ -86,6 +86,7 @@ proto_directip_setup() { json_add_string name "${interface}_6" json_add_string ifname "@$interface" json_add_string proto "dhcpv6" + json_add_string extendprefix 1 ubus call network add_dynamic "$(json_dump)" return 0 diff --git a/package/network/utils/comgt/files/ncm.sh b/package/network/utils/comgt/files/ncm.sh index 1f0d0db2e7..ffe5615e07 100644 --- a/package/network/utils/comgt/files/ncm.sh +++ b/package/network/utils/comgt/files/ncm.sh @@ -131,6 +131,7 @@ proto_ncm_setup() { json_add_string name "${interface}_6" json_add_string ifname "@$interface" json_add_string proto "dhcpv6" + json_add_string extendprefix 1 ubus call network add_dynamic "$(json_dump)" } diff --git a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh index db0c7b0c3c..f8b2c06b67 100755 --- a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh +++ b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh @@ -137,6 +137,7 @@ _proto_mbim_setup() { json_add_string name "${interface}_6" json_add_string ifname "@$interface" json_add_string proto "dhcpv6" + json_add_string extendprefix 1 ubus call network add_dynamic "$(json_dump)" } diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh index 25e5d1f521..b416da6bc8 100755 --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh @@ -128,6 +128,7 @@ _proto_qmi_setup() { json_add_string name "${interface}_6" json_add_string ifname "@$interface" json_add_string proto "dhcpv6" + json_add_string extendprefix 1 json_close_object ubus call network add_dynamic "$(json_dump)" }