LWN: Comments on "LPC: Making the net go faster" https://lwn.net/Articles/458610/ This is a special feed containing comments posted to the individual LWN article titled "LPC: Making the net go faster". en-us Thu, 11 Sep 2025 21:27:47 +0000 Thu, 11 Sep 2025 21:27:47 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net LPC: Making the net go faster (Briefly: user-space network queues) https://lwn.net/Articles/474599/ https://lwn.net/Articles/474599/ whacker <div class="FormattedComment"> <font class="QuotedText">&gt; Sadly, the corporate email at my current employer does this, which prevents all subversion access to external subversion repositories :-(. However it can be useful.</font><br> <p> This sort of thing is likely being done by a http proxy in userspace than a stateful firewall in the kernel.<br> </div> Fri, 06 Jan 2012 20:41:05 +0000 LPC: Making the net go faster https://lwn.net/Articles/472739/ https://lwn.net/Articles/472739/ realbright <div class="FormattedComment"> Regarding unetq,<br> I think, we have already got a well-made infra. For packet hooking called netfilter.<br> Which will be a winner? Kernel module netfilter or unetq?<br> <p> </div> Mon, 19 Dec 2011 03:05:01 +0000 LPC: Making the net go faster https://lwn.net/Articles/468179/ https://lwn.net/Articles/468179/ Lennie <div class="FormattedComment"> I think it might be this page ?:<br> <p> <a href="https://code.google.com/p/kernel/wiki/ProjectUnetq">https://code.google.com/p/kernel/wiki/ProjectUnetq</a><br> </div> Fri, 18 Nov 2011 21:47:08 +0000 LPC: Making the net go faster https://lwn.net/Articles/461390/ https://lwn.net/Articles/461390/ andika <div class="FormattedComment"> <a href="http://code.google.com/p/kernel/wiki/unetq">http://code.google.com/p/kernel/wiki/unetq</a><br> <p> Page "unetq" Not Found<br> <p> Select an existing page from the project's list.<br> </div> Mon, 03 Oct 2011 11:00:04 +0000 LPC: Making the net go faster (Briefly: user-space network queues) https://lwn.net/Articles/460197/ https://lwn.net/Articles/460197/ slashdot <div class="FormattedComment"> Then put the firewall in the hardware too.<br> <p> </div> Fri, 23 Sep 2011 13:26:54 +0000 LPC: Making the net go faster https://lwn.net/Articles/459274/ https://lwn.net/Articles/459274/ dbarv <div class="FormattedComment"> TCP fast open seems to reinvent T/TCP (<a href="http://en.wikipedia.org/wiki/T/TCP">http://en.wikipedia.org/wiki/T/TCP</a>). Maybe the related security problems will be avoided...<br> </div> Sat, 17 Sep 2011 17:01:05 +0000 Already available in the kernel: See IBverbs API https://lwn.net/Articles/459207/ https://lwn.net/Articles/459207/ clameter <div class="FormattedComment"> The IBverbs API implements something along the lines discussed here and it works with several Ethernet NICs as well.<br> </div> Fri, 16 Sep 2011 15:21:46 +0000 LPC: Making the net go faster (Briefly: user-space network queues) https://lwn.net/Articles/459174/ https://lwn.net/Articles/459174/ mjthayer <div class="FormattedComment"> <font class="QuotedText">&gt; There are two types of firewalling: plain address/port checks that are applied when a connection is opened, and "stateful firewalling" where the actual data stream is inspected.</font><br> <p> I agree, that sort of firewall cannot be implemented by just allowing or disallowing connections when they are first made. If you don't want an additional data copy it might work if the card is writing to a shared memory buffer which is only made available to the application once the firewall has given the green light. That would slow things down quite a bit, but I think if you want to inspect data that closely you have to live with that anyway (or use an external firewall). Having the receiver process itself doing the inspection as suggested by appie above [1] is probably not really an option here, as this sort of firewall is most likely there to stop the user doing things they may want to do but you (for some value of you) don't.<br> <p> [1] <a href="http://lwn.net/Articles/459118/">http://lwn.net/Articles/459118/</a><br> </div> Fri, 16 Sep 2011 09:09:09 +0000 LPC: Making the net go faster (Briefly: user-space network queues) https://lwn.net/Articles/459157/ https://lwn.net/Articles/459157/ skitching <div class="FormattedComment"> There are two types of firewalling: plain address/port checks that are applied when a connection is opened, and "stateful firewalling" where the actual data stream is inspected.<br> <p> Stateful firewalls can do things like allow HTTP GET/PUT operations, but block other HTTP methods. Sadly, the corporate email at my current employer does this, which prevents all subversion access to external subversion repositories :-(. However it can be useful.<br> </div> Thu, 15 Sep 2011 23:00:42 +0000 LPC: Making the net go faster (Briefly: user-space network queues) https://lwn.net/Articles/459118/ https://lwn.net/Articles/459118/ appie <p>The idea behind network channels is to push (packet) processing out of the kernel towards the application. Over simplified: a direct pipe between incoming packets at the hardware level and the application. Packet processing won't be done by the kernel (again, oversimplified), hence no firewall checks.<br/> Firewalls would have to be implemented in user space, in e.g. a library, every application connecting tot a network channel would need to link to that library and explicitly do it's own firewalling.</p> Also see: <a href="http://lwn.net/Articles/169961/">Van Jacobson's network channels</a><br/> Thu, 15 Sep 2011 17:14:44 +0000 LPC: Making the net go faster (Briefly: user-space network queues) https://lwn.net/Articles/459108/ https://lwn.net/Articles/459108/ mjthayer <div class="FormattedComment"> From the article:<br> <font class="QuotedText">&gt; There are numerous details to be dealt with, including the usual hangups for the channels idea: firewall processing and such.</font><br> <p> I am a networking ignoramus, so please excuse the following if necessary. I thought though that firewalling normally involves taking a decision about whether to allow or forbid a particular connection as a whole. Can't the packet sequence for a particular connection simply be assigned to a particular user-space buffer after (if) that connection has been allowed?<br> </div> Thu, 15 Sep 2011 16:15:47 +0000