From owner-freebsd-bugs Tue Feb 4 14:40:11 2003 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2A2F837B401 for ; Tue, 4 Feb 2003 14:40:09 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4FA3443F3F for ; Tue, 4 Feb 2003 14:40:08 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id h14Me7NS020081 for ; Tue, 4 Feb 2003 14:40:07 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id h14Me7ji020080; Tue, 4 Feb 2003 14:40:07 -0800 (PST) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6E96837B401 for ; Tue, 4 Feb 2003 14:32:35 -0800 (PST) Received: from v.gz.ru (v.gz.ru [194.67.72.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABB8943F9B for ; Tue, 4 Feb 2003 14:32:28 -0800 (PST) (envelope-from leo@v.gz.ru) Received: from virgin.v.gz.ru (localhost [127.0.0.1]) by v.gz.ru (8.12.6/8.12.6) with ESMTP id h14MWMLG005761 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Wed, 5 Feb 2003 01:32:22 +0300 (MSK) (envelope-from leo@virgin.v.gz.ru) Received: (from leo@localhost) by virgin.v.gz.ru (8.12.6/8.12.5/Submit) id h14MWLGj005760; Wed, 5 Feb 2003 01:32:21 +0300 (MSK) Message-Id: <200302042232.h14MWLGj005760@virgin.v.gz.ru> Date: Wed, 5 Feb 2003 01:32:21 +0300 (MSK) From: Lev Shamardin Reply-To: Lev Shamardin To: FreeBSD-gnats-submit@FreeBSD.org Cc: Dmitro Dudenko X-Send-Pr-Version: 3.113 Subject: kern/47920: if ng_pppoe switches to nonstandard mode it stays in it forever Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 47920 >Category: kern >Synopsis: if ng_pppoe switches to nonstandard mode it stays in it forever >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Feb 04 14:40:06 PST 2003 >Closed-Date: >Last-Modified: >Originator: Lev Shamardin >Release: FreeBSD 4.7-STABLE i386 >Organization: MSU Hostel Network >Environment: System: FreeBSD virgin.v.gz.ru 4.7-STABLE FreeBSD 4.7-STABLE #2: Sat Dec 14 21:39:44 MSK 2002 glebius@morannon.v.ru:/usr/obj/usr/src/sys/HYMEN i386 >Description: If the sys/netgraph/ng_pppoe.c switches to non-standard mode, it remains in non-standard forever. The only known software PPPoE client supporting non-standard mode is in FreeBSD. If the network contains FreeBSD PPPoE service provider, and at least one FreeBDF PPPoE client, one accidental switch to the non-standard mode will cause inoperability of the whole PPPoE network, because the only way to switch pppoe back to standard mode is to reboot the kernel, and if the FreeBSD client reconnects to the server, this will bring the server back to non-standard mode. In our network we have many Windows XP and Efficient Networks EnterNet PPPoE clients and some FreeBSD clients. Due to some accident our PPPoE server switched to the non-standard PPPoE mode. And after this we've got a loop: if we reboot the server, one of the FreeBSD clients reconnects in non-standard mode turning the server back to non-standard mode. We had to reboot all FreeBSD nodes in our network simultaneously to make the system operational again, but there is no guarantee that this will not happen again. >How-To-Repeat: Generate a PPPoE Discovery packet with 0x3c12 protocol in ethernet header instead of 0x8863 and send it to a server running pppoed. >Fix: There should be a kernel option or sysctl variable which can disable usage of non-standard pppoe mode. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message