From owner-freebsd-current@FreeBSD.ORG Tue Jul 29 00:56:52 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 888DE37B401 for ; Tue, 29 Jul 2003 00:56:52 -0700 (PDT) Received: from mail.imp.ch (mail.imp.ch [157.161.1.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4D67643F93 for ; Tue, 29 Jul 2003 00:56:51 -0700 (PDT) (envelope-from mb@imp.ch) Received: from nbs.imp.ch (nbs.imp.ch [157.161.4.7]) by mail.imp.ch (8.12.6p2/8.12.3) with ESMTP id h6T7umYc097863 for ; Tue, 29 Jul 2003 09:56:49 +0200 (CEST) (envelope-from Martin.Blapp@imp.ch) Received: from cvs.imp.ch (cvs.imp.ch [157.161.4.9]) by nbs.imp.ch (8.12.8/8.12.3) with ESMTP id h6T7umlH6668690 for ; Tue, 29 Jul 2003 09:56:48 +0200 (MES) Date: Tue, 29 Jul 2003 09:56:48 +0200 (CEST) From: Martin Blapp To: current@freebsd.org Message-ID: <20030729094308.L41136@cvs.imp.ch> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: STEP 2, fixing dhclient behaviour with multiple interfaces X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jul 2003 07:56:52 -0000 Hi all, I't is my goal to make dhclient really functional, so it can not only be used with one interface, but several. On a well known OS this works just fine. A first interface gets initialized and the GW gets set as usual. But if a second interface gets added, and the first one is still active and has a working lease, the GW will not be overwriten. If you remove now the first interface, the default GW changes to the one of the second interface. "X" = Link on IF "+" = Interface gets added or has new link "-" = Interface gets removed or lost link IF1 IF2 GW1 GW2 --------------- X X X + X - X X + X X Too this functionality to dhclient, there is only one way to do it. the ISC-dhclient package offers a OMAPI Command Shell omsshell(1). There you can add new interfaces or even remove existing ones. The work that needs to be done is: - Adding a unix domain socket to OMAPI, so root (or a choosen user) can access dhclient (or dhcpd) on the local machine without authentification. - Providing the omshell scripts for adding and removing interfaces, adding new default gateways on interface removal etc ... - Change our infrastructure (devd, rc.d/dhclient script) to use them. If there are other ideas, I'm open to them. Martin Martin Blapp, ------------------------------------------------------------------ ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH Phone: +41 61 826 93 00 Fax: +41 61 826 93 01 PGP: PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E ------------------------------------------------------------------