From: chas w. <ch...@us...> - 2007-07-11 15:52:12
|
Update of /cvsroot/linux-atm/linux-atm/src/br2684 In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv26467/src/br2684 Modified Files: Tag: V2_5_0 br2684ctl.c Log Message: add payload option to br2684ctl (note that this also requires kernel support as well) Index: br2684ctl.c =================================================================== RCS file: /cvsroot/linux-atm/linux-atm/src/br2684/Attic/br2684ctl.c,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -C2 -d -r1.1.2.4 -r1.1.2.5 *** br2684ctl.c 26 Feb 2007 18:26:27 -0000 1.1.2.4 --- br2684ctl.c 11 Jul 2007 15:42:20 -0000 1.1.2.5 *************** *** 60,64 **** } ! int create_br(char *nstr) { int num, err; --- 60,64 ---- } ! int create_br(char *nstr, int payload) { int num, err; *************** *** 76,79 **** --- 76,83 ---- ni.backend_num = ATM_BACKEND_BR2684; ni.media = BR2684_MEDIA_ETHERNET; + #ifdef BR2684_FLAG_ROUTED + if (payload == 0) + ni.media |= BR2684_FLAG_ROUTED; + #endif ni.mtu = 1500; sprintf(ni.ifname, "nas%d", num); *************** *** 95,99 **** ! int assign_vcc(char *astr, int encap, int bufsize, struct atm_qos qos) { int err; --- 99,104 ---- ! int assign_vcc(char *astr, int encap, int payload, ! int bufsize, struct atm_qos qos) { int err; *************** *** 107,116 **** syslog(LOG_ERR,"Could not parse ATM parameters (error=%d)\n",err); - #if 0 - addr.sap_family = AF_ATMPVC; - addr.sap_addr.itf = itf; - addr.sap_addr.vpi = 0; - addr.sap_addr.vci = vci; - #endif syslog(LOG_INFO,"Communicating over ATM %d.%d.%d, encapsulation: %s\n", addr.sap_addr.itf, addr.sap_addr.vpi, --- 112,115 ---- *************** *** 163,169 **** void usage(char *s) { ! printf("usage: %s [-b] [[-c number] [-e 0|1] [-s sndbuf] [-q qos] [-a [itf.]vpi.vci]*]*\n", s); exit(1); } --- 162,170 ---- + 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); ! printf(" encapsulations: 0=llc, 1=vcmux\n payloads: 0=routed, 1=bridged\n"); exit(1); } *************** *** 173,179 **** int main (int argc, char **argv) { ! int c, background=0, encap=0, sndbuf=8192; struct atm_qos reqqos; ! int itfnum; lastsock=-1; lastitf=0; --- 174,181 ---- int main (int argc, char **argv) { ! int c, background=0, encap=0, sndbuf=8192, payload=1; ! int itfnum = 0; struct atm_qos reqqos; ! lastsock=-1; lastitf=0; *************** *** 184,188 **** openlog (LOG_NAME,LOG_OPTION,LOG_FACILITY); if (argc>1) ! while ((c = getopt(argc, argv,"q:a:bc:e:s:?h")) !=EOF) switch (c) { case 'q': --- 186,190 ---- openlog (LOG_NAME,LOG_OPTION,LOG_FACILITY); if (argc>1) ! while ((c = getopt(argc, argv,"q:a:bc:e:s:p:?h")) !=EOF) switch (c) { case 'q': *************** *** 191,195 **** break; case 'a': ! assign_vcc(optarg, encap, sndbuf, reqqos); break; case 'b': --- 193,197 ---- break; case 'a': ! assign_vcc(optarg, encap, payload, sndbuf, reqqos); break; case 'b': *************** *** 197,201 **** break; case 'c': ! create_br(optarg); itfnum = atoi(optarg); break; --- 199,203 ---- break; case 'c': ! create_br(optarg, payload); itfnum = atoi(optarg); break; *************** *** 214,217 **** --- 216,226 ---- } break; + case 'p': /* payload type: routed (0) or bridged (1) */ + #ifdef BR2684_FLAG_ROUTED + payload = atoi(optarg); + break; + #else + syslog(LOG_ERR, "payload option not supported.\n"); + #endif case '?': case 'h': |