]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
atm: remove AAL3/4 transport support
authorJakub Kicinski <kuba@kernel.org>
Mon, 15 Jun 2026 19:44:08 +0000 (12:44 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 16 Jun 2026 15:53:51 +0000 (08:53 -0700)
AAL3/4 is an obsolete connection-oriented ATM adaptation layer that has
seen no real use since the SMDS-era hardware it was designed for (90s?).
We are only maintaining ATM support in-tree to keep PPPoATM running,
and PPPoATM runs over AAL5.

Drop the "raw" AAL3/4 transport (atm_init_aal34()) and the ATM_AAL34
cases in the connect and traffic-parameter paths. A vcc_connect() with
qos.aal == ATM_AAL34 now fails with -EPROTOTYPE.

uAPI cleanup is performed later, separately.

Link: https://patch.msgid.link/20260615194416.752559-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/atm/common.c
net/atm/protocols.h
net/atm/raw.c

index 60132de4eebe11b71db143107d8fe47351c9bed4..913f7e32ce41eeaea8a8aaef0f33844f720f0b77 100644 (file)
@@ -293,9 +293,6 @@ static int adjust_tp(struct atm_trafprm *tp, unsigned char aal)
        case ATM_AAL0:
                max_sdu = ATM_CELL_SIZE-1;
                break;
-       case ATM_AAL34:
-               max_sdu = ATM_MAX_AAL34_PDU;
-               break;
        default:
                pr_warn("AAL problems ... (%d)\n", aal);
                fallthrough;
@@ -411,10 +408,6 @@ static int __vcc_connect(struct atm_vcc *vcc, struct atm_dev *dev, short vpi,
                error = atm_init_aal0(vcc);
                vcc->stats = &dev->stats.aal0;
                break;
-       case ATM_AAL34:
-               error = atm_init_aal34(vcc);
-               vcc->stats = &dev->stats.aal34;
-               break;
        case ATM_NO_AAL:
                /* ATM_AAL5 is also used in the "0 for default" case */
                vcc->qos.aal = ATM_AAL5;
index 18d4d008bac330f7aef5138f30a1cc0ac7b5c742..30158efb5e1a4311e7903cd3bee2e7d3c863fc98 100644 (file)
@@ -8,7 +8,6 @@
 #define NET_ATM_PROTOCOLS_H
 
 int atm_init_aal0(struct atm_vcc *vcc);        /* "raw" AAL0 */
-int atm_init_aal34(struct atm_vcc *vcc);/* "raw" AAL3/4 transport */
 int atm_init_aal5(struct atm_vcc *vcc);        /* "raw" AAL5 transport */
 
 #endif
index 1e6511ec842cbcac917d2ae0cd8f50054a06109d..0d36aeb3671b649ca28ae3cd79a4dcf29d94490b 100644 (file)
@@ -68,18 +68,6 @@ int atm_init_aal0(struct atm_vcc *vcc)
        return 0;
 }
 
-int atm_init_aal34(struct atm_vcc *vcc)
-{
-       vcc->push = atm_push_raw;
-       vcc->pop = atm_pop_raw;
-       vcc->push_oam = NULL;
-       if (vcc->dev->ops->send_bh)
-               vcc->send = vcc->dev->ops->send_bh;
-       else
-               vcc->send = vcc->dev->ops->send;
-       return 0;
-}
-
 int atm_init_aal5(struct atm_vcc *vcc)
 {
        vcc->push = atm_push_raw;