Basic software to help me build a network appliance


I posted this a while back but didn't get any responses. Perhaps I didn't state my problem well enough, so I'd like to retry again w/ a better problem definition.

I'm looking for any free (or low cost) software that can help me build my network appliance. What I need is simply:

  1. Something that redirects/passes Ethernet frames as seen by the interface into my C/C++ program. I need to set the interface to promiscuous mode at times. These Ethernet frames should be sent to my program before being passed to the Linux Kernel by the network device (if possible, i.e. as early on as possible).

  1. My program needs to be able to construct Ethernet frames and send it out on an interface.

  2. My system is a Pentium 4 1.8GHz with 256MB RAM and dual Intel gigE interfaces running Linux 2.6.x (w/ just the kernel and the min. development setup, I can put additional software in if needed).

  1. Currently I'm using libpcap and libnet for the above tasks. But these libraries performance is not high enough because I'm dropping some frames when I put the system into promiscuous mode and get traffic that's ony about 15Mbps. (I'd like to get as close to

100Mbps as possible.)

Thanks in advance for your help. If I receive any emailed answers, I will post a summary. My email address is frank_6014 at yahoo (with the .com)

Reply to
Loading thread data ...

Previously I posted asking if there is any free software available that allows me to filter network traffic and inject new traffic on the Ethernet frame level on my PC (network appliance) based on Linux. Mainly, I wanted to replace the libpcap and libnet that I was using at the time because of a lack of performance w/ those libs.

I mentioned I'd post a summary of anything I received...

Anyway, I didn't get any responses so I wrote a basic kernel driver that uses memory mapping to transfer the Ethernet frames intercepted on any of my computer's interfaces to my user-space programs. this module replaced libnet and libpcap and solved my performance issue. The driver communicates w/ user-space programs thru as char device (similar to vtun but with flexible filtering). Also wrote a C library that provides high level access to the driver.

If anyone's interested, I can let you use it (send email to me frank_6014 at yahoo) since I can't find any existing softwrae and nobody's replied to my numerous posts... so either nobody wants this or there aren't any free ones.

Reply to

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.