Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Sep 2000 12:20:58 -0700
From:      Nick Sayer <nsayer@quack.kfu.com>
To:        vns@delta.odessa.ua
Cc:        emulation@freebsd.org, net@freebsd.org
Subject:   Re: Bridging fix
Message-ID:  <39CD029A.ACCBF4A6@quack.kfu.com>
References:  <39CCAC0A.ABCB738D@quack.kfu.com> <200009231406.KAA00417@jupiter.delta.ny.us>

next in thread | previous in thread | raw e-mail | index | archive | help
"Vladimir N. Silyaev" wrote:
> 
> Oh, great.
> Do you know, does that fixed problem with bridging code in the case
> when active more than two network interfaces?

Packets that are for hosts not in the bridging table could be affected
by the same corruption, but packets sent to only one destination would
not be. Broadcast and multicast packets certainly would be.

The best solution to problems of bridging two interfaces together you
don't want bridged when running vmware is the ng_bridge solution. With
the ng_bridge, you specifically attach vmware to a single Ethernet
interface. None of the others are fiddled in any way. It's the cleanest
solution. But it too suffers from broad/multicast UDP corruption, thus
the need for this fix.

> And probably that fix should significantly reduce perfomance for the
> case when bridging are used not for VMware needs ;-(.

I don't know if I'd use the word "significantly". Only packets that are
sent to multiple destinations (that is, hosts not yet in the bridge
table or broad/multicasts) would need to be copied. It's not as bad as
it sounds.

> 
> Vladimir
> 
> In muc.lists.freebsd.emulation, you wrote:
> >This doesn't really have anything to do with emulation, except that lots
> >of vmware users hang out here. :-)
> >
> >I have figured out that the upper protocol layers are not yet completely
> >read-only with regards to mbufs coming in from downstream. What this
> >means is that the bridge code must use m_dup rather than m_copypacket
> >(the latter only bumps up refcounts to make it LOOK like you copied the
> >packet).
> >
> >So if you are having trouble getting a vmware guest to be a DHCP client
> >or otherwise participate correctly with broad- or multi-cast services,
> >change all instances of m_copypacket in /sys/net/bridge.c and
> >/sys/netgraph/ng_bridge.c to m_dup. That should fix it.
> >
> >
> >To Unsubscribe: send mail to majordomo@FreeBSD.org
> >with "unsubscribe freebsd-emulation" in the body of the message
> >
> 
> --


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




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