From a7bb1dae88e9c4676c3e1545cefd7398d21603a4 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 11 Sep 2011 16:22:29 +0200 Subject: [PATCH 1/1] pass ifname to the shell proto handler --- proto-shell.c | 6 +++++- proto/netifd-proto.sh | 5 +++-- proto/ppp.sh | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/proto-shell.c b/proto-shell.c index 8612631..574d969 100644 --- a/proto-shell.c +++ b/proto-shell.c @@ -57,7 +57,7 @@ proto_shell_handler(struct interface_proto_state *proto, { struct proto_shell_state *state; struct proto_shell_handler *handler; - const char *argv[5]; + const char *argv[6]; char *config; int ret; @@ -73,6 +73,10 @@ proto_shell_handler(struct interface_proto_state *proto, argv[2] = "teardown"; argv[3] = config; argv[4] = NULL; + if (proto->iface->main_dev.dev) { + argv[4] = proto->iface->main_dev.dev->ifname; + argv[5] = NULL; + } switch(cmd) { case PROTO_CMD_SETUP: diff --git a/proto/netifd-proto.sh b/proto/netifd-proto.sh index 9aace59..93bf37a 100755 --- a/proto/netifd-proto.sh +++ b/proto/netifd-proto.sh @@ -29,6 +29,7 @@ add_default_handler() { proto="$1" cmd="$2" data="$3" +ifname="$4" case "$cmd" in dump) @@ -54,8 +55,8 @@ case "$cmd" in [[ "$proto" == "$1" ]] || return 0 case "$cmd" in - setup) eval "$1_setup \"\$data\"" ;; - teardown) eval "$1_teardown \"\$data\"" ;; + setup) eval "$1_setup \"\$data\" \"\$ifname\"" ;; + teardown) eval "$1_teardown \"\$data\" \"\$ifname\"" ;; *) return 1 ;; esac } diff --git a/proto/ppp.sh b/proto/ppp.sh index 7eed579..428096b 100755 --- a/proto/ppp.sh +++ b/proto/ppp.sh @@ -32,7 +32,7 @@ pppoe_init() { } pppoe_setup() { - echo "pppoe_setup: $1" + echo "pppoe_setup($2): $1" } pppoe_teardown() { -- 2.11.0