On Fri, Aug 30, 2013 at 07:09:16AM -0400, Steve Clark wrote: > On 08/29/2013 04:28 PM, Neil Horman wrote: > >On Thu, Aug 29, 2013 at 01:06:23PM -0700, Les Howell wrote: > >>On Thu, 2013-08-29 at 18:04 +0100, Richard W.M. Jones wrote: > >>>On Thu, Aug 29, 2013 at 10:02:27AM -0700, John Chludzinski wrote: > >>>>I've had a debate with some co-workers about whether or not a message > >>>>that's sent to the loopback interface makes it way into the IP layer and > >>>>is fragmented before flowing back up the network stack. Does it? > >>>Can you please not keep creating new top level threads. > >>> > >>>Furthermore, this is not an appropriate mailing list to discuss any > >>>general (not even Linux) networking issues that you may have. It's > >>>more appropriate for a venue such as stackoverflow. > >>> > >>>Rich. > >>I am unsure of the standards for this. I am also curious about the > >>Fedora implementation. I would suspect that the loopback mechanism > >>would be implementation dependent, and that the method used on a > >>particular system would provide valuable information. > >> > >>A usergroup such as stackoverflow would not likely have that > >>information. Therefore this would seem to be the most accurate source > >>for such information IMO. > >> > >>A short and reasonable answer would be beneficial to the group. > >> > >The answer is simple, and as always, contained in the source. lo is defined in: > >drivers/net/loopback.c > > > >It registers an interface using the network driver api, and contains a transmit > >routine. Therefore, all frames that go to the loopback interface go through the > >entire routing stack, and get looped at the driver. > > > >honestly, doing anything less tends to get pretty messy anyway, as you start to > >have to handle all sorts of special cases. Consider the possibility that a > >packet socket is listening on lo when you transmit a tcp frame out of it. If > >you looped it back higher in the stack, you'd have to be sure to clone the skb > >and offer the packet to the packet protocol somewhere in the ip stack. Multiply > >that by every protocol listener available in the kernel and the fan out gets > >unmanageable. Its better to just go down to the driver layer and loop there. > > > >Neil > > > >>-- > >>devel mailing list > >>devel@xxxxxxxxxxxxxxxxxxxxxxx > >>https://admin.fedoraproject.org/mailman/listinfo/devel > >>Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct > Hello, > > I believe in later kernels there is the option to bypass the tcp stack on the loopback > which will be enabled by default. See this thread. > http://marc.info/?l=linux-netdev&m=134456025709318&w=3 > It didn't work properly, for exactly the reason I pointed out above and several others, so it never got integrated. See: http://marc.info/?l=linux-netdev&m=134572202724967&w=3 Note the thread is from last september, and it never got picked up. Neil > > > -- > Stephen Clark > *NetWolves* > Director of Technology > Phone: 813-579-3200 > Fax: 813-882-0209 > Email: steve.clark@xxxxxxxxxxxxx > http://www.netwolves.com -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct