Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Dec 2002 21:27:05 -0500 
From:      Don Bowman <don@sandvine.com>
To:        "'freebsd-stable@freebsd.org'" <freebsd-stable@freebsd.org>
Subject:   bridging problem?
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C8533701023123@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help
I have a setup with 3 PCs, all running 4.7. Two
of them are connected through the 3rd with gigabit ethernet.
The first two have bge interfaces, the 3rd has 1 bge and 1 em.

 [CLIENT]------[BRIDGE]-----[SERVER]
        bge   bge    em    bge

All seems good, ping both ways, no prob. Now I take 'iperf' and
run 956Mbps (max) of UDP traffic through. Sometimes when I do this
I find that the data stops flowing, and can only be restarted by
setting net.link.ether.bridge=0 and then =1 again.

$ netstat -m
1089/1888/131072 mbufs in use (current/peak/max):
        1089 mbufs allocated to data
1088/1876/32768 mbuf clusters in use (current/peak/max)
4224 Kbytes allocated to network (4% of mb_map in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines

$ netstat -s
 ...
-- Bridging statistics (bdg) --
Name          In      Out  Forward     Drop    Bcast    Mcast    Local
Unknown
em0:1   30090745      191   884626        0        2       50        0
29206067
bge0:1       177 30090759       92        0        6       68        0
11

it would appear that what goes in goes out (in em0 out bge0 in the above
case).

I'm not sure exactly what's going on. The bridge machine has about 90% of
CPU free according to top, and doesn't seem to be running out of buffers.
When the error case occurs, if I run 'tcpdump' on one side of the bridge
I see the traffic that comes in, but on the other side i don't see it
forwarding it.

down an ifdown/ifup on both interfaces has no affect, but setting
'bridge=0' and then 'bridge=1' fixes it up all the time.

ipfw is not enabled for the bridge:
net.link.ether.bridge_cfg: em0 bge0
net.link.ether.bridge: 1
net.link.ether.bridge_ipfw: 0
net.link.ether.bridge_ipf: 0
net.link.ether.bridge_ipfw_drop: 0
net.link.ether.bridge_ipfw_collisions: 0

If I run the traffic through both ways (e.g. 956Mbps from left to right,
and 956Mbps from right to left), then it doesn't seem to make any difference
to how often the error occurs (but I use up more cpu, leaving about 78%
free).

How does one debug the bridge?

--don (don@sandvine.com www.sandvine.com)

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE045D4D9F7AED4CBFF1B3B813C8533701023123>