]>
Commit | Line | Data |
---|---|---|
d3addd79 JB |
1 | --- linux-3.7/include/uapi/linux/atm.h.orig 2012-12-11 04:30:57.000000000 +0100 |
2 | +++ linux-3.7/include/uapi/linux/atm.h 2012-12-12 21:23:41.327635859 +0100 | |
3 | @@ -70,7 +70,7 @@ | |
dd8d16df JR |
4 | /* connection identifier range; socket must be |
5 | bound or connected */ | |
6 | #define SO_ATMQOS __SO_ENCODE(SOL_ATM,2,struct atm_qos) | |
7 | - /* Quality of Service setting */ | |
8 | + /* Quality of Service setting (with vbr support) */ | |
9 | #define SO_ATMSAP __SO_ENCODE(SOL_ATM,3,struct atm_sap) | |
10 | /* Service Access Point */ | |
11 | #define SO_ATMPVC __SO_ENCODE(SOL_ATM,4,struct sockaddr_atmpvc) | |
d3addd79 | 12 | @@ -126,9 +126,11 @@ |
dd8d16df JR |
13 | #define ATM_NONE 0 /* no traffic */ |
14 | #define ATM_UBR 1 | |
15 | #define ATM_CBR 2 | |
16 | -#define ATM_VBR 3 | |
17 | +#define ATM_VBR_NRT 3 | |
18 | +#define ATM_VBR ATM_VBR_NRT /* for backward compatibility */ | |
19 | #define ATM_ABR 4 | |
20 | #define ATM_ANYCLASS 5 /* compatible with everything */ | |
21 | +#define ATM_VBR_RT 6 | |
22 | ||
23 | #define ATM_MAX_PCR -1 /* maximum available PCR */ | |
24 | ||
d3addd79 | 25 | @@ -139,6 +141,11 @@ |
dd8d16df JR |
26 | int min_pcr; /* minimum PCR in cells per second */ |
27 | int max_cdv; /* maximum CDV in microseconds */ | |
28 | int max_sdu; /* maximum SDU in bytes */ | |
29 | + | |
30 | + /* extra params for VBR */ | |
31 | + int scr; /* sustained rate in cells per second */ | |
32 | + int mbs; /* maximum burst size (MBS) in cells */ | |
33 | + | |
34 | /* extra params for ABR */ | |
35 | unsigned int icr; /* Initial Cell Rate (24-bit) */ | |
36 | unsigned int tbe; /* Transient Buffer Exposure (24-bit) */ | |
d3addd79 JB |
37 | @@ -238,4 +245,38 @@ |
38 | ||
dd8d16df JR |
39 | |
40 | typedef unsigned short atm_backend_t; | |
d3addd79 | 41 | + |
dd8d16df JR |
42 | +struct atm_trafprm_compat { |
43 | + unsigned char traffic_class; /* traffic class (ATM_UBR, ...) */ | |
44 | + int max_pcr; /* maximum PCR in cells per second */ | |
45 | + int pcr; /* desired PCR in cells per second */ | |
46 | + int min_pcr; /* minimum PCR in cells per second */ | |
47 | + int max_cdv; /* maximum CDV in microseconds */ | |
48 | + int max_sdu; /* maximum SDU in bytes */ | |
49 | + /* extra params for ABR */ | |
50 | + unsigned int icr; /* Initial Cell Rate (24-bit) */ | |
51 | + unsigned int tbe; /* Transient Buffer Exposure (24-bit) */ | |
52 | + unsigned int frtt : 24; /* Fixed Round Trip Time (24-bit) */ | |
53 | + unsigned int rif : 4; /* Rate Increment Factor (4-bit) */ | |
54 | + unsigned int rdf : 4; /* Rate Decrease Factor (4-bit) */ | |
55 | + unsigned int nrm_pres :1; /* nrm present bit */ | |
56 | + unsigned int trm_pres :1; /* rm present bit */ | |
57 | + unsigned int adtf_pres :1; /* adtf present bit */ | |
58 | + unsigned int cdf_pres :1; /* cdf present bit*/ | |
59 | + unsigned int nrm :3; /* Max # of Cells for each forward RM cell (3-bit) */ | |
60 | + unsigned int trm :3; /* Time between forward RM cells (3-bit) */ | |
61 | + unsigned int adtf :10; /* ACR Decrease Time Factor (10-bit) */ | |
62 | + unsigned int cdf :3; /* Cutoff Decrease Factor (3-bit) */ | |
63 | + unsigned int spare :9; /* spare bits */ | |
64 | +}; | |
65 | + | |
66 | +struct atm_qos_compat { | |
67 | + struct atm_trafprm_compat txtp; /* parameters in TX direction */ | |
68 | + struct atm_trafprm_compat rxtp __ATM_API_ALIGN; | |
69 | + /* parameters in RX direction */ | |
70 | + unsigned char aal __ATM_API_ALIGN; | |
71 | +}; | |
72 | + | |
73 | +#define SO_ATMQOS_COMPAT __SO_ENCODE(SOL_ATM,2,struct atm_qos_compat) | |
74 | + /* Quality of Service setting (no vbr support) */ | |
d3addd79 | 75 | #endif /* _UAPI_LINUX_ATM_H */ |