X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=scripts%2Fnetifd-proto.sh;h=cc7031a304de064aa72b825442ef348ad0b7ecc8;hb=7573880ac042c6e5c8d48b1ad83d357b5e02743b;hp=447f0f660f2c099654940801e0a2e5c650769df1;hpb=a7e508b71c1cf3ee9d401510d298195067fba8e5;p=project%2Fnetifd.git diff --git a/scripts/netifd-proto.sh b/scripts/netifd-proto.sh index 447f0f6..cc7031a 100644 --- a/scripts/netifd-proto.sh +++ b/scripts/netifd-proto.sh @@ -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\"" @@ -365,6 +378,7 @@ init_proto() { no_proto_task=0 available=0 renew_handler=0 + teardown_on_l3_link_down=0 add_default_handler "proto_$1_init_config" @@ -378,6 +392,7 @@ init_proto() { json_add_boolean available "$available" json_add_boolean renew-handler "$renew_handler" json_add_boolean lasterror "$lasterror" + json_add_boolean teardown-on-l3-link-down "$teardown_on_l3_link_down" json_dump } ;;