Siena Fast Forwarding Documentation (v. 2.0.1)
Static Public Member Functions | List of all members
siena::BDDBTable Class Reference

implementation of the forwarding table based on Bloom filters. This implementation consolidates each predicate into a binary decision diagram (BDD) that is then used for matching. More...

#include <bddbtable.h>

Inheritance diagram for siena::BDDBTable:
Inheritance graph
[legend]
Collaboration diagram for siena::BDDBTable:
Collaboration graph
[legend]

Static Public Member Functions

static BDDBTablecreate ()
 create and initialize a BDDBTable.
 

Additional Inherited Members

- Public Member Functions inherited from siena::AttributesFIB
virtual void ifconfig (InterfaceId, const Predicate &)=0
 Associates a predicate to an interface. More...
 
virtual void match (const Message &, MatchHandler &) const =0
 Processes a message, calling the output() function on the given MatchHandler object for each matching interface. More...
 

Detailed Description

implementation of the forwarding table based on Bloom filters. This implementation consolidates each predicate into a binary decision diagram (BDD) that is then used for matching.

The idea behind this algorithm is to represent each encoded predicate as a BDD. An encoded predicate is constructed as an M-by-N bit matrix, where M is the chosen size of the Bloom filter, and N is the number of Bloom filters, each one representing a conjunction of constraints. Therefore, each one of the M bits of the Bloom filters becomes a variable in the BDD (or ZDD).

See Also
ZDDBTable