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

Implementation of TagsFIB based on an encoding of tag sets as Bloom filters represented as a trie. More...

#include <btrietable.h>

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

Static Public Member Functions

static BTrieTablecreate ()
 create and initialize a BTrieTable.
 

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 TagsFIB based on an encoding of tag sets as Bloom filters represented as a trie.

This implementation is based on an encoding of tag sets as Bloom filters. Because of the probabilistic nature of Bloom filters, this implementation can not provide an exact match. In particular, this implementation may produce false positives, which means that a message might be forwarded to more interfaces than the ones it actually matches. However, this implementation does not produce false negatives. This means that a message will always go to all the interfaces whose predicate match the message.

The internal structure of BTrieTable is based on a representation of a set of Bloom filters (i.e., a TagsetList) as a trie. More details are available in the technical documentation within the source file.