Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48320master
parent
6cec31da3c
commit
262f054c6e
@ -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);
|
Loading…
Reference in new issue