INET Framework for OMNeT++/OMNEST
|
This is an abstract interface for packet classifiers in MPLS ingress routers. More...
#include <IClassifier.h>
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... | |
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.
|
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().