Reference

brcfg(8)

Configure and monitor Bridging functions of 2.0.X Kernels

NAME

brcfg - Configure and monitor Bridging functions of 2.0.X Kernels

SYNOPSIS

brcfg [ -disable ] [ -enable ] [ -debug ] [ -port <interface> ]

DESCRIPTION

brcfg will display the current bridge status without parameters. Specifying parameters will alter the bridge operation in the kernel.

brcfg will fail when the kernel has not been specifically compiled to include bridging.

NOTE

The operation of bridge-0.2 (or bridgex-0.2) and its brcfg is working in a different way than bridge-0.1 for 2.0.X Kernels! brcfg is not compatible to bridge-0.2. bridge-0.1 will work with 2.1.X Kernels but will not be able to use all features available.

Theory of Operationg

Bridging is possible if the machine you are running Linux on has multiple Ethernet interfaces to make both ethernet seem to be one for all protocols on both networks.

The Kernel uses an intelligent algorithm to perform bridging and to syncronize/exchange information with other bridges on the Networks. The kernel will listen to MAC addresses on all interfaces and build up tables describing which MAC address is located on which interface. Broadcast packets or packets whose destination interface is not known are forwarded to all attached interfaces (they are "flooded").

The bridging happens at the lowest level of the Ethernet protocol and is transparent for all higher protocols such as DecNet LAT or Netbeui or whatever people have come up with to run on Ethernet.

PROBLEMS

As of Kernel 2.0.21 there is a memory leak. You need to patch the kernel to get a reliable working bridge. 2.0.22 will contains the patch and works without the patch.

Trying to route regular protocols (TCP/IP, EtherTalk etc) might not work correctly on interfaces that are bridged.

bridge-0.2 (or bridgex-0.2) contains patches etc to do bridging just for a select amount of protocols. You can still use routing for protocols that are routable. bridge-0.2 versions are available from ftp.fuller.edu/Linux/debian/bridge and will contain functionality only available on 2.1.X Kernels. bridge-0.2 will require initially a heavy amount of kernel patching.

Bridging uses promiscuous mode that means your machine will process every packet and check if its to be forwarded to other networks. That will cost a lot in CPU resources. Be sure to use a good network card able to deliver an incoming full network load into the TCP/Stack of Linux.

OPTIONS

-disable

Without a port specification will disable the bridging functions. With a port specification will disable the designated port

-enable

Bridge startup if no port specified. If port is specified the port is activated to do bridging. Before activating the bridge all interfaces used have to be switched into promiscuous mode (see ifconfig manpage).

-debug

Switch the bridge / port into debugging mode. Huge amounts of information will be logged via the kernel describing each step of operation. The debug instruction must be prefixed with -enable or -disable.

-port <nr>

Enable or disable a port. See the bridge status display to identify the number with an interface.

Unknown + Christoph Lameter

AUTHOR

[email protected] (Christoph Lameter)

COPYRIGHT GPL

History

-debug since Debian 2.1 (Slink); -disable since Debian 2.1 (Slink); -enable since Debian 2.1 (Slink); -port since Debian 2.1 (Slink).