Re: recvfrom

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ak@suse.de said:
>The zero copy code in vger has most of the infrastructure to do the same
>with normal sockets, just the final user interface is missing.
>Of course it'll never be really fast when you need to context switch to a 
>process first (see old screend) 

Are you talking about
http://www.kernel.org/pub/linux/kernel/people/davem/zerocopy-2.4.3p4-1.diff.bz2?
I'll have to check that out. Still, I thought the zero-copy code only
saved the kernel->user->kernel memcpy when going directly from one
socket to another. I don't see how that would let the userspace process
see the packets and optionally discard them, which is what I'm aiming
for.

>One feature that is currently already in kernel is the SOCK_FILTER option;
>you can push on every socket a LPF (slightly modified BPF) filter that
>filters all packets arriving on that socket (works for TCP and UDP/RAW).
>It's just per socket, not global.

Yes, I looked at that. Unfortunately, it only works for tests that can 
be expressed as bpf vm instructions...I'd like the ability for arbitrary 
userspace processes to do arbitrary filtering on packets.

>> I'm still not sure why it locks up on SMP at gigabit ethernet speeds,
>> though.
>What locks up? 

I'm not sure. I need to learn more about what's going on before bringing
it to the list, but the machine is locking hard, no sysrq, and the
nmi-watchdog isn't triggering. I could very well be doing something
blatantly wrong, though.

-- 
Jason Lunz		Trellis Network Security
j@trellisinc.com	http://www.trellisinc.com/
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux