proto-shell: add helpers for generic options in proto handlers
authorMarcin Jurkowski <marcin1j@gmail.com>
Wed, 26 Oct 2016 01:04:01 +0000 (03:04 +0200)
committerJohn Crispin <john@phrozen.org>
Thu, 27 Oct 2016 09:58:42 +0000 (11:58 +0200)
Adding helpers for virtual interfaces generic options in ncm, qmi, mbim
and directip protocols as suggested by Felix in
https://lists.openwrt.org/pipermail/openwrt-devel/2016-February/039794.html

Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
scripts/netifd-proto.sh

index 64b3cab92e05e70bbbcf3b7dd51ce623327d7de8..cc7031a304de064aa72b825442ef348ad0b7ecc8 100644 (file)
@@ -1,4 +1,5 @@
 NETIFD_MAIN_DIR="${NETIFD_MAIN_DIR:-/lib/netifd}"
+PROTO_DEFAULT_OPTIONS="defaultroute peerdns metric"
 
 . /usr/share/libubox/jshn.sh
 . $NETIFD_MAIN_DIR/utils.sh
@@ -15,6 +16,18 @@ proto_config_add_boolean() {
        config_add_boolean "$@"
 }
 
+proto_config_add_defaults() {
+       proto_config_add_boolean "defaultroute"
+       proto_config_add_boolean "peerdns"
+       proto_config_add_int "metric"
+}
+
+proto_add_dynamic_defaults() {
+       [ -n "$defaultroute" ] && json_add_boolean defaultroute "$defaultroute"
+       [ -n "$peerdns" ] && json_add_boolean peerdns "$peerdns"
+       [ -n "$metric" ] && json_add_int metric "$metric"
+}
+
 _proto_do_teardown() {
        json_load "$data"
        eval "proto_$1_teardown \"$interface\" \"$ifname\""