summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2002-03-18 13:52:30 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2002-03-18 13:52:30 +0000
commit4e765b51298df5dbc9d71599e5fcbf2a4ffe06ab (patch)
treea3b4fa1a62485a8c57618881e5bacf1ce6c3503d
parenta272b5d2cdd169211024d748246ae31932cf4d1d (diff)
downloadsrc-test2-4e765b51298df5dbc9d71599e5fcbf2a4ffe06ab.tar.gz
src-test2-4e765b51298df5dbc9d71599e5fcbf2a4ffe06ab.zip
Notes
-rw-r--r--share/man/man4/bridge.4133
1 files changed, 83 insertions, 50 deletions
diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4
index 551a1b421891..fee054ff2af0 100644
--- a/share/man/man4/bridge.4
+++ b/share/man/man4/bridge.4
@@ -9,7 +9,6 @@
.Nd bridging support
.Sh SYNOPSIS
.Cd "options BRIDGE"
-.Cd kldload /modules/bridge.ko
.Sh DESCRIPTION
.Fx
supports bridging on Ethernet-type interfaces, including VLANs.
@@ -20,25 +19,39 @@ A single
.Fx
host can do bridging on independent sets of interfaces,
which are called
-.Ar clusters .
+.Dq clusters .
Each cluster connects a set of interfaces, and is
-identified by a "cluster-id" which is a number in the range 1..65535.
+identified by a
+.Dq cluster-ID
+which is a number in the range 1..65535.
A cluster in fact is very similar to what commercial switches call
-a "VLAN". Note however that there is no relation whatsoever
-between the cluster-id and the IEEE 802.1q VLAN-id which appears
+a
+.Dq VLAN .
+Note however that there is no relation whatsoever
+between the cluster-ID and the IEEE 802.1q VLAN-ID which appears
in the header of packets transmitted on the wire.
In fact, in most cases there is no relation between the
-so-called "VLAN identifier" used in most commercial switches, and
-the IEEE 802.1q VLAN-id.
-.Pp
-By putting both physical and logical (vlanX) interfaces
-in the same cluster, a FreeBSD box can also implement what in
-commercial terms is called a "trunk" interface. This means packets
+so-called
+.Dq "VLAN identifier"
+used in most commercial switches, and
+the IEEE 802.1q VLAN-ID.
+.Pp
+By putting both physical and logical
+.Pq Xr vlan 4
+interfaces in the same cluster, a
+.Fx
+box can also implement what in commercial terms is called a
+.Dq trunk
+interface.
+This means packets
coming from one of the interfaces in the cluster,
will appear
-on the wire on the "parent" interfaces of any vlan
+on the wire on the
+.Dq parent
+interfaces of any VLAN
interface belonging to the cluster, with the
-proper VLAN tag. Similarly, packets coming from a
+proper VLAN tag.
+Similarly, packets coming from a
parent interface, will have the VLAN tag stripped and
will be forwarded to other interfaces on the same cluster.
See the
@@ -50,7 +63,6 @@ Runtime operation of the
is controlled by several
.Xr sysctl 8
variables, as follows.
-.Pp
.Bl -tag -width indent
.It Va net.link.ether.bridge
set to
@@ -58,7 +70,6 @@ set to
to enable bridging, set to
.Li 0
to disable it.
-.Pp
.It Va net.link.ether.bridge_ipfw
set to
.Li 1
@@ -76,16 +87,22 @@ section and the
.Xr ipfw 8
manpage for more details on the interaction of bridging
and the firewall.
-.Pp
.It Va net.link.ether.bridge_cfg
contains a list of interfaces on which bridging is to be performed.
-Interfaces are separated by spaces, commas or tabs. Each interface
+Interfaces are separated by spaces, commas or tabs.
+Each interface
can be optionally followed by a colon and an integer indicating the
-cluster it belongs to (defaults to 1 if the cluster-id is missing), e.g.
-.Pp
-.Ar dc0:1,dc1,vlan0:3 dc2:3
-.Pp
-will put dc0 and dc1 in cluster number 1, and vlan0 and dc2 in cluster
+cluster it belongs to (defaults to 1 if the cluster-ID is missing), e.g.\&
+.Dq Li "dc0:1,dc1,vlan0:3 dc2:3"
+will put
+.Li dc0
+and
+.Li dc1
+in cluster number 1, and
+.Li vlan0
+and
+.Li dc2
+in cluster
number 3.
See the
.Sx EXAMPLES
@@ -93,27 +110,27 @@ section for more examples.
.Pp
The list of interfaces is rescanned every time the list is
modified, bridging is enabled, or new interfaces are created or
-destroyed. Interfaces that are in the list but cannot be used
+destroyed.
+Interfaces that are in the list but cannot be used
for bridging (because they are non-existing, or not Ethernet or VLAN)
are not used and a warning message is generated.
-.Pp
.El
.Pp
Bridging requires interfaces to be put in promiscuous mode,
and transmit packets with Ethernet source addresses.
-Some interfaces (e.g.
+Some interfaces (e.g.\&
.Xr wi 4 )
do not support this functionality.
Also, bridging is not compatible with interfaces which
use hardware loopback, because there is no way to tell locally
generated packets from externally generated ones.
-.Pp
.Sh EXAMPLES
A simple bridge configuration with three interfaces in the same
-cluster can be set as follows. No cluster-id is specified here, which
+cluster can be set as follows.
+No cluster-ID is specified here, which
will cause the interfaces to appear as part of cluster #1.
.Pp
-.Dl sysctl net.link.ether.bridge_cfg=dc0,dc1,fxp1
+.Dl "sysctl net.link.ether.bridge_cfg=dc0,dc1,fxp1"
.Pp
If you do not know what actual interfaces will be present on
your system, you can just put all existing interfaces in the
@@ -122,38 +139,48 @@ configuration, as follows:
.Dl sysctl net.link.ether.bridge_cfg="`ifconfig -l`"
.Pp
This will result in a space-separated list of interfaces.
-Out of the list, only Ethernet or VLAN interfaces will be
+Out of the list, only Ethernet and VLAN interfaces will be
used for bridging, whereas for others the kernel will produce
a warning message.
.Pp
More complex configurations can be used to create multiple
-clusters, e.g.
+clusters, e.g.\&
.Pp
-.Dl sysctl net.link.ether.bridge_cfg=dc0:3,dc1:3,fxp0:4,fxp1:4
+.Dl "sysctl net.link.ether.bridge_cfg=dc0:3,dc1:3,fxp0:4,fxp1:4"
.Pp
will create two completely independent clusters.
.Pp
-Finally, interesting configurations involve vlans and parent interfaces.
-As an example, the following configuration will use interface dc0
-as a "trunk" interface, and pass packets
-for 802.1q vlans 10 and 20 to physical interfaces dc1 and dc2:
-.Pp
-.Dl sysctl net.link.ether.bridge_cfg=vlan0:34,dc1:34,vlan1:56,dc2:56
-.Dl ifconfig vlan0 vlan 10 vlandev dc0
-.Dl ifconfig vlan1 vlan 20 vlandev dc0
-.Pp
-Note how there is no relation between the 802.1q vlan identifiers
-(10 and 20) and the cluster-id's (34 and 56) used in
-the bridge_cfg variable.
+Finally, interesting configurations involve VLANs and parent interfaces.
+As an example, the following configuration will use interface
+.Li dc0
+as a
+.Dq trunk
+interface, and pass packets
+for 802.1q VLANs 10 and 20 to physical interfaces
+.Li dc1
+and
+.Li dc2 :
+.Bd -literal -offset indent
+sysctl net.link.ether.bridge_cfg=vlan0:34,dc1:34,vlan1:56,dc2:56
+ifconfig vlan0 vlan 10 vlandev dc0
+ifconfig vlan1 vlan 20 vlandev dc0
+.Ed
+.Pp
+Note how there is no relation between the 802.1q VLAN identifiers
+(10 and 20) and the cluster-ID's (34 and 56) used in
+the
+.Va bridge_cfg
+variable.
.Pp
Note also that the trunk interface
-does not even appear in the bridge_cfg, as vlan tag insertion/removal
+does not even appear in the
+.Va bridge_cfg ,
+as VLAN tag insertion/removal
is performed by the
.Xr vlan 4
devices.
-When using vlan devices, care must be taken by not creating loops
+When using VLAN devices, care must be taken by not creating loops
between these devices and their parent interfaces.
-.Pp
.Sh BUGS
Care must be taken not to construct loops in the
.Nm
@@ -174,18 +201,24 @@ other packets are silently accepted.
Also remember that bridged packets are accepted after the
first pass through the firewall irrespective of the setting
of the sysctl variable
-.Nm net.inet.ip.fw.one_pass ,
+.Va net.inet.ip.fw.one_pass ,
and that some
-.Nm ipfw
+.Xr ipfw 8
actions such as
-.Nm divert
+.Cm divert
do not apply to bridged packets.
It might be useful to have a rule of the form
.Pp
-.Dl skipto 20000 ip from any to any bridged
+.Dl "skipto 20000 ip from any to any bridged"
.Pp
near the beginning of your ruleset to implement specific rulesets
for bridged packets.
+.Sh FILES
+.Bl -tag -width ".Pa /boot/kernel/bridge.ko" -compact
+.It Pa /boot/kernel/bridge.ko
+.Nm
+loadable module.
+.El
.Sh SEE ALSO
.Xr ip 4 ,
.Xr ng_bridge 4 ,