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':
|