What's New in the FreeBSD Network Stack
jjgm writes "As FreeBSD 5-STABLE approaches, Andre Oppermann has produced a high-level presentation on the changes to the FreeBSD 5.3 network stack. There are many clever tricks for performance and scalability. Amongst other things, Andre claims that FreeBSD can now route 1Mpps on a 2.8GHz Xeon whilst Linux can't do much more than 100kpps."
what the "dead" can do nowdays!
NDIS Binary Compatibility
/* Compile and install new kernel with "options NDIS" */
FreeBSD i386 can use binary Ethernet and WLAN network drivers written to the
Windows XP NDIS 5.1 specification. It is a little cumbersome to convert a NDIS driver
into a FreeBSD Kernel Loadable Module (KLD): (By: wpaul)
# ndiscvt -O -i neti557x.inf -s neti557x.sys -n intel0
#
# kldload intel0
Man ndis(4), ndisapi(9), ndiscvt(
All this talk of Mpps and Kpps is making my need to pee more urgent.
Can someone explain what the 'pps' means? the M and K dont need defining...
I'm presuming that Mpps = Million Packets-per-Second
and Kpps = Thousand Packets-per-second.
Not exactly a standard notation that I've ever heard of, but I'll go with it.
Great, now, let's see if you can actually GET a Million Packets in a Second just to the hardware, let alone to the software. Hmm.
Now, correct me if I'm wrong, but to be able to RECEIVE that much data, in the smallest POSSIBLE TCP/IP packets, you would need 500Mbit network link. Sure, I realise that faster than 100Mbit exists, but it sure isn't common.
And I would highly doubt it's ability to re-route 500Mbits of data per SECOND.
Words speak louder than TRUTH. George Bush.
"Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/
Nice throughput- so how long before MS implements it in Longhorn or XP ? :D
One more crippling bombshell hit the already beleaguered *BSD community when IDC confirmed that *BSD market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinforce what we've known all along. *BSD is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be an Amazing Kreskin to predict *BSD's future. The hand writing is on the wall: *BSD faces a bleak future. In fact there won't be any future at all for *BSD because *BSD is dying. Things are looking very bad for *BSD. As many of us are already aware, *BSD continues to lose market share. Red ink flows like a river of blood.
FreeBSD is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time FreeBSD developers Jordan Hubbard and Mike Smith only serve to underscore the point more clearly. There can no longer be any doubt: FreeBSD is dying.
Let's keep to the facts and look at the numbers.
OpenBSD leader Theo states that there are 7000 users of OpenBSD. How many users of NetBSD are there? Let's see. The number of OpenBSD versus NetBSD posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 NetBSD users. BSD/OS posts on Usenet are about half of the volume of NetBSD posts. Therefore there are about 700 users of BSD/OS. A recent article put FreeBSD at about 80 percent of the *BSD market. Therefore there are (7000+1400+700)*4 = 36400 FreeBSD users. This is consistent with the number of FreeBSD Usenet posts.
Due to the troubles of Walnut Creek, abysmal sales and so on, FreeBSD went out of business and was taken over by BSDI who sell another troubled OS. Now BSDI is also dead, its corpse turned over to yet another charnel house.
All major surveys show that *BSD has steadily declined in market share. *BSD is very sick and its long term survival prospects are very dim. If *BSD is to survive at all it will be among OS dilettante dabblers. *BSD continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, *BSD is dead.
Fact: FreeBSD is dying
How much did they nick from DragonFly? I recall that Jeffrey Hsu revamped the DFBSD TCP stack to great extent. If they did, I'd like to see some attribution.
claims that FreeBSD can now route 1Mpps on a 2.8GHz Xeon whilst Linux can't do much more than 100kpps
Because FreeBSD has a grown-up license [i.e. a license written by grown-ups, as opposed to a license written by Peter Pan Syndrome utopian-fantasist fifty-year-old teenagers], the Linux crowd is free to "borrow" code from the BSDs [which has been pretty common in the past, e.g. I think that's how the Adaptec SCSI drivers made their way to the Linux kernel].
Anyway, I was wondering about the rules on this playground: How would you pull a stunt like that without losing face?
This is just another proof on the superiority of the freebsd tcp-stack. I can't wait for a full benchmark between 5.3 (or 5.4, too much changes on 5.3 might not work just wounderfully right now) and the linux kernel.
The more interesting thing for me is: Will these enhancements make it to Mac OS X?
As far as I am concerned, the closer Mac OS X under the hood, makes itself closer to FreeBSD the better.
The statistics sample from 2001 over a year was a cheap attempt to minimize Matt's contribution to the project. The reason why he has been mostly silent is probably one of the most prominent signs of his superior maturity. The fact that the official defense (mostly fronted by Greg, atm) he wasn't such a substantial committer is crap, for the most part. If one wanted to go by the stats, Jeff Robertson (sorry if I munged the spelling) would be one of the key committers, and his UMA system isn't even entirely ripe yet, it's just been committed within the sample timeframe. That suddenly phk is at the top of the list, is simple a result of his newest attempt to add another large chunk of bit rot to the project that he can later claim not to have time to maintain "unless someone is willing to pay for my time" (like the atm bits, the half-finished devd monster, et.al.) One can hardly get him to look at his malloc bits, that put his name in lights at some point in the long past.
Matt didn't contribute because he was convinced that that the smp development direction that was chosen (my impression at least from the archives and my fading memory) was overly complex, too complex for the number and talent level of the contributers involved, and that it would delay a release from the -current branch significantly. So he was right. I'll almost bet that that was a constant sore for John, who still hasn't gotten his long-promised, but little delivered re-entrant work done, but he always had time enough to object to any other commits that might help along the way. Strangely Julian and Matt could work together. One might attribute certain commits to both Matt and Julian (if that would matter anyway, since -core is interested in proving the opposite statistically).
If the issue here had anything to do with IPFW, then you all better get out your C-coder hats and take a little more time to fix that rotting pile of muck that has been the standard broken packet filter interface for FreeBSD long past its possible usefulness. A packet filter with no central maintainer which is subject to once yearly random feature bloat through some wild university project from Luigi. The brokenness that Luigi introduced (and the repository bloat through backing out and recommitting, ad absurdum) was probably no less a threat to security than anything Matt did. If the security officer was to be blatantly honest with himself, ipfw would be marked broken for either a full audit or full removal (just port obsd's pf or something that someone actually actively _cares_ about).
You've alienated Jordan, Mike, Bill Paul (for all I can see), Greenman, you constantly rag on Terry, even though he's seen and done more with FreeBSD than most of you, O'Brien is on the verge of quitting (since he, like I, am not convinced that GEOM is anything more than an ego trip that will never be completely maintained or usefully documented). There are certainly others, too, that have attempted to make technically correct contributions, but didn't fit into the sort of paranoid "glee club" that core would like to have around them. You guys lack the talent to steer the positive from Matt into the project and let the crap fall by the wayside. I'm not saying Matt's rants are the most intelligent thing he's done, but he's sat by the wayside and watch the superstars beat up the code to a point where it's less stable, slower, and more bloated than it ever was. I, for one, can understand his frustration (as I can with Mike's, Jordan's, and a few others), altho
Reading through the presentation I realised I'll be reinstalling my FreeBSD firewall again after 5 becomes officially STABLE, heh.
Yes, I always do a fresh install and not an upgrade.
home
I read some comments on "it is likely you'll be able to through Mpps at it?"
YES, it's happened to us, here on our university boxen, somebody got r00ted, and _crackers_ got in through some backdoors on a LOT of machines, then started DoS'ing my department, we have a small P-II 5.2.1 box tossing packets like nobody's business.
When the college network runs mostly Gigabit, Mpps is a plausible measure of connectivity.
Error 407 - No creative sig found
*BSD dies in clash with police - source
03 Sep 2004 11:26:18 GMT
Source: Reuters
RIYADH, Sept 3 (Reuters) - Saudi security forces killed the *BSD operating system in a gunbattle on Friday, as the kingdom continued its crackdown on dead OSs, a security source said.
The clash took place outside the central town of Buraida, the scene of a shootout with *BSD in which a policeman was killed on Thursday, the source told Reuters.
*BSD has waged a 15-month campaign of bombings and shootings aimed at Linux, Windows, and the technology industry. Around 90 programmers and civilians, many of them foreigners, have been killed.
Earlier in the week, officials announced that a *BSD militant -- involved in an attack which had set up 20 unstable servers in production capacities -- had surrendered.
The militant was wanted for setting up a poor-performing webserver with a single CPU in the city of Khobar.
You've got it. Unlike what is perceived from Linux (all software must be free), BSD is about making all software better. That's the benefit of the BSD license that many people (usually GPL fans) don't understand.
The best way to predict the future is to invent it
The networking functionality of Mac OS X is in fact derived from BSD, FreeBSD in particular. There is actually a fair bit of FreeBSD kernel stuff in the Mac OS X kernel, and you can see this in the Darwin source code:
http://gobsd.com/code/darwin/
http://gobsd.com/code/darwin/xnu/bsd/
http://gobsd.com/code/darwin/xnu/bsd/net/
b) Even if they did take *actual code* from DragonflyBSD, the BSD license doesn't require attribution any longer.
Wow. You are so very deluded. You most certinly do require this. The advertising clause was in fact removed, but you still have to give credit to the authors, and muct agree not to sue them if the code breaks or does not work as advertised before you can use it.
Don't be a troll.
I suggest that you lear to read, because you got it quite backwards.
Sadly it seems that people here are very ignorant about the connection between FreeBSD, and Mac OS X, especially where the Mac OS X kernel is concerned. There are a few people here that are claiming that there is not FreeBSD code in the Darwin kernel, only in the Mac OS X command line apps, and this is blatantly untrue.
In order to better see just how much FreeBSD code there is in the Darwin/Mac OS X kernel, and how relevant this work in FreeBSD will be to Mac OS X, please read the following links:
http://www.kernelthread.com/mac/osx/
http://gobsd.com/code/darwin/xnu/
http://www.apple.com/ca/macosx/features/darwin/
http://developer.apple.com/darwin/
Seriously, with so much documentation available, it's unacceptable for supposedly technical people involved with BSD to not know just how important BSD code is to the kernel of a very nice, and hardly secret or obscure operating system like Mac OS X.
While I am mostly in agreement with you about Linux being crap compared to OpenBSD security wise, your statement regarding nothing beating OpenBSD as a firewall is pure bunk.
i d=466&lang=en
The Sidewinder G2 firewall implemented on top of "Secure OS" (a BSDi derived OS developed by the people who co developed the technology used by the NSA's "Security Enhanced Linux" has not yet been compromised, and has recently achieved full EAL4+Common Criteria (CC) certification. It is unlikely that OpenBSD will ever do that.
Had I the money, I would use nothing else myself, as Secure OS is *Hard Core* Military grade security built into a BSD OS.
http://www.securecomputing.com/news_display.cfm?n
Read. Learn. Grow.
Please refrain from personal attacks.
I realized that my wording was off as soon as I hit Submit, but I decided not to post a reply to it as most intelligent people would be able to figure out what I meant.
The BSD license _never_ required "attribution" except to the original copyright holders. There is no requirement beyond that, and never has been. For some reason I thought there had been, and I forgot to change the paragraph text after reading the license and realizing my mistake. I'm sure you've made editing mistakes as well.
As far as being a troll, I most certainly am not. A troll spouts off at the mouth trying to get emotional responses. A troll does not lay out organized lists of specific opinions and a troll does not then back up those opinions with sources. Please see http://en.wikipedia.org/wiki/Internet_troll, specifically "Many posts may inadvertently cause strife as collateral damage, but they are not trolls."
Certain Slashdot moderators would do well to read this as well.
There is no requirement beyond that, and never has been.
Tsk, Tsk, Tsk. There you go again, "inadvertantly" spreading misinformation!
Basically and fundamental to all variants of the BSD license are *both* the attribution (not claiming that you wrote what you did not, as well as giving credit where credit is due) as well as the disclaimer of liability, which is standard to pretty much all software licenses.
With your latest post, you've managed to bungle things again. Care to try for a third time?
I said it is not required *except* to the original copyright holders. If I make change X to program Y, and submit that change back to the owners of program Y, they are not required by the license under which they put program Y to give attribution in the source or documentation of program Y to me for change X. They are not required to do so. Period. You see, the thing with the BSD license is that it isn't "viral" like the GPL. It applies to the original and not to derivative works. If I want attribution like that I have to separately license my changes back to the original authors, which, depending on the size of my modifications, could be either wise or very petty. Kind of like you're being. Petty, I mean.
Chinese sources in Beijing well informed about North Korea said Monday that *BSD, a unix-like operating sytem, died of a heart attack in the early morning of August 13.
The sources said they confirmed through a number of paths that *BSD had passed away. Out of fears of a possible power struggle over succession and in accordance with the North Korean practice of keeping *BSD's private life top secret, *BSD's funeral was carried out without official announcement of its death.
The direct cause of *BSD's death was a heart attack, but it was known that it had been receiving treatment for breast cancer for several years, and last year, its condition grew terminal following a relapse of power struggles and in-fighting.
In addition, its health worsened after it suffered severe head injuries in a car accident last September, and a French medical team secretly visited it last year. This year, it received tumor and brain treatment in a hospital in Paris.
Comment removed based on user account deletion
Beginning with the Jaguar release, Mac OS X has been based on the Linux microkernel. *BSD was dumped because of stability problems it caused, and because its code was so krufty it made maintenance a nightmare.
Also, Mike Smith's employment at Apple was terminated in early August after a hallway fistfight over coding styles. He is now working as a contractor writing Python for a Salinas, CA sanitation company.
The industry standard used to be Scott Bradner at Harvard. Every year at Comdex, he would give an after hours presentation on the latest performance tests. He had some great scripts that measured rates for different size packets, and drew graphs. I watched him once, enjoyed his description of one vendor's box " a network diode - packets came in, never went out" as he ranted about them testing stuff before they brought it to his benchmark lab.
It was interesting to see the various sales guys either happy or miserable when they looked at his handout on performance benchmarks of stuff brought to his lab, depending on who was at the top or bottom.
But it costs money to run the tests, and most of the BSDs don't have an incentive to test, since it won't really do more than bragging rights. Would cisco like to find out that FBSD runs faster?
Multiple sources in Beijing well informed about North Korea said Monday that *BSD, a unix-like operating sytem, died of a heart attack in the early morning of August 13.
The sources said they confirmed through a number of paths that *BSD had passed away. Out of fears of a possible power struggle over succession and in accordance with the North Korean practice of keeping *BSD's private life top secret, *BSD's funeral was carried out without official announcement of its death.
The direct cause of *BSD's death was a heart attack, but it was known that it had been receiving treatment for breast cancer for several years, and last year, its condition grew terminal following a relapse of power struggles and in-fighting.
In addition, its health worsened after it suffered severe head injuries in a car accident last September, and a French medical team secretly visited it last year. This year, it received tumor and brain treatment in a hospital in Paris.
Ahh, another "GPL is like a virus" troll.
I think the moderators had you figured out from the beginning, asshole.
It might not be required but it is at the very least part of proper social interaction. You don't just "steal" bits from somewhere else and include it in your own *BSD project.
Now concerning the case of the DragonFly network stack, Hsu's chooses to use a time-limited advertisement clause for his code. That's his very own right to do. IIRC the reason was exactly the goingons with certain FreeBSD commiters not willing to correctly attribute his and others changes.
OK - lets cut the crap. Max 100kpps on Linux? Gosh. Thats utter bullshit. On rather 2-3 years old hardware we've pushed 300kpps through Linux. Not 1Mpps, sure, but this is old, "standard" desktopish hardware. Ie no PCI-X or anything. Plain old Athlon XP's.
A dual Opteron, or Xeon, would probably come in close on the 1Mpps figure, if not better. It's just not that impressive anymore.
Congratulations to all the hard-working anti-*BSD trolls who have again successfully filled this non-story with mighty trolling attacks.
A full 25% of the posts in this non-story are trolls and idiot YHBTs responding to us! Nice going, and let's go for 30% on the next non-story.
Eventually, Taco will realise that future *BSD postings are futile and that if *BSD isn't dead, it's close enough that it isn't worth Slashdot's time.
Kind of like you're being. Petty, I mean.
Not true you ignorant ass clown. I am being correct. There is a difference.
I don't think you've the brains to be able to make any use out of source code if you can't believe the results of countless documented, failed attempts to breach the sidewinder firewall.
GNU Zealot. Learn to think.
"I don't think..."
On that we're agreed.
And the proof that you have that there's no backdoor or buffer overflow in the code is, ahm, lacking.
Leave the technical issues to those who understand technology please.
Bwahahaha. Begone Astroturfer. "Hardcore military grade" security my ass.
Pretty much?
That being said, wow, that's a truly awful design.
--Dan
Seen in Slide 21 in the PDF file....
TCP connections in TIME_WAIT2 state (connection closed) waiting for the 2MSL timeout maintain only a minimal set of necessary information instead of a full blown TCP control block. This saves about 80% memory per connection in that state. Especially for HTTP servers this give a far better kernel memory resource usage and a higher number of concurrent connections that can be served within a short time frame ("Slashdot effect").
Brian: Friends, we must unite to fight the common enemy!
Everyone: The People's Front of Judea!? Where!
For god's sake, they're both Unix-like operating systems. There's not a huge difference between them for most purposes, I don't think anyone who's not a complete fanbot would say either is objectively better than the other for all purposes.
Focus of OpenBSD:
Should we focus on a feature that increases performance or focus on a feature that makes it more secure? OpenBSD chooses to focus limited developer time on the security feature.
We all benefit from that. If you use OpenSSH, thank the OpenBSD people.
Linux, BSD, etc are all boats in the same pond. Add water, and all boats rise.
What'd really be funny is if MS replaced their own NDIS guts with the BSD implementation, since (*big assumption*) MS created NDIS for themselves.
no 2600 can do 25k-50k pps in the real world. maybe the 2600 XM might be able to approach 25k pps, but that would be seriously taxing it. when you hit anywhere near any of these numbers, the router is being absolutely HAMMERED !!!
No Open Source license allows relicensing. What you can do, however, is to redistribute BSD licensed code under the GPL. You can also license your own derivative works under the GPL.
Not everybody always uses the most precise language in informal contexts such as Slashdot. In colloquial discussion of free software, to "relicense" a work means to distribute a derivative work under a different license, often from permissive to GPL or the like.