[PATCH net-next v2 1/9] atm: remove AAL3/4 transport support
From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-06-15 19:44:20
Subsystem:
atm, networking [general], the rest · Maintainers:
Chas Williams, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds
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. Signed-off-by: Jakub Kicinski <kuba@kernel.org> --- net/atm/protocols.h | 1 - net/atm/common.c | 7 ------- net/atm/raw.c | 12 ------------ 3 files changed, 20 deletions(-)
diff --git a/net/atm/protocols.h b/net/atm/protocols.h
index 18d4d008bac3..30158efb5e1a 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/common.c b/net/atm/common.c
index 60132de4eebe..913f7e32ce41 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/raw.c b/net/atm/raw.c
index 1e6511ec842c..0d36aeb3671b 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;
--
2.54.0