implementation of the forwarding table based on Bloom filters. More...
#include <btable.h>
Static Public Member Functions | |
static BTable * | create () |
create and initialize a sorted BTable. | |
Static Public Member Functions inherited from siena::BTable | |
static BTable * | create () |
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... | |
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.