FIRMAMENT is a Netfilter Linux kernel module which runs user supplied micro-programs over each inbound and/or outbound message to emulate communication fault scenarios, using a script approach. The tool is appropriate to perform experiments over protocols and distributed systems built on top of IPv4 and IPv6, and it can be easily extended to other Netfilter supported protocols.
The user supplied micro-programs are called faultlets. They are written in an assembly like language (FIRMASM) which includes instructions that can delay, duplicate and drop packets, as well as perform basic arithmetic and logical operations over 16 indepent 32 bit virtual registers per flow. The contents of these registers can be used as parameters to the packet manipulation instructions listed above, as well as written back to the packet payload.
- 2005-09-24: Moved to SourceForge. Polishing up current version for the first public release, to be done in the next few weeks.