aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
authorJakub Kicinski <kuba@kernel.org>2026-06-15 12:44:08 -0700
committerJakub Kicinski <kuba@kernel.org>2026-06-16 08:53:51 -0700
commitc1468145ce756e7bd8d814728af19f4261939876 (patch)
treec38bb1de4ad126864b9b93b874f55551e0d15bfe /net
parent72dfa4700f78a6d79300cb8a1a600791795232de (diff)
downloadath-c1468145ce756e7bd8d814728af19f4261939876.tar.gz
atm: remove AAL3/4 transport support
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>
Diffstat (limited to 'net')
-rw-r--r--net/atm/common.c7
-rw-r--r--net/atm/protocols.h1
-rw-r--r--net/atm/raw.c12
3 files changed, 0 insertions, 20 deletions
diff --git a/net/atm/common.c b/net/atm/common.c
index 60132de4eebe1..913f7e32ce41e 100644
--- a/net/atm/common.c
+++ b/net/atm/common.c
@@ -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;
diff --git a/net/atm/protocols.h b/net/atm/protocols.h
index 18d4d008bac33..30158efb5e1a4 100644
--- a/net/atm/protocols.h
+++ b/net/atm/protocols.h
@@ -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
diff --git a/net/atm/raw.c b/net/atm/raw.c
index 1e6511ec842cb..0d36aeb3671b6 100644
--- a/net/atm/raw.c
+++ b/net/atm/raw.c
@@ -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;