Does anyone know if there is a free/open source customized OS to help
me
build my own network appliance by just supplying a C/C++/or Java
program?

Currently, I'm using libpcap and libnet, but I'd like a more detailed
control
of the packets. I'd like to be able to work on the skbs directly in my
user-
space program and determine if I want to drop/pass/modify each incoming
and outgoing skb in my user-space program.

Ideally, I'd like to have a system that lets me user-space program
filter
each skbs flowing into and out of each network interface. My program
needs to be able to modify the data and change the flow (i.e. moving
an skbs from 1 network device's output queu to the ouptut queue of
another).

Thanks.