NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Connection Link Aggregation

At Wed, 25 Apr 2012 19:41:56 -0400, Al Zick 
<> wrote:
Subject: Re: Connection Link Aggregation
> I have looked at this and pppd is no longer in the pkgsrc. It gets
> installed when you install the OS. Although, after looking at the man
> pages for pppd it says that multilink ppp only works on linux. Is
> there a way around this?

I'm afraid you'll find that the only decent way to do proper multi-link
aggregation, even with PPP these days, is with MPD, and that's going to
require either Linux, or FreeBSD, or Netgraph from FreeBSD being
re-ported to NetBSD.

(or maybe porting of the Fast STREAMS [1] implementation done for Linux
as I'm pretty sure there's an MPPP STREAMS [2] module out there

I respond in part because I think this issue is larger than simple
multi-link PPP alone.  There's much more to be gained by getting a wider
framework that also happens to make MPPP easier to do.

A couple of years ago I poked at the idea of re-porting modern Netgraph
to NetBSD, but I gave up (and in the end I didn't have funding to do it).

Having since encountered Fast STREAMS I think that would be the best way
to go overall as it would also offer the ability to use commercial
STREAMS modules and drivers (very common in the VoIP & telco worlds) on
NetBSD as well.  I've even considered approaching the OpenSS7 folks to
ask if they would consider dual licensing their code, since that would
obviously be a better way to make it more palatable for NetBSD, though
without commitment from NetBSD core first to make sure it would be an
acceptable addition to NetBSD there's not too much sense in asking for a
BSD license.

Netgraph is similar in concept to STREAMS, but doesn't have the
compatible APIs that would make it possible to use existing STREAMS
modules and drivers.  Netgraph only gives you compatibility with FreeBSD
Netgraph modules, not the much wider world of STREAMS.  The OpenSS7
folks seem to be very good at making their implementation compatible
with the standard STREAMS APIs, even to the extent of offering missing
DDI/DKI interfaces for drivers.  They've also been very diligent at
showing how STREAMS can actually improve performance significantly
despite adding some complexity to the code.  The thing I don't know yet
is just how inter-tangled the Fast STREAMS code is with the Linux
kernel.  The Netgraph code is increasingly dependent on the FreeBSD
kernel, unfortunately, and porting it without strong commitment to
maintain a central portable version, ala IPF, would just lead again to
what's already happened with the first attempt to port it long ago
(either that or a quickly diverging implementation much the same as
NetBSD now has many other diverging drivers ported from FreeBSD).  If
the Fast STREAMS code is more self-contained and/or can make due with a
thin layer of compatibility functions, then it may be easier to maintain
a port independently, at least for now.

[1] <URL:>

[2] "STREAMS" is simply a "more ornate" (quoting dmr) implementation of
    "streams" from Research Unix, providing all the extra necessary
    little knobs and hooks and features needed for real-world APIs and
    commercial driver vendors

                                                Greg A. Woods
                                                Planix, Inc.

<>       +1 250 762-7675

Attachment: pgpsAyomgsb5q.pgp
Description: PGP signature

Home | Main Index | Thread Index | Old Index