1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- --- a/src/br2684/br2684ctl.c
- +++ b/src/br2684/br2684ctl.c
- @@ -45,6 +45,7 @@ struct br2684_params {
-
- int lastsock, lastitf;
- static char *up_script;
- +const char *itfname = "nas";
-
-
- void fatal(const char *str, int err)
- @@ -73,7 +74,7 @@ int create_pidfile(int num)
-
- if (num < 0) return -1;
-
- - snprintf(name, 32, "/var/run/br2684ctl-nas%d.pid", num);
- + snprintf(name, 32, "/var/run/br2684ctl-%s%d.pid", itfname, num);
- pidfile = fopen(name, "w");
- if (pidfile == NULL) return -1;
- fprintf(pidfile, "%d", getpid());
- @@ -102,7 +103,7 @@ int create_br(int itfnum, int payload)
- ni.media |= BR2684_FLAG_ROUTED;
- #endif
- ni.mtu = 1500;
- - sprintf(ni.ifname, "nas%d", itfnum);
- + sprintf(ni.ifname, "%s%d", itfname, itfnum);
- err=ioctl (lastsock, ATM_NEWBACKENDIF, &ni);
-
- if (err == 0)
- @@ -167,7 +168,7 @@ int assign_vcc(char *astr, int encap, in
-
- be.backend_num = ATM_BACKEND_BR2684;
- be.ifspec.method = BR2684_FIND_BYIFNAME;
- - sprintf(be.ifspec.spec.ifname, "nas%d", lastitf);
- + sprintf(be.ifspec.spec.ifname, "%s%d", itfname, lastitf);
- be.fcs_in = BR2684_FCSIN_NO;
- be.fcs_out = BR2684_FCSOUT_NO;
- be.fcs_auto = 0;
- @@ -198,7 +199,7 @@ void start_interface(struct br2684_param
- assign_vcc(params->astr, params->encap, params->payload, params->sndbuf,
- params->reqqos);
- if (up_script) {
- - asprintf(&cmd, "%s nas%d", up_script, lastitf);
- + asprintf(&cmd, "%s %s%d", up_script, itfname, lastitf);
- system(cmd);
- free(cmd);
- }
- @@ -207,7 +208,7 @@ void start_interface(struct br2684_param
-
- void usage(char *s)
- {
- - printf("usage: %s [-b] [[-c number] [-e 0|1] [-s sndbuf] [-q qos] [-p 0|1] "
- + printf("usage: %s [-b] [-n name] [[-c number] [-e 0|1] [-s sndbuf] [-q qos] [-p 0|1] "
- "[-a [itf.]vpi.vci]*]* [-S script]\n", s);
- printf(" encapsulations: 0=llc, 1=vcmux\n payloads: 0=routed, 1=bridged\n");
- exit(1);
- @@ -234,7 +235,7 @@ int main (int argc, char **argv)
-
- openlog (LOG_NAME,LOG_OPTION,LOG_FACILITY);
- if (argc>1)
- - while ((c = getopt(argc, argv,"q:a:bc:e:s:S:p:?h")) !=EOF)
- + while ((c = getopt(argc, argv,"q:a:bn:c:e:s:S:p:?h")) !=EOF)
- switch (c) {
- case 'q':
- printf ("optarg : %s",optarg);
- @@ -247,6 +248,9 @@ int main (int argc, char **argv)
- case 'b':
- background=1;
- break;
- + case 'n':
- + itfname = optarg;
- + break;
- case 'c':
- /* temporary, to make it work with multiple interfaces: */
- if (params.itfnum>=0) start_interface(¶ms);
|