]> git.pld-linux.org Git - packages/kernel.git/blobdiff - kernel-atm-vbr.patch
- 5.18.5
[packages/kernel.git] / kernel-atm-vbr.patch
index ca4b665cc07bafda2e545d45ed075b6557318493..a9e921ffa8eed0a173efd730028afd85892368dc 100644 (file)
@@ -1,11 +1,86 @@
-Index: linux/include/linux/atm.h
-===================================================================
-RCS file: /afs/cmf/project/cvsroot/linux/include/linux/atm.h,v
-retrieving revision 1.2
-diff -u -r1.2 atm.h
---- linux/include/linux/atm.h  12 Feb 2003 20:56:33 -0000      1.2
-+++ linux/include/linux/atm.h  9 Apr 2003 12:08:38 -0000
-@@ -72,7 +72,7 @@
+diff -urN linux-5.9/net.org/atm/common.c linux-5.9/net/atm/common.c
+--- linux-5.9/net.org/atm/common.c     2020-10-11 23:15:50.000000000 +0200
++++ linux-5.9/net/atm/common.c 2020-11-03 13:27:25.545142305 +0100
+@@ -756,6 +756,43 @@
+       vcc = ATM_SD(sock);
+       switch (optname) {
++              case SO_ATMQOS_COMPAT:
++                      {
++                              struct atm_qos_compat qos_compat;
++                              struct atm_qos qos;
++
++                              if (copy_from_sockptr(&qos_compat,optval,sizeof(qos_compat)))
++                                      return -EFAULT;
++
++                              /* convert old atm_qos to new atm_qos */
++                              qos.aal = qos_compat.aal;
++                              qos.rxtp.traffic_class = qos_compat.rxtp.traffic_class;
++                              qos.rxtp.max_pcr = qos_compat.rxtp.max_pcr;
++                              qos.rxtp.pcr = qos_compat.rxtp.pcr;
++                              qos.rxtp.min_pcr = qos_compat.rxtp.min_pcr;
++                              qos.rxtp.max_cdv = qos_compat.rxtp.max_cdv;
++                              qos.rxtp.max_sdu = qos_compat.rxtp.max_sdu;
++                              qos.rxtp.scr = 0;
++                              qos.rxtp.mbs = 0;
++                              qos.txtp.traffic_class = qos_compat.txtp.traffic_class;
++                              qos.txtp.max_pcr = qos_compat.txtp.max_pcr;
++                              qos.txtp.pcr = qos_compat.txtp.pcr;
++                              qos.txtp.min_pcr = qos_compat.txtp.min_pcr;
++                              qos.txtp.max_cdv = qos_compat.txtp.max_cdv;
++                              qos.txtp.max_sdu = qos_compat.txtp.max_sdu;
++                              qos.txtp.scr = 0;
++                              qos.txtp.mbs = 0;
++
++                              error = check_qos(&qos);
++                              if (error) return error;
++                              if (sock->state == SS_CONNECTED)
++                                      return atm_change_qos(vcc,&qos);
++                              if (sock->state != SS_UNCONNECTED)
++                                      return -EBADFD;
++                              vcc->qos = qos;
++                              set_bit(ATM_VF_HASQOS,&vcc->flags);
++                              return 0;
++                      }
+       case SO_ATMQOS:
+       {
+               struct atm_qos qos;
+@@ -799,6 +836,31 @@
+       vcc = ATM_SD(sock);
+       switch (optname) {
++              case SO_ATMQOS_COMPAT:
++                      {
++                              struct atm_qos_compat qos_compat;
++
++                              if (!test_bit(ATM_VF_HASQOS,&vcc->flags))
++                                      return -EINVAL;
++
++                              /* convert new atm_qos to old atm_qos */
++                              qos_compat.aal = vcc->qos.aal;
++                              qos_compat.rxtp.traffic_class = vcc->qos.rxtp.traffic_class;
++                              qos_compat.rxtp.max_pcr = vcc->qos.rxtp.max_pcr;
++                              qos_compat.rxtp.pcr = vcc->qos.rxtp.pcr;
++                              qos_compat.rxtp.min_pcr = vcc->qos.rxtp.min_pcr;
++                              qos_compat.rxtp.max_cdv = vcc->qos.rxtp.max_cdv;
++                              qos_compat.rxtp.max_sdu = vcc->qos.rxtp.max_sdu;
++                              qos_compat.txtp.traffic_class = vcc->qos.txtp.traffic_class;
++                              qos_compat.txtp.max_pcr = vcc->qos.txtp.max_pcr;
++                              qos_compat.txtp.pcr = vcc->qos.txtp.pcr;
++                              qos_compat.txtp.min_pcr = vcc->qos.txtp.min_pcr;
++                              qos_compat.txtp.max_cdv = vcc->qos.txtp.max_cdv;
++                              qos_compat.txtp.max_sdu = vcc->qos.txtp.max_sdu;
++
++                              return copy_to_user(optval,&qos_compat,sizeof(qos_compat)) ?
++                                  -EFAULT : 0;
++                      }
+       case SO_ATMQOS:
+               if (!test_bit(ATM_VF_HASQOS, &vcc->flags))
+                       return -EINVAL;
+diff -urN linux-5.9/include.org/uapi/linux/atm.h linux-5.9/include/uapi/linux/atm.h
+--- linux-5.9/include.org/uapi/linux/atm.h     2020-10-11 23:15:50.000000000 +0200
++++ linux-5.9/include/uapi/linux/atm.h 2020-11-03 13:27:25.545142305 +0100
+@@ -71,7 +71,7 @@
                            /* connection identifier range; socket must be
                               bound or connected */
  #define SO_ATMQOS     __SO_ENCODE(SOL_ATM,2,struct atm_qos)
@@ -39,8 +114,8 @@ diff -u -r1.2 atm.h
          /* extra params for ABR */
          unsigned int  icr;            /* Initial Cell Rate (24-bit) */
          unsigned int  tbe;            /* Transient Buffer Exposure (24-bit) */ 
-@@ -243,4 +251,37 @@
- };
+@@ -239,4 +246,37 @@
  
  typedef unsigned short atm_backend_t;
 +struct atm_trafprm_compat {
@@ -76,87 +151,4 @@ diff -u -r1.2 atm.h
 +
 +#define SO_ATMQOS_COMPAT __SO_ENCODE(SOL_ATM,2,struct atm_qos_compat)
 +                          /* Quality of Service setting (no vbr support) */
- #endif
-Index: linux/net/atm/common.c
-===================================================================
-RCS file: /afs/cmf/project/cvsroot/linux/net/atm/common.c,v
-retrieving revision 1.13
-diff -u -r1.13 common.c
---- linux/net/atm/common.c     17 Mar 2003 16:13:12 -0000      1.13
-+++ linux/net/atm/common.c     9 Apr 2003 12:10:28 -0000
-@@ -1085,6 +1085,43 @@
-       vcc = ATM_SD(sock);
-       switch (optname) {
-+              case SO_ATMQOS_COMPAT:
-+                      {
-+                              struct atm_qos_compat qos_compat;
-+                              struct atm_qos qos;
-+
-+                              if (copy_from_user(&qos_compat,optval,sizeof(qos_compat)))
-+                                      return -EFAULT;
-+
-+                              /* convert old atm_qos to new atm_qos */
-+                              qos.aal = qos_compat.aal;
-+                              qos.rxtp.traffic_class = qos_compat.rxtp.traffic_class;
-+                              qos.rxtp.max_pcr = qos_compat.rxtp.max_pcr;
-+                              qos.rxtp.pcr = qos_compat.rxtp.pcr;
-+                              qos.rxtp.min_pcr = qos_compat.rxtp.min_pcr;
-+                              qos.rxtp.max_cdv = qos_compat.rxtp.max_cdv;
-+                              qos.rxtp.max_sdu = qos_compat.rxtp.max_sdu;
-+                              qos.rxtp.scr = 0;
-+                              qos.rxtp.mbs = 0;
-+                              qos.txtp.traffic_class = qos_compat.txtp.traffic_class;
-+                              qos.txtp.max_pcr = qos_compat.txtp.max_pcr;
-+                              qos.txtp.pcr = qos_compat.txtp.pcr;
-+                              qos.txtp.min_pcr = qos_compat.txtp.min_pcr;
-+                              qos.txtp.max_cdv = qos_compat.txtp.max_cdv;
-+                              qos.txtp.max_sdu = qos_compat.txtp.max_sdu;
-+                              qos.txtp.scr = 0;
-+                              qos.txtp.mbs = 0;
-+
-+                              error = check_qos(&qos);
-+                              if (error) return error;
-+                              if (sock->state == SS_CONNECTED)
-+                                      return atm_change_qos(vcc,&qos);
-+                              if (sock->state != SS_UNCONNECTED)
-+                                      return -EBADFD;
-+                              vcc->qos = qos;
-+                              set_bit(ATM_VF_HASQOS,&vcc->flags);
-+                              return 0;
-+                      }
-               case SO_ATMQOS:
-                       {
-                               struct atm_qos qos;
-@@ -1132,6 +1169,31 @@
-       vcc = ATM_SD(sock);
-       switch (optname) {
-+              case SO_ATMQOS_COMPAT:
-+                      {
-+                              struct atm_qos_compat qos_compat;
-+
-+                              if (!test_bit(ATM_VF_HASQOS,&vcc->flags))
-+                                      return -EINVAL;
-+
-+                              /* convert new atm_qos to old atm_qos */
-+                              qos_compat.aal = vcc->qos.aal;
-+                              qos_compat.rxtp.traffic_class = vcc->qos.rxtp.traffic_class;
-+                              qos_compat.rxtp.max_pcr = vcc->qos.rxtp.max_pcr;
-+                              qos_compat.rxtp.pcr = vcc->qos.rxtp.pcr;
-+                              qos_compat.rxtp.min_pcr = vcc->qos.rxtp.min_pcr;
-+                              qos_compat.rxtp.max_cdv = vcc->qos.rxtp.max_cdv;
-+                              qos_compat.rxtp.max_sdu = vcc->qos.rxtp.max_sdu;
-+                              qos_compat.txtp.traffic_class = vcc->qos.txtp.traffic_class;
-+                              qos_compat.txtp.max_pcr = vcc->qos.txtp.max_pcr;
-+                              qos_compat.txtp.pcr = vcc->qos.txtp.pcr;
-+                              qos_compat.txtp.min_pcr = vcc->qos.txtp.min_pcr;
-+                              qos_compat.txtp.max_cdv = vcc->qos.txtp.max_cdv;
-+                              qos_compat.txtp.max_sdu = vcc->qos.txtp.max_sdu;
-+
-+                              return copy_to_user(optval,&qos_compat,sizeof(qos_compat)) ?
-+                                  -EFAULT : 0;
-+                      }
-               case SO_ATMQOS:
-                       if (!test_bit(ATM_VF_HASQOS,&vcc->flags))
-                               return -EINVAL;
+ #endif /* _UAPI_LINUX_ATM_H */
This page took 0.04333 seconds and 4 git commands to generate.