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

implementation of the forwarding table based on Bloom filters. More...

#include <btable.h>

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

Static Public Member Functions

static BTablecreate ()
 create and initialize a sorted BTable.
 
- Static Public Member Functions inherited from siena::BTable
static BTablecreate ()
 create and initialize a BTable.
 

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 extends the BTable algorithm simply by sorting the Bloom filters within each predicate. Bloom filters are sorted by their Hamming weight in ascending order. The rationale for this is that the basic BTable algorithm shortcuts the evaluation (only) when a match is found. Therefore, it is advantageous to try "smaller" Bloom filters first, because those are more likely to yield a match.