INET Framework for OMNeT++/OMNEST
inet::IClassifier Class Referenceabstract

This is an abstract interface for packet classifiers in MPLS ingress routers. More...

#include <IClassifier.h>

Inheritance diagram for inet::IClassifier:
inet::IRSVPClassifier inet::LDP inet::SimpleClassifier

Public Member Functions

virtual ~IClassifier ()
 
virtual bool lookupLabel (IPv4Datagram *ipdatagram, LabelOpVector &outLabel, std::string &outInterface, int &color)=0
 The ipdatagram argument is an input parameter, the rest (outLabel, outInterface, color) are output parameters only. More...
 

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 IPv4 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.

Constructor & Destructor Documentation

virtual inet::IClassifier::~IClassifier ( )
inlinevirtual
38 {}

Member Function Documentation

virtual bool inet::IClassifier::lookupLabel ( IPv4Datagram 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 IPv4 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 inet::LDP, and inet::SimpleClassifier.

Referenced by inet::MPLS::tryLabelAndForwardIPv4Datagram().


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