base-files: add network_get_protocol() to /lib/functions/network.sh
[openwrt.git] / package / base-files / files / lib / functions / network.sh
index 0ff11c3..7d06aa4 100644 (file)
@@ -174,8 +174,8 @@ __network_parse_ifstatus()
                        fi
                done
 
-               # parse up state, device and physdev
-               for __field in "up" "l3_device" "device"; do
+               # parse up state, proto, device and physdev
+               for __field in "up" "proto" "l3_device" "device"; do
                        if json_get_type __tmp "$__field"; then
                                __network_set_cache "${__key}_${__field}" "$__field"
                        fi
@@ -381,6 +381,11 @@ network_is_up()
        __network_device __up "$1" up && [ $__up -eq 1 ]
 }
 
+# determine the protocol of the given logical interface
+# 1: destination variable
+# 2: interface
+network_get_protocol() { __network_device "$1" "$2" proto; }
+
 # determine the layer 3 linux network device of the given logical interface
 # 1: destination variable
 # 2: interface