pass ifname to the shell proto handler
authorFelix Fietkau <nbd@openwrt.org>
Sun, 11 Sep 2011 14:22:29 +0000 (16:22 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 11 Sep 2011 14:22:29 +0000 (16:22 +0200)
proto-shell.c
proto/netifd-proto.sh
proto/ppp.sh

index 8612631..574d969 100644 (file)
@@ -57,7 +57,7 @@ proto_shell_handler(struct interface_proto_state *proto,
 {
        struct proto_shell_state *state;
        struct proto_shell_handler *handler;
 {
        struct proto_shell_state *state;
        struct proto_shell_handler *handler;
-       const char *argv[5];
+       const char *argv[6];
        char *config;
        int ret;
 
        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;
        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:
 
        switch(cmd) {
        case PROTO_CMD_SETUP:
index 9aace59..93bf37a 100755 (executable)
@@ -29,6 +29,7 @@ add_default_handler() {
 proto="$1"
 cmd="$2"
 data="$3"
 proto="$1"
 cmd="$2"
 data="$3"
+ifname="$4"
 
 case "$cmd" in
        dump)
 
 case "$cmd" in
        dump)
@@ -54,8 +55,8 @@ case "$cmd" in
                        [[ "$proto" == "$1" ]] || return 0
 
                        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
                }
                                *) return 1 ;;
                        esac
                }
index 7eed579..428096b 100755 (executable)
@@ -32,7 +32,7 @@ pppoe_init() {
 }
 
 pppoe_setup() {
 }
 
 pppoe_setup() {
-       echo "pppoe_setup: $1"
+       echo "pppoe_setup($2): $1"
 }
 
 pppoe_teardown() {
 }
 
 pppoe_teardown() {