Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
BSD Operating Systems Hardware

986MB/s With BSD And Gigabit Ethernet 34

WasterDave wrote in with this link to information about zero copy sockets on FreeBSD. Some hunting turned up more detailed information about NetBSD and Gigabit networking. Pointers to similar information for OpenBSD are appreciated...
This discussion has been archived. No new comments can be posted.

986MB/s with BSD and Gigabit ethernet

Comments Filter:
  • "It's very possible to meet all the criteria of the BSD license, and release a new package under the GPL."

    Copyright law does not allow you to change the copyright of anything that is not yours. Period. Unless the license in question allows you to do this then you simply cannot. It has nothing to do with the license, but everything to do with the law.
  • Ok, misinformation then :)
  • COngrats to Ken Merry, Justin Gibbs, et al for this task. Just one more example of the quiet superiority of FreeBSD.


    "I shoulda never sent a penguin out to do a daemon's work."

  • Moderators: This is not a flame!
    Excellent job done by FreeBSD developers.
    I'm curious: how difficult would it be to port this feature to Linux? Kernel hacking is not my speciality, but I'd like to hear from someone who's intimate with Linux TCP/IP stack to briefly explain if that would require a major rewrite or could indeed be simply integrated into the existing code.
    After all, you cannot deny it's a rather important feature that speeds up the stack greatly and would improve the performance of the OS, especially when used for routing (any LRP developers in the house?)

    -----
  • And of course Drew Gallatin.
    ----------------------------
  • by scott4000 ( 42414 ) on Saturday August 05, 2000 @11:43AM (#877975) Homepage
    The units in this case would be in megabits per second, not megabytes per second. 986MB/s would be 7888Mbps, or 7.888Gbps.

    -------
    FreeBSD: The power to serve.
  • Stupidity should be painful

    It is! The problem is that ignorance numbs :-)
  • I highly doubt that 'porting' would be an option. I imagine that Zero Copy requires some rather intimate changes in the TCP stack. Since the Linux and BSD stacks are completely different animals, a major rewrite is the only sensible thing. Besides, the GPL nature of the Linux kernel precludes incorporating BSD code into the 'official' code base.


    "I shoulda never sent a penguin out to do a daemon's work."
  • nik, why did you use to preface the "from the --- dept." tag line with "NP"?
  • The BSD License allows you to relicense however you want as long as you indicate that it was based on BSD source. You can relicense under GPL and just put a header in the source code and a readme that indicates 'this uses code from FreeBSD project' without having to specify exactly what code is from the BSD project.

    Anyone who works with your codebase has to abide by the GPL, even if they change previously BSD'd source code. If they don't want to they can go back to the original BSD source, since you told them where it is.

    GPL's for commies anyway :)
  • by Ingo Molnar ( 206899 ) on Saturday August 05, 2000 @11:06PM (#877981) Homepage
    As part of TUX i've implemented zero-copy TCP xmit. It turned out to be a minimal change (barring driver changes), less hassle than we initially thought. Obviously we couldnt have gotten those SPECweb99 numbers without zero-copy TCP xmit.

    One important question is, what MTU have they used. If it's the 9000 byte MTU jumbo gigabit frames then these BSD numbers havent got too practical relevance (i can saturate 8 gigabit cards with TUX, ie. 900MB/sec with 9000 byte MTU). If it's the standard 1500 byte MTU then it's nicer. (hm, i just found it, they indeed used 9000 byte MTU...)

  • by nikc ( 11398 )
    nik, why did you use to preface the "from the --- dept." tag line with "NP"?

    NP == Now Playing. It was whatever xmms happened to be playing at the time. I'm doing more Slashdot stuff away from my home 'net recently, so it's not been appropriate.

    N

  • I knew that. I was just pointing that you were WRONG.
  • Searching Google for "Linux turbo sockets" or even "turbo sockets" turned up nothing (useful). What are turbo sockets?
  • by Anonymous Coward
    Linux has lots of things in it. Not all them (a) work, (b) work well, (c) handle boundary cases acceptably. How is it with zero copy TCP/IP?
  • hmm?
    but a BSD license allows you to do anything with the code. if binary distributions are allowed, distributions under the GPL are certainly allowed.
    what you can not do, is distribute GPL code under a BSD license, but it certainly workd the other way around. there is no need to keep the BDS code in a seperate file.

    greetings, eMBee.
    --

  • Besides, the GPL nature of the Linux kernel precludes incorporating BSD code into the 'official' code base.

    It depends upon the nature of the code. If this porting would require slipping in single lines of code here and there, it would be very problematic. However, if the BSD code can be isolated into a single source file, then simply license that file under the BSD and the package as a whole under the GPL. Similar things are done under several GPL projects.
  • Ahh, thank you for the clarification. I appreciate it.
  • Wow.... NT can do 10Gbps over a 1Gbps connection? Amazing. Those Microsoft employees really can defy the laws of physics! (Or, was it consumer protection laws? :)
  • If you have ever read The BSD License [opensource.org] then you would know you most certainly cannot remove the BSD license and release the code under the GPL with a "readme" that credits the original BSD licese.

    This would be a copyright violation.

    Looking at the first clause is all that is necessary:

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

    I suppose if you distribute the code via Napster the copyright doesn't matter. :-)

  • > hm, i just found it, they indeed used 9000 byte MTU
    Sorry, I didn't read it that way at all. Please get your FUD and misinformation straight.
  • there is no need to keep the BDS code in a seperate file.

    The BSD license does not allow you to change the license. You certainly can keep the BSD code mingled in with the GPL code, but it is going to be very problematic, which is what I said.
  • I've read the license. The big thing is that BSD is not parasitic like GPL. As long as you reproduce the BSD License in the source file and a readme file you can do whatever you want with it.

    It's very possible to meet all the criteria of the BSD license, and release a new package under the GPL. You say :

    this is based on a package developed by XXX. Code developed by XXX is licensed under the following conditions [Insert BSD Here] All modifications are Copyright logistix Licensed under GPL blah blah blah.

    Where it gets tricky is that even though the modifications are under the GPL, you don't need to say where they are ( i.e. I added line 11848 and fixed a typo in line 43929 ) anyone who gets this isn't going to be able to strip out your changes and revert to the BSD License, so in effect they'll be forced to use the GPL License for their modifications (since it's parasitic), unless they revert to the original BSD source package.

    Don't get me wrong, That'd be lame, but it could (and probably has) been done.

    I think the whole point of the BSD license (minus legalese) is just saying "Look, this is based on software that you can get the source code for. If you don't think it's been changed too much, these are the people who made the original. Do whatever the hell you want with it."
  • As part of TUX i've implemented zero-copy TCP xmit. It turned out to be a minimal change (barring driver changes), less hassle than we initially thought.

    Will your zero-copy TPC xmit be in Linux 2.4? If not, will it be part of the "patched" Red Hat Linux?


  • Actually, you cannot release BSD code under a GPL. BSD's clause 3 conflicts with the GPL's "no additional restrictions."
  • you can simply add to the copyright statement. this way you can relicense it.

    This would be a major copyright violation. Without the permission to do so, you may not relicense anything. BSD is not public domain.
  • "why dyou think BSD lost to AT&T ?"

    A) The BSD license does not allow the license to be changed.

    B) The BSD/AT&T case was settled out of court. No one won. No one lost. AT&T forgave Berkeley's infringment, and Berkeley forgave AT&T's infringement.
  • They're fulfilling the terms of the license. You see the license there, right? So it's following the terms :) Any violation would be if the 3rd clause was intact and BSD wasn't listed in advertising; I bet that probably happened, anyway.

    "The same happened with SunOS 4.x from Sun."
    Huh? SunOS was firmly BSD-based.

    --

  • The "turbo packet support" feature has just appeared in test versions of pre-2.4 Linux in the past week or two. That's hardly "always had it," as our troll claims (as if a system that isn't even released yet could "have" anything). So it's no further along than the FreeBSD equivalent, and despite the claims of our troll, is just as likely to be a copy of the BSD feature as vice-versa (in other words, unlikely). But of course, the reality is that some other OSes have had zero-copy for quite a long time. So who is copying whom?

    (You'll have to search the "linux-net" list, not the "linux-kernel" list, for a discussion of "turbo packet support" and not "turbo sockets." Not only is our troll such a Linux ignoramous that he doesn't know where to look, he doesn't even know what to call it.)

    It's always a sign of an immature wanna-be when such bare claims of BSD or Linux superiority are made; it's pretty obvious why our troll has decided to remain anonymous. The fact is that Linux and BSD each help make the other better, with friendly competition among the actual developers and a free flow of information between them. With rare exceptions, the attitude between workers in the two camps is one of mutual respect and even occasionally admiration. (Far more dissing goes on within the groups themselves than between them -- it's the camp followers who make all the us-vs-them noises.)

    The Linux vs. BSD lamers simply don't understand what free software development is all about; unlike commercial software, win/win situations are the rule, and not the exception.

    -Ed
  • This issue has been beaten to death already, but here it goes: FreeBSD in distributed under two-clause 'new' BSD license
  • by Anonymous Coward
    Serveral files of the /usr/include/*.h and /usr/include/sys/*.h of the Xenix and Solaris have got the BSD copyright, and Xenix and Solaris aren't disdributed under the BSD license. Macx is done with the sources of NetBSD and FreeBSD and Mac isn't distributed under BSD license. The same happened with SunOS 4.x from Sun.
  • Damn you Ingo! With all your page cache, IO-APIC, interrupt binding, and now TUX changes, coupled with Alexey and Dave's softnet and Al Viro's VFS changes, my crappy SMP machine will simply cook itself. Can you slow 2.4 down before lm_sensors goes off the scale and my chipset melts? :-)
  • Some of FreeBSD is distributed under the two-clause license. Not all of it is.

Don't tell me how hard you work. Tell me how much you get done. -- James J. Ling

Working...