aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-01-18 15:35:24 +0000
committerFelix Fietkau <nbd@openwrt.org>2016-01-18 15:35:24 +0000
commit262f054c6e556b3c4e5c2ec334f3f7190a5abf0f (patch)
tree168ced9de8e24e4acf11133990bb130889b2cfff
parent6cec31da3c56685995e307354390a1fdb8fef36c (diff)
downloadupstream-262f054c6e556b3c4e5c2ec334f3f7190a5abf0f.tar.gz
upstream-262f054c6e556b3c4e5c2ec334f3f7190a5abf0f.tar.bz2
upstream-262f054c6e556b3c4e5c2ec334f3f7190a5abf0f.zip
br2684ctl: add support for notifying nas* bringup via a script
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48320
-rw-r--r--package/network/utils/linux-atm/patches/500-br2684ctl_script.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/package/network/utils/linux-atm/patches/500-br2684ctl_script.patch b/package/network/utils/linux-atm/patches/500-br2684ctl_script.patch
new file mode 100644
index 0000000000..e5481c8d17
--- /dev/null
+++ b/package/network/utils/linux-atm/patches/500-br2684ctl_script.patch
@@ -0,0 +1,54 @@
+--- a/src/br2684/br2684ctl.c
++++ b/src/br2684/br2684ctl.c
+@@ -1,3 +1,4 @@
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+@@ -43,6 +44,7 @@ struct br2684_params {
+
+
+ int lastsock, lastitf;
++static char *up_script;
+
+
+ void fatal(const char *str, int err)
+@@ -185,6 +187,8 @@ int assign_vcc(char *astr, int encap, in
+
+ void start_interface(struct br2684_params* params)
+ {
++ char *cmd;
++
+ if (params->astr==NULL) {
+ syslog(LOG_ERR, "Required ATM parameters not specified.");
+ exit(1);
+@@ -193,13 +197,18 @@ void start_interface(struct br2684_param
+ create_br(params->itfnum, params->payload);
+ assign_vcc(params->astr, params->encap, params->payload, params->sndbuf,
+ params->reqqos);
++ if (up_script) {
++ asprintf(&cmd, "%s nas%d", up_script, lastitf);
++ system(cmd);
++ free(cmd);
++ }
+ }
+
+
+ void usage(char *s)
+ {
+ printf("usage: %s [-b] [[-c number] [-e 0|1] [-s sndbuf] [-q qos] [-p 0|1] "
+- "[-a [itf.]vpi.vci]*]*\n", s);
++ "[-a [itf.]vpi.vci]*]* [-S script]\n", s);
+ printf(" encapsulations: 0=llc, 1=vcmux\n payloads: 0=routed, 1=bridged\n");
+ exit(1);
+ }
+@@ -258,6 +267,9 @@ int main (int argc, char **argv)
+ params.sndbuf=8192;
+ }
+ break;
++ case 'S':
++ up_script = optarg;
++ break;
+ case 'p': /* payload type: routed (0) or bridged (1) */
+ #ifdef BR2684_FLAG_ROUTED
+ params.payload = atoi(optarg);