proto-shell: Model config parameter "no-proto-task" as a proto flag
[project/netifd.git] / scripts / netifd-proto.sh
index b5ef3d1..64b3cab 100644 (file)
@@ -121,8 +121,9 @@ proto_add_ipv4_route() {
        local mask="$2"
        local gw="$3"
        local source="$4"
+       local metric="$5"
 
-       append PROTO_ROUTE "$target/$mask/$gw///$source"
+       append PROTO_ROUTE "$target/$mask/$gw/$metric///$source"
 }
 
 proto_add_ipv6_route() {
@@ -132,8 +133,9 @@ proto_add_ipv6_route() {
        local metric="$4"
        local valid="$5"
        local source="$6"
+       local table="$7"
 
-       append PROTO_ROUTE6 "$target/$mask/$gw/$metric/$valid/$source"
+       append PROTO_ROUTE6 "$target/$mask/$gw/$metric/$valid/$table/$source"
 }
 
 proto_add_ipv6_prefix() {
@@ -211,6 +213,8 @@ _proto_push_route() {
        str="${str#*/}"
        local valid="${str%%/*}"
        str="${str#*/}"
+       local table="${str%%/*}"
+       str="${str#*/}"
        local source="${str}"
 
        json_add_object ""
@@ -220,6 +224,7 @@ _proto_push_route() {
        [ -n "$metric" ] && json_add_int metric "$metric"
        [ -n "$valid" ] && json_add_int valid "$valid"
        [ -n "$source" ] && json_add_string source "$source"
+       [ -n "$table" ] && json_add_string table "$table"
        json_close_object
 }
 
@@ -357,8 +362,10 @@ init_proto() {
                dump)
                        add_protocol() {
                                no_device=0
+                               no_proto_task=0
                                available=0
                                renew_handler=0
+                               teardown_on_l3_link_down=0
 
                                add_default_handler "proto_$1_init_config"
 
@@ -368,8 +375,11 @@ init_proto() {
                                eval "proto_$1_init_config"
                                json_close_array
                                json_add_boolean no-device "$no_device"
+                               json_add_boolean no-proto-task "$no_proto_task"
                                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
                        }
                ;;