allocating 14KB memory per packet compression/decompression
resultsin vm_fault
David S. Madole
david at madole.net
Wed Nov 2 19:41:03 PST 2005
From: "kamal kc" <kamal_ckk at yahoo.com>
>
> i am trying to compress/decompress ip packets.
> for this i have implemented the adaptive lzw compression.
> i put the code in the ip_output.c and do my compression/decompression
> just before the if_output() function call so that i won't interfere
> with
> the ip processing of the kernel.
I don't have an answer for you, but I'm curious what you are doing that
makes it better than the IPComp compression that is already available in
IPSEC?
If it's just LZW versus LZ77, have you considered merely extending the
existing IPSEC implementation with just the additional protocol option?
It seems like it would be better than reinventing the wheel -- you would
have the advantage of the existing security policy framework to select
what and how to encrypt as well as a working example of how to do it in
the LZ77 code that's already there.
If you do need to do something truly one-off and unique, I have found
that writing it as a userland process and hanging it off a divert socket
is an easy way to manipulate IP packets. It's not as efficient as putting
it in the kernel, but it's a heck of a lot easier to write and debug and
it's independent of kernel versions and other changes. You also get the
benefit of being able to use ipfw rules to determine what gets processed
rather than rolling your own configuration mechanism.
David
More information about the freebsd-net
mailing list