From d7e6984c74be8de8803f5ab3f51242d101464a1c Mon Sep 17 00:00:00 2001 From: Denys Fedoryshchenko Date: Wed, 12 Nov 2025 07:29:31 +0200 Subject: pppoe: add missing break, ignore vendor-specific tags when parsing PADR Added an explicit break after handling TAG_VENDOR_SPECIFIC, so vendor-specific PADR tags (e.g., TR-101) no longer fall through and get misinterpreted as other tags like TAG_PPP_MAX_PAYLOAD. Signed-off-by: Denys Fedoryshchenko --- accel-pppd/ctrl/pppoe/pppoe.c | 1 + 1 file changed, 1 insertion(+) diff --git a/accel-pppd/ctrl/pppoe/pppoe.c b/accel-pppd/ctrl/pppoe/pppoe.c index c8007414..93412b95 100644 --- a/accel-pppd/ctrl/pppoe/pppoe.c +++ b/accel-pppd/ctrl/pppoe/pppoe.c @@ -1194,6 +1194,7 @@ static void pppoe_recv_PADR(struct pppoe_serv_t *serv, uint8_t *pack, int size) if (vendor_id == VENDOR_ADSL_FORUM) if (conf_tr101) tr101_tag = tag; + break; case TAG_PPP_MAX_PAYLOAD: if (ntohs(tag->tag_len) == 2) ppp_max_payload = ntohs(*(uint16_t *)tag->tag_data); -- cgit v1.2.3