Public Member Functions

IClassifier Class Reference

#include <IClassifier.h>

Inheritance diagram for IClassifier:
IRSVPClassifier LDP SimpleClassifier

List of all members.

Public Member Functions

virtual ~IClassifier ()
virtual bool lookupLabel (IPDatagram *ipdatagram, LabelOpVector &outLabel, std::string &outInterface, int &color)=0

Detailed Description

This is an abstract interface for packet classifiers in MPLS ingress routers. The MPLS module holds a pointer to an IClassifier object, and uses it to classify IP datagrams and find the right label-switched path for them.

A known sub-interface is IRSVPClassifier.

Known concrete classifier classes are the LDP module class and (via IRSVPClassifier) RSVP_TE's SimpleClassifier module class.

Definition at line 33 of file IClassifier.h.


Constructor & Destructor Documentation

virtual IClassifier::~IClassifier (  )  [inline, virtual]

Definition at line 24 of file IClassifier.h.

{


Member Function Documentation

virtual bool IClassifier::lookupLabel ( IPDatagram *  ipdatagram,
LabelOpVector outLabel,
std::string &  outInterface,
int &  color 
) [pure virtual]

The ipdatagram argument is an input parameter, the rest (outLabel, outInterface, color) are output parameters only.

In subclasses, this function should be implemented to determine the forwarding equivalence class for the IP datagram passed, and map it to an outLabel and outInterface.

The color parameter (which can be set to an arbitrary value) will only be used for the NAM trace if one will be recorded.

Implemented in SimpleClassifier.

Referenced by MPLS::tryLabelAndForwardIPDatagram().


The documentation for this class was generated from the following file: