Fix regression with IPv6 source-dest-routes
[project/netifd.git] / scripts / netifd-proto.sh
index ce316c4..999bd68 100644 (file)
@@ -120,8 +120,9 @@ proto_add_ipv4_route() {
        local target="$1"
        local mask="$2"
        local gw="$3"
+       local source="$4"
 
-       append PROTO_ROUTE "$target/$mask/$gw//"
+       append PROTO_ROUTE "$target/$mask/$gw////$source"
 }
 
 proto_add_ipv6_route() {
@@ -131,8 +132,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() {
@@ -210,6 +212,8 @@ _proto_push_route() {
        str="${str#*/}"
        local valid="${str%%/*}"
        str="${str#*/}"
+       local table="${str%%/*}"
+       str="${str#*/}"
        local source="${str}"
 
        json_add_object ""
@@ -219,6 +223,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
 }