Strict Standards: Declaration of action_plugin_safefnrecode::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /mnt/data/www/nbee/lib/plugins/safefnrecode/action.php on line 14

Strict Standards: Declaration of action_plugin_popularity::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /mnt/data/www/nbee/lib/plugins/popularity/action.php on line 57

Warning: Cannot modify header information - headers already sent by (output started at /mnt/data/www/nbee/lib/plugins/safefnrecode/action.php:14) in /mnt/data/www/nbee/inc/auth.php on line 352

Warning: Cannot modify header information - headers already sent by (output started at /mnt/data/www/nbee/lib/plugins/safefnrecode/action.php:14) in /mnt/data/www/nbee/inc/actions.php on line 180
Network Packet Filtering Language (NetPFL) [NetBee]
 

Network Packet Filtering Language (NetPFL)

Introduction

The NetBee library implements a compiler for high level language used to program the NetVM in order to deal with the most common traffic filtering and monitoring applications. This document will present the high level language used by the NetVM compiler giving particular emphasis to the syntax of the language.

Goals of this Language

The NetPFL high-level language targets applications that want to capture and filter traffic, compute network statistics, and extracts fields from the packet. This language is not a new general purpose language (like C or C++) and it focuses on some of the most common features required by packet processing application. This allows the language to be simple (small number of keywords and syntax rules), intuitive, easy to implement, and suitable for command-line tools.

For more complex applications we leave the programmer the possibility to write its own NetPE source code in NetVM assembly language: this approach gives the programmer the opportunity to write powerful tasks for each NetPE using all the features available within it.

Language syntax in brief

The compactness of the language allows an expression to be typed as an argument of a command-line tool. This is due to the minimal number or syntactical rules required by this language.

The general syntax of this language consist of three blocks (optional): the first represents a filtering expression, the second represents the action to be performed when the expression of the filter is true, the third is a sort of 'stream' associated with the previous items:

[FilteringExpression] [Action] [as StreamID]

Language Specification

The complete NetPFL language specification document can be found at http://nbee.org/download/netpfl-20100315.pdf

 
netpfl/index.txt · Last modified: 2013/02/10 18:43 (external edit)     Back to top