-. /usr/share/libubox/jshn.sh
-
-append() {
- local var="$1"
- local value="$2"
- local sep="${3:- }"
-
- eval "export -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\""
-}
+NETIFD_MAIN_DIR="${NETIFD_MAIN_DIR:-/lib/netifd}"
-proto_config_add_generic() {
- json_add_array ""
- json_add_string "" "$1"
- json_add_int "" "$2"
- json_close_array
-}
+. /usr/share/libubox/jshn.sh
+. $NETIFD_MAIN_DIR/utils.sh
proto_config_add_int() {
- proto_config_add_generic "$1" 5
+ config_add_int "$@"
}
proto_config_add_string() {
- proto_config_add_generic "$1" 3
+ config_add_string "$@"
}
proto_config_add_boolean() {
- proto_config_add_generic "$1" 7
-}
-
-add_default_handler() {
- case "$(type $1 2>/dev/null)" in
- *function*) return;;
- *) eval "$1() { return; }"
- esac
+ config_add_boolean "$@"
}
_proto_do_teardown() {
local preferred="$3"
local valid="$4"
local offlink="$5"
+ local class="$6"
- append PROTO_IP6ADDR "$address/$mask/$preferred/$valid/$offlink"
+ append PROTO_IP6ADDR "$address/$mask/$preferred/$valid/$offlink/$class"
}
proto_add_ipv4_route() {
valid="${str%%/*}"
str="${str#*/}"
offlink="${str%%/*}"
+ str="${str#*/}"
+ class="${str%%/*}"
json_add_object ""
json_add_string ipaddr "$address"
[ -n "$preferred" ] && json_add_int preferred "$preferred"
[ -n "$valid" ] && json_add_int valid "$valid"
[ -n "$offlink" ] && json_add_boolean offlink "$offlink"
+ [ -n "$class" ] && json_add_string class "$class"
json_close_object
}