FreeBSD problems and preliminary ways to solve

Adrian Chadd adrian at freebsd.org
Fri Aug 19 09:06:28 UTC 2011


Like a lot of things, I think something that's sorely missing here
from this discussion is the users needs versus the developers needs.
You've given me a great example.

2011/8/19 Lev Serebryakov <lev at freebsd.org>:
> Hello, Vadim.
> You wrote 18 августа 2011 г., 3:10:19:
>
>
>> 3. Kernel features for complex network solutions (netgraph, carp, ipfw).
>>    The niche for routers & traffic analysis is still ours. It would be
>>    nice to take e.g. pfSense and agree with some vendor (Netgear,
>>    D-Link, etc) to put on sale hardware with FreeBSD inside.
>  What about 10G routing? Here are reports about full-bandwidth 10G routing on modern
> Intel NICs with Linux (and multi-core server), but I didn't see any
> such data for FreeBSD, and somebody says, that Intel drivers and
> network stack is not so good parallel in FreeBSD.

Can freebsd do it now? Maybe not.
Do FreeBSD developers know what needs to occur? (eg someone like Kip?) Yes.

What's missing?

There's a lot of users that say "yes, I'd like X, but FreeBSD doesn't do it."
There's a lot of developers who know what to do, or could figure it
out, but it's not within their scope of work. There's only so much one
can do for fun.

Linux works here because of two things:

* there's a heavy following of -users- who are -developers-, and
* there's enough developers who want these features in Linux, so they get done.

FreeBSD suffers here because the developers are working on what
they're paid to or or what they'd like to do, and this doesn't at all
fit in with what some users (even large ones, like said large russian
ISPs) would like to see, right now.

Xen is a great example of how this failed.

Is there a lot of interest in Xen support for FreeBSD? Yes. The
companies that got it done internally made it work for their needs -
eg Yahoo! with Xen HVM support. They didn't need PVM, so it didn't get
done. Lots of people would pop up and ask about PVM support to run
FreeBSD in EC2 instances. But since there wasn't any developers
working on it, nothing happened.

The moment I started poking Xen PVM (just to see how much effort it'd
take to get -HEAD into shape), I had a whole lot of users ask me about
it, email me about how to build images, how to test images, why things
weren't working, etc. When it was obvious that it would need someone
to do VM surgery to fix things up, I stopped working on it. I wasn't
getting paid to do it, I'm a self-employed contractor who was also
finishing a degree, so "fix it up for fun" wasn't on my TODO list.

When Colin got involved, and managed to get Amazon's interest (yay!),
things moved along a bit more. I don't think -HEAD is stable in PVM
still. That again, needs developers.

Another example is 11n support. Lots of users would love 11n support.
I've had plenty of people ask me when it'll be ready. But where are
the 802.11 developers? All you see/hear are crickets. That big rush of
11n work that I've been doing lately? It's because a couple of
companies stood up and asked for the atheros and net80211 DFS support
to be improved - and they were willing to pay for it. Since there's
not enough (almost none) people hacking on it in public, the code
languished for years. Having lots of users email me privately (and a
couple of companies) is nice but it doesn't at all demonstrate to
people who can fund these things (eg the Foundation) what the users
are after.

If you'd like to see this feature in FreeBSD, and you can find a bunch
of like-minded companies, then please get together and talk to the
foundation about how to get this put on their agenda.
Chase it up, get it done. Find a developer, get him on board, get it
done. Be loud. Be supportive. But please, don't just say "but where's
X?" "X" is wherever the like-minded developer with the equipment
needed and the time/money needed is.

Finally - 10G line rate support isn't as easy as you think. Well, it
is, but it's costly. 11n hacking is (comparatively) cheap because
someone's already written mostly-working code, and the hardware is
cheap. I don't need a $20k spectrum analyser or a $80k signal
generator to get the basics done. But 10GE stuff requires 10GE NICs,
10GE switches. Those don't come cheap. So it's not going to be done by
someone who is bored and at home. It's going to be done by someone who
has access to the right kit. Luigi's netmap support shows what's
possible. The question is, can someone pick it up and run with it.
Note, he's also hit all those corner/edge cases with NICs because of
the sheer rate of transactions going on (and he's emailed questions
about it publicly.)

2c,



Adrian


More information about the freebsd-arch mailing list