- from PLD
[packages/linux-atm.git] / vbr-linux-atm-diffs
1 Index: linux-atm/configure.in
2 ===================================================================
3 RCS file: /afs/cmf/project/cvsroot/linux-atm/configure.in,v
4 retrieving revision 1.2
5 diff -u -r1.2 configure.in
6 --- linux-atm/configure.in      3 Jan 2002 01:59:00 -0000       1.2
7 +++ linux-atm/configure.in      9 Apr 2003 12:41:37 -0000
8 @@ -13,7 +13,7 @@
9  
10  AM_INIT_AUTOMAKE(linux-atm,2.4.0)
11  
12 -LIBVER_CURRENT="1"
13 +LIBVER_CURRENT="2"
14  LIBVER_REVISION="0"
15  LIBVER_AGE="0"
16  AC_SUBST(LIBVER_CURRENT)
17 Index: linux-atm/src/include/atm.h
18 ===================================================================
19 RCS file: /afs/cmf/project/cvsroot/linux-atm/src/include/atm.h,v
20 retrieving revision 1.1.1.1
21 diff -u -r1.1.1.1 atm.h
22 --- linux-atm/src/include/atm.h 31 Dec 2001 18:03:10 -0000      1.1.1.1
23 +++ linux-atm/src/include/atm.h 8 Apr 2003 15:09:19 -0000
24 @@ -83,7 +83,7 @@
25  #define MAX_ATM_ADDR_LEN (2*ATM_ESA_LEN+ATM_E164_LEN+5)
26                                 /* 4 dots, 1 plus */
27  #define MAX_ATM_NAME_LEN 256   /* wild guess */
28 -#define MAX_ATM_QOS_LEN 116    /* 5+4+2*(3+3*(7+9)+2)+1 */
29 +#define MAX_ATM_QOS_LEN 191    /* 7+1+4+2*(1+3+5*(8+8+1))+1 */
30  #define MAX_ATM_SAP_LEN        255     /* BHLI(27)+1+3*BLLI(L2=33,L3=41,+1)+2 */
31  
32  
33 Index: linux-atm/src/lib/qos2text.c
34 ===================================================================
35 RCS file: /afs/cmf/project/cvsroot/linux-atm/src/lib/qos2text.c,v
36 retrieving revision 1.1.1.1
37 diff -u -r1.1.1.1 qos2text.c
38 --- linux-atm/src/lib/qos2text.c        31 Dec 2001 18:03:11 -0000      1.1.1.1
39 +++ linux-atm/src/lib/qos2text.c        8 Apr 2003 14:42:51 -0000
40 @@ -2,6 +2,7 @@
41                 representation */
42  
43  /* Written 1996-2000 by Werner Almesberger, EPFL-LRC */
44 +/* VBR support added, kaczor@dgt-lab.com.pl */ 
45  
46  #if HAVE_CONFIG_H
47  #include <config.h>
48 @@ -33,6 +34,8 @@
49      FLD(pcr);
50      FLD(min_pcr);
51      FLD(max_sdu);
52 +    FLD(scr);
53 +    FLD(mbs);
54  }
55  
56  
57 @@ -71,8 +74,16 @@
58         case ATM_CBR:
59             strcpy(buffer,"cbr");
60             pos += 3;
61 +           break;            
62 +        case ATM_VBR_RT:
63 +           strcpy(buffer,"rt-vbr");
64 +           pos += 6;
65             break;
66 -       case ATM_ABR:
67 +       case ATM_VBR_NRT:
68 +           strcpy(buffer,"nrt-vbr");
69 +           pos += 7;
70 +           break;      
71 +        case ATM_ABR:
72             strcpy(buffer,"abr");
73             pos += 3;
74             break;
75 Index: linux-atm/src/lib/text2qos.c
76 ===================================================================
77 RCS file: /afs/cmf/project/cvsroot/linux-atm/src/lib/text2qos.c,v
78 retrieving revision 1.1.1.1
79 diff -u -r1.1.1.1 text2qos.c
80 --- linux-atm/src/lib/text2qos.c        31 Dec 2001 18:03:11 -0000      1.1.1.1
81 +++ linux-atm/src/lib/text2qos.c        8 Apr 2003 15:12:52 -0000
82 @@ -2,6 +2,9 @@
83                 encoding */
84  
85  /* Written 1996-2000 by Werner Almesberger, EPFL-LRC/ICA */
86 +/* VBR support added,  kaczor@dgt-lab.com.pl */
87 +
88 +
89  
90  #if HAVE_CONFIG_H
91  #include <config.h>
92 @@ -12,6 +15,7 @@
93  #include <string.h>
94  #include <ctype.h>
95  #include <limits.h>
96 +#include <stdio.h>
97  
98  #include "atm.h"
99  
100 @@ -86,16 +90,16 @@
101      if (*(*text)++ != ':') return -1;
102      while (1) {
103         if (!**text) return -1;
104 -       switch (fetch(text,"max_pcr=","pcr=","min_pcr=","max_sdu=","sdu=",
105 +       switch (fetch(text,"max_pcr=","pcr=","min_pcr=","max_sdu=","sdu=","scr=","mbs=", 
106           NULL)) {
107             case 0:
108                 if ((value = __t2q_get_rate(text,0)) == RATE_ERROR) return -1;
109 -               if (a) a->max_pcr = value;
110 +               if (a) a->max_pcr = value; 
111                 if (b) b->max_pcr = value;
112                 break;
113             case 1:
114                 if ((value = __t2q_get_rate(text,0)) == RATE_ERROR) return -1;
115 -               if (a) a->pcr = value;
116 +               if (a) a->pcr = value; 
117                 if (b) b->pcr = value;
118                 break;
119             case 2:
120 @@ -112,6 +116,20 @@
121                 if (a) a->max_sdu = value;
122                 if (b) b->max_sdu = value;
123                 break;
124 +           case 5: 
125 +               if ((value = __t2q_get_rate(text,1)) == RATE_ERROR) return -1;
126 +               if (value == ATM_MAX_PCR) return -1;
127 +               if (a) a->scr = value; 
128 +               if (b) b->scr = value;
129 +               break;
130 +           case 6:
131 +               value = strtol(*text,&end,10);
132 +               if (value < 0) return -1;
133 +               *text = end;
134 +               if (a) a->mbs = value; 
135 +               if (b) b->mbs = value;
136 +               break;
137 +    
138             default:
139                 return 0;
140         }
141 @@ -131,20 +149,26 @@
142      do {
143         static const unsigned char aal_number[] = { ATM_AAL0, ATM_AAL5 };
144         int item;
145 -
146 -       item = fetch(&text,"!none","ubr","cbr","vbr","abr","aal0","aal5",NULL);
147
148 +       item = fetch(&text,"!none","ubr","cbr","nrt-vbr","abr","aal0","aal5","rt-vbr","vbr",NULL);
149         switch (item) {
150             case 1:
151             case 2:
152 -               /* we don't support VBR yet */
153 -           case 4:
154 -               traffic_class = item;
155 +           case 3: 
156 +               traffic_class = item;   /* ATM_UBR, ATM_CBR or ATM_VBR_NRT */
157                 break;
158 +            case 7:
159 +                traffic_class = 6;     /* ATM_VBR_RT */
160 +                break;
161 +            case 8:
162 +                traffic_class = 3;     /* alias for ATM_VBR_NRT */
163 +                break;
164             case 5:
165             case 6:
166                 aal = aal_number[item-5];
167                 break;
168 -           default:
169 +          
170 +            default: //  abr is switched off
171                 return -1;
172         }
173      }
174 Index: linux-atm/src/man/qos.7
175 ===================================================================
176 RCS file: /afs/cmf/project/cvsroot/linux-atm/src/man/qos.7,v
177 retrieving revision 1.1.1.1
178 diff -u -r1.1.1.1 qos.7
179 --- linux-atm/src/man/qos.7     31 Dec 2001 18:03:11 -0000      1.1.1.1
180 +++ linux-atm/src/man/qos.7     8 Apr 2003 15:12:03 -0000
181 @@ -19,7 +19,12 @@
182  .IP \fBcbr\fP
183  Constant Bit Rate
184  .IP \fBabr\fP
185 -Available Bit Rate
186 +Available Bit Rate (rarely implemented in drivers)
187 +.IP \fBnrt-vbr\fP
188 +Non-Real-Time Variable Bit Rate (rarely implemented in drivers).
189 +Can also be abbreviated as \fBvbr\fP.
190 +.IP \fBrt-vbr\fP
191 +Real-Time Variable Bit Rate (rarely implemented in drivers)
192  .P
193  The following AAL types are recognized:
194  .IP \fBaal0\fP
195 @@ -50,11 +55,18 @@
196  .IP \fBmin_pcr=\fIrate\fP
197  The lower limit for the peak cell rate to assign. If omitted, any rate above
198  zero can be chosen.
199 +.IP \fBscr=\fIrate\fP
200 +Sustainable cell rate for nrt-vbr and rt-vbr.
201  .IP \fBsdu=\fIsize\fP
202  is a synonym for \fBmax_sdu=\fIsize\fP
203  .IP \fBmax_sdu=\fIsize\fP
204  The size of the largest packet that may be sent or received. If omitted,
205  a context-dependent default value is used.
206 +.IP \fBmbs=\fIsize\fP
207 +Maximum Burst Size parameter for nrt-vbr and rt-vbr. The number of cells
208 +that may be transmitted at the peek rate before switching to scr.
209 +cdvt currently cannot be defined for vbr and it is assumed to be as small
210 +as possible.
211  .P
212  Values are specified as follows:
213  .IP \fIrate\fP
214 @@ -90,6 +102,7 @@
215    CBR:max_pcr=11Mbps,min_pcr=10mbps,sdu=8192
216    aal5,ubr:tx:none
217    cbr:tx:pcr=30000,rx:none
218 +  rt-vbr:pcr=100000,scr=10000,mbs=1000
219  .sp
220  .fi
221  The following specificiations are equivalent: