On Fri, Oct 30, 2015 at 10:24:15AM +0000, Stuart Henderson wrote:
> On 2015/10/30 11:34, Reyk Floeter wrote:
> > Hi,
> > 
> > as documented below, pairs in bridges can lead to a loop.
> > 
> > I looked at "fixing" it but came to the conclusion a) there is no
> > satisfying way with mbuf flags/tags to prevent the loop, b) it would
> > limit the use cases of pair(4) for network testing in many ways, c)
> > the bridge loop causes heavy load but does not lock the system (our
> > stack is already preventing this), and d) it can be documented -
> > so it is a feature, and not a bug ;)
> > 
> > Thoughts? OK?
> 
> pair(4) should behave as much like a wire as possible

Indeed,

> so I think this is the correct approach. OK.
> 

Thanks!

> > Reyk
> > 
> > Index: share/man/man4/pair.4
> > ===================================================================
> > RCS file: /cvs/src/share/man/man4/pair.4,v
> > retrieving revision 1.3
> > diff -u -p -u -p -r1.3 pair.4
> > --- share/man/man4/pair.4   24 Oct 2015 15:46:10 -0000      1.3
> > +++ share/man/man4/pair.4   30 Oct 2015 10:09:34 -0000
> > @@ -47,6 +47,25 @@ Set up a pair of interfaces where each o
> >  # ifconfig pair1 patch pair2
> >  # route -T 1 exec ping 10.1.1.2
> >  .Ed
> > +.Pp
> > +When adding multiple
> > +.Nm
> > +to multiple
> > +.Xr bridge 4
> > +interfaces, it is possible to create a loop;
> > +the system load will go up while it is busy sending packets from one
> > +bridge to another and back.
> > +By design, the driver does not prevent such loops by itself, but it is
> > +possible to use the Spanning Tree Protocol (STP) to detect and remove
> > +loops in the virtual network topology:
> > +.Bd -literal -offset indent
> > +# ifconfig pair0 up
> > +# ifconfig pair1 rdomain 1 patch pair0 up
> > +# ifconfig pair2 up
> > +# ifconfig pair3 rdomain 1 patch pair2 up
> > +# ifconfig bridge0 add pair0 add pair2 stp pair0 stp pair2 up
> > +# ifconfig bridge1 add pair1 add pair3 stp pair1 stp pair3 up
> > +.Ed
> >  .Sh SEE ALSO
> >  .Xr bridge 4 ,
> >  .Xr inet 4 ,
> > 

-- 

Reply via email to