The goal is to create an interpreter that can take in user code (start with a c interpreter) and manipulate every packet that is sent based on the user code. This allows checksum calculations, packet headers, etc. to be formed based on the content of the packet as well as the size of the packet