From owner-freebsd-net@FreeBSD.ORG Sat Jan 17 20:28:51 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F291E1065670 for ; Sat, 17 Jan 2009 20:28:51 +0000 (UTC) (envelope-from prt@prt.org) Received: from smtp5.uk.umis.net (smtp5.uk.umis.net [217.65.166.40]) by mx1.freebsd.org (Postfix) with ESMTP id BE9BA8FC13 for ; Sat, 17 Jan 2009 20:28:51 +0000 (UTC) (envelope-from prt@prt.org) Received: from kate.prtsystems.ltd.uk ([217.65.165.35]) by smtp5.uk.umis.net with esmtpa (Exim 4.63 (FreeBSD)) (envelope-from ) id 1LOHT5-000BnU-Ne for freebsd-net@freebsd.org; Sat, 17 Jan 2009 20:08:31 +0000 Message-ID: <49723ABE.6010409@prt.org> Date: Sat, 17 Jan 2009 20:08:30 +0000 From: Paul Thornton User-Agent: Thunderbird 2.0.0.19 (Windows/20081209) MIME-Version: 1.0 To: freebsd-net@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: pppoed problem with reconnections X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Jan 2009 20:28:52 -0000 Hi folks, I am currently doing some lab testing with 6.3-release and a pppoe setup where each user has their own VLAN. On the termination box have an em interface with about 200 VLANs configured on it, and have a ppp.conf looking like this: default: set log Chat Command Phase enable pap enable chap allow mode direct set mru 1462 set mtu 1462 set timeout 0 enable lqr accept dns set dns 192.168.1.1 192.168.1.2 set radius /etc/ppp/radius.conf set ifaddr 192.168.254.254/32 cv1001e: set device PPPoE:vlan1001:cv1001 cv1002e: set device PPPoE:vlan1002:cv1002 cv1003e: set device PPPoE:vlan1003:cv1003 cv1004e: set device PPPoE:vlan1004:cv1004 (and so on for several pages) There are multiple pppoed processes running, one for each VLAN (this might seem wasteful but there are other reasons for doing it this way). All user authentication and IP address assignment is handled by the radius server, and each user ID has a static IP address. The problem I'm seeing is as follows: - PPPoE connection comes in, is authenticated, and a ppp process is exec()ed by pppoed. - This connection has the user's IP address, say 192.168.254.1. - Everything works as expected. This is a Good Thing. - The PPPoE connection is then not disconnected cleanly (say network cable pulled out, or machine reboots, etc) - Back on the termination box, there is still a ppp process running using that address. - When you try and reconnect as the original user, it fails because the address cannot be assigned (already in use). Things then stay like this for ever until I kill the ppp process that was connected with the pppoed running on that VLAN. I don't want to set a timeout as I want these sessions to be always on. Is there any way to configure pppoed to kill the old ppp process before trying to launch the new one, so the IP address is released? I guess I'm asking the reverse of the age old "how do I deny multiple logins" question - how do I allow it, but have the new one boot the old one off? Thanks, Paul.