From owner-cvs-all Thu Feb 14 21:14: 5 2002 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 125FA37B400; Thu, 14 Feb 2002 21:13:59 -0800 (PST) Received: (from luigi@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g1F5Dxd06349; Thu, 14 Feb 2002 21:13:59 -0800 (PST) (envelope-from luigi) Message-Id: <200202150513.g1F5Dxd06349@freefall.freebsd.org> From: Luigi Rizzo Date: Thu, 14 Feb 2002 21:13:59 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/net bridge.c bridge.h X-FreeBSD-CVS-Branch: RELENG_4 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG luigi 2002/02/14 21:13:59 PST Modified files: (Branch: RELENG_4) sys/net bridge.c bridge.h Log: Lots of improvement to the bridging code. In order of importance: + each cluster now uses private data structures (filtering and local address tables) so you can treat them as fully independent switches. This part of the work was supported by: Cisco Systems, Inc. - NSITE lab, RTP, NC. + cleaned up the handling of configuration, so the system will behave much better when real or pseudo devices are dynamically attached or detached. It should also not panic anymore on systems with large number of devices, closing a few existings PRs on the topic. + while at it, add support for VLAN. This means that a FreeBSD box can now work as a real VLAN switch, with trunk interfaces etc. As an example: ifconfig vlan0 vlan 3 vlandev dc0 ifconfig vlan1 vlan 4 vlandev dc0 net.link.ether.bridge_cfg="vlan0:3,dc1:3,vlan1:4,dc1:4" uses dc0 as a trunk interface, and dc1 and dc3 as ports on vlans 3 and 4 You get the idea... NOTA BENE: by default bridge_cfg is initialised to "" so even if you enable bridging, no packets will be bridged until you set the list of interfaces on which you want this to happen. + large restructuring of the code, moving private vars and types from bridge.h to bridge.c. + added a lot of comments to the code to explain how to use it. [Immediate MFC -- there is no chance to get any feedback from current on this code, plus it has been mostly tested on STABLE. The 3-days delay would just annoy the author]. Revision Changes Path 1.16.2.18 +373 -239 src/sys/net/bridge.c 1.4.2.5 +25 -60 src/sys/net/bridge.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message