summaryrefslogtreecommitdiffhomepage
path: root/proto/netifd-proto.sh
diff options
context:
space:
mode:
Diffstat (limited to 'proto/netifd-proto.sh')
-rwxr-xr-xproto/netifd-proto.sh14
1 files changed, 12 insertions, 2 deletions
diff --git a/proto/netifd-proto.sh b/proto/netifd-proto.sh
index 3764281..b91863f 100755
--- a/proto/netifd-proto.sh
+++ b/proto/netifd-proto.sh
@@ -26,7 +26,11 @@ add_default_handler() {
esac
}
-case "$1" in
+proto="$1"
+cmd="$2"
+data="$3"
+
+case "$cmd" in
dump)
add_protocol() {
immediate=0
@@ -45,7 +49,13 @@ case "$1" in
;;
*)
add_protocol() {
- return;
+ [[ "$proto" == "$1" ]] || return 0
+
+ case "$cmd" in
+ setup) eval "$1_setup \"\$data\"" ;;
+ teardown) eval "$1_teardown \"\$data\"" ;;
+ *) return 1 ;;
+ esac
}
;;
esac