gov.nist.antd.mpls.mgmt.traffic_eng
Class TEAgent

java.lang.Object
  |
  +--gov.nist.antd.mpls.mgmt.traffic_eng.TEAgent
All Implemented Interfaces:
Callback

public class TEAgent
extends java.lang.Object
implements Callback

Traffic Engineering Agent Module. The TEAgent manages Error and Recover Notifications and Fault restoration functions.
It has a OAM module to support performance monitoring, continuity check and loop-back test functions.

--------------------------------------------------------------------------------------------------
 =====================================
 Concept of the error occurence report
 ======================================

                     (3) The TEAgent reports a error information
                         to the ingress node using control channel
                         (reference function
                           - LinkErrorReport() : gov.nist.antd.mpls.signaling.CRLDPControlBlock.java
                   +-------------------------->
                   |
                   |
    +--------------+--------------+
    | TEAgent                     |
    |  - interfaceErrorReport()<--+--+
    |  - interfaceRecoverReport() |  |
    +-----------------------------+  |
                                     |
         +----------+                |
         | NIC      |                |
         | - Error  |                |
         |   detect-+----------------+
         +----+-+---+  (2) The NIC calls the interfaceErrorReport() functions of the TEAgent
              | |          to report the error event
              | |           - NodeID
   ----##-----+ |           - FiberID, LambdaID (if ONIC...)
   ----##-------+ 
   (1) Error occurs
       ( reference function :
           - setupErrorTimer() (SSF.Net.NIc.java)
           - ErrorOccur() (SSF.Net.NIC.java)       )

 ========================================
 Concept of the error recovery report
 ========================================

                     (3) The TEAgent reports a recovery information
                         to the ingress node using control channel
                         (reference function
                           - LinkRecoverReport() : gov.nist.antd.mpls.signaling.CRLDPControlBlock.java
                   +-------------------------->
                   |
                   |
    +--------------+---------------+
    | TEAgent                      |
    |  - interfaceErrorReport()    |
    |  - interfaceRecoverReport()<-+--+
    +------------------------------+  |
                                      |
         +-----------+                |
         | NIC       |                |
         | - Recover |                |
         |   detect--+----------------+
         +----+-+----+  (2) The NIC calls the interfaceRecoverReport() function of the TEAgent
              | |           to report the recovery event
              | |           - NodeID
   ----**-----+ |           - FiberID, LambdaID (if ONIC...)
   ----**-------+ 
   (1) Error occurs
       ( reference function :
           - setupErrorTimer() (SSF.Net.NIc.java)
           - ErrorRecover() (SSF.Net.NIC.java)       )

 ==========================================
 Concept of the Fault Restoration procedure
 ==========================================

     +------------------------+            (1) The TEAgent receives a error report message
     | CR-LDP                 |                from the signaling protocol
     |  - labelReleaseStart() |                ( reference function
     +----+-------------------+                  - LinkErrorReport() : gov.nist.antd.mpls.signaling.CRLDPControlBlock.java )
          | (5) The TEAgent calls                             |
          |     the labelReleaseStart()       +---------------+
          |     to release the resource of    |
          |     the defective LSP             |
    +-----+--------------------------------+  |
    | TEAgent                              |  |
    |  - receiveErrorReportFromIngress()<--+--+
    |  - receiveLoopbackTestResult()<------+--------+
    |                                      |        |
    +----------------------+------+--------+        | 
    (2) The TEAgent switchs|      +------------+    | (4) The OAM module reports results 
        the defective LSP  |                   |    |     of the loopback test
        to the backup LSP  |                   |    |     to the TEAgent
    +------------------+   |     +-------------+----+-------+
    | ForwardingTable  |   |     | OAM Module  |            |
    | - Active LSP --+ |   |     |             |            |
    |                |-+---+     |  - LoopbackTestStart()   |    
    | - Backup LSP <-+ |         |                          |
    +------------------+         +--------------------------+
                                      (3) The TEAgent calls the LoopbackTestStart()
                                           to find the location of the error occurence

 

 This class was developed at the National Institute of Standards and
 Technology by employees of the Federal Government in the course of
 their official duties. Pursuant to title 17 Section 105 of the United
 States Code this software is not subject to copyright protection and
 is in the public domain.
 NIST assumes no responsibility whatsoever for its use by other parties,
 and makes no guarantees, expressed or implied, about its quality,
 reliability, or any other characteristic.
 
We would appreciate acknowledgement if the software is used.
NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.

Author:
EunHyuk Lim (ehlim@antd.nist.gov, othree28@hotmail.com)
, borchert , Chul Kim

Field Summary
static int ActivePathRecover
          Field ActivePathRecover
 boolean BackupCheckON
          Field BackupCheckON - backup path check flag
 S_CRLDP crldp
          Field crldp - CR-LDP module
 MPLSForwarding forwarding
          Field forwarding - Forwarding object
 MPLSForwardingTable forwardingtable
          Field forwardingtable - Forwarding Table
 java.lang.String ID
          Field ID - LSR ID
 MPLSInterfaceMgmt interfacemgmt
          Field interfacemgmt - Interface Management
 boolean isTEAgentEnable
          Field isTEAgentEnable - TE Agent flag
 boolean isTEManager
          Field isTEManager - Traffic Manager flag
 MPLSMgmt mplsmgmt
          Field mplsmgmt - MPLSMgmt module
static int Notifications
          Field Notifications
 OAMModule oamModule
          Field oamModule - OAM module object
static int RestorationFail
          Field RestorationFail
static int RestorationUsingBackupPath
          Field RestorationUsingBackupPath
 TEManager teManager
          Field teManager - Traffic Manager object
 
Constructor Summary
TEAgent(MPLSMgmt m)
          Constructor TEAgent
 
Method Summary
 void addOAMInfo(int ingresslsrid, int locallspid)
          Method addOAMInfo Add OAM information
 void callback(EventMessage evtmsg)
          Deals with failure events and calls the corresponding failure handler.
 void config(com.renesys.raceway.DML.Configuration cfg)
          Method config
 void init()
          Method init
 void interfaceErrorReport(int NicID, int FiberID, int LambdaID)
          Method interfaceErrorReport Report the Interface Error
 void interfaceRecoverReport(int NicID, int FiberID, int LambdaID)
          Method interfaceRecoverReport Report Interface's recovery event
 void LSRTypeBackup(int ingresslsrid, int locallspid, MPLSSignalingInfo sigInfo, boolean fromOAM)
          Method LSRTypeBackup Receive the LSP backup event
 void LSRTypeEgressBackup(int ingresslsrid, int locallspid, MPLSSignalingInfo sigInfo, boolean fromOAM)
          Method LSRTypeEgressBackup Recieve the backup request at Egress Node
 void LSRTypeRecover(int ingresslsrid, int locallspid, boolean fromOAM)
          Method LSRTypeRecover Received the recover event(LSR Type)
 void OXCTypeBackup(int ingresslsrid, int locallspid, MPLSSignalingInfo sigInfo, boolean fromOAM)
          Method OXCTypeBackup Received the OXC type LSP backup request
 void OXCTypeEgressBackup(int ingresslsrid, int locallspid, MPLSSignalingInfo sigInfo, boolean fromOAM)
          Method OXCTypeEgressBackup Received the backup request(OXC) at Egress node
 void OXCTypeRecover(int ingresslsrid, int locallspid, boolean fromOAM)
          Method OXCTypeRecover Received the recover event (OXC Type)
 void receiveErrorReportFromEgress(int ingresslsrid, int locallspid, MPLSSignalingInfo sigInfo, boolean fromOAM)
          Method receiveErrorReportFromEgress Receive the Error Report from Egress node
 void receiveErrorReportFromIngress(int ingresslsrid, int locallspid, MPLSSignalingInfo sigInfo, boolean fromOAM)
          Method receiveErrorReportFromIngress Receive the Error from the CRLDPControlBlock Module
 void receiveLoopbackTestResult(int ingresslsrid, int locallspid, java.util.Vector loopbacktest)
          Method receiveLoopbackTestResult Handle Loopback Test result
 void receiveOAMPacket(ProtocolMessage message)
          Method receiveOAMPacket Call The OAM Function
 void receiveRecoverReportFromIngress(int ingresslsrid, int locallspid, boolean fromOAM)
          Method receiveRecoverReportFromIngress Received the recover event from Ingress
 void removeOAMInfo(int ingresslsrid, int locallspid)
          Method removeOAMInfo Remove the OAM information
 void setTEManager(TEManager tem)
          Method setTEManager Set TE manager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID

public java.lang.String ID
Field ID - LSR ID


isTEAgentEnable

public boolean isTEAgentEnable
Field isTEAgentEnable - TE Agent flag


isTEManager

public boolean isTEManager
Field isTEManager - Traffic Manager flag


teManager

public TEManager teManager
Field teManager - Traffic Manager object


mplsmgmt

public MPLSMgmt mplsmgmt
Field mplsmgmt - MPLSMgmt module


crldp

public S_CRLDP crldp
Field crldp - CR-LDP module


interfacemgmt

public MPLSInterfaceMgmt interfacemgmt
Field interfacemgmt - Interface Management


forwardingtable

public MPLSForwardingTable forwardingtable
Field forwardingtable - Forwarding Table


forwarding

public MPLSForwarding forwarding
Field forwarding - Forwarding object


oamModule

public OAMModule oamModule
Field oamModule - OAM module object


BackupCheckON

public boolean BackupCheckON
Field BackupCheckON - backup path check flag


ActivePathRecover

public static final int ActivePathRecover
Field ActivePathRecover

See Also:
Constant Field Values

RestorationUsingBackupPath

public static final int RestorationUsingBackupPath
Field RestorationUsingBackupPath

See Also:
Constant Field Values

RestorationFail

public static final int RestorationFail
Field RestorationFail

See Also:
Constant Field Values

Notifications

public static final int Notifications
Field Notifications

See Also:
Constant Field Values
Constructor Detail

TEAgent

public TEAgent(MPLSMgmt m)
Constructor TEAgent

Parameters:
m - - MPLS Management module
Method Detail

config

public void config(com.renesys.raceway.DML.Configuration cfg)
            throws com.renesys.raceway.DML.configException
Method config

Parameters:
cfg -
Throws:
com.renesys.raceway.DML.configException

init

public void init()
Method init


setTEManager

public void setTEManager(TEManager tem)
Method setTEManager Set TE manager

Parameters:
tem - - XXX

interfaceErrorReport

public void interfaceErrorReport(int NicID,
                                 int FiberID,
                                 int LambdaID)
Method interfaceErrorReport Report the Interface Error

Parameters:
NicID - - NIC ID
FiberID - - Fiber ID
LambdaID - - Lambda ID

interfaceRecoverReport

public void interfaceRecoverReport(int NicID,
                                   int FiberID,
                                   int LambdaID)
Method interfaceRecoverReport Report Interface's recovery event

Parameters:
NicID - - NIC ID
FiberID - - Fiber ID
LambdaID - - Lambda ID

receiveLoopbackTestResult

public void receiveLoopbackTestResult(int ingresslsrid,
                                      int locallspid,
                                      java.util.Vector loopbacktest)
Method receiveLoopbackTestResult Handle Loopback Test result

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID
loopbacktest - - Loopback test Table

receiveErrorReportFromIngress

public void receiveErrorReportFromIngress(int ingresslsrid,
                                          int locallspid,
                                          MPLSSignalingInfo sigInfo,
                                          boolean fromOAM)
Method receiveErrorReportFromIngress Receive the Error from the CRLDPControlBlock Module

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - local LSP ID
sigInfo - - Signaling Information
fromOAM - - True if it received from OAM

LSRTypeBackup

public void LSRTypeBackup(int ingresslsrid,
                          int locallspid,
                          MPLSSignalingInfo sigInfo,
                          boolean fromOAM)
Method LSRTypeBackup Receive the LSP backup event

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID
sigInfo - - SIgnaling Information
fromOAM - - true if it is called by OAM error funtions

OXCTypeBackup

public void OXCTypeBackup(int ingresslsrid,
                          int locallspid,
                          MPLSSignalingInfo sigInfo,
                          boolean fromOAM)
Method OXCTypeBackup Received the OXC type LSP backup request

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID
sigInfo - - Signaling information
fromOAM - - True if it is requested by the OAM function

receiveErrorReportFromEgress

public void receiveErrorReportFromEgress(int ingresslsrid,
                                         int locallspid,
                                         MPLSSignalingInfo sigInfo,
                                         boolean fromOAM)
Method receiveErrorReportFromEgress Receive the Error Report from Egress node

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID
sigInfo - - Signaling information
fromOAM - - True if it is requested by the OAM function

LSRTypeEgressBackup

public void LSRTypeEgressBackup(int ingresslsrid,
                                int locallspid,
                                MPLSSignalingInfo sigInfo,
                                boolean fromOAM)
Method LSRTypeEgressBackup Recieve the backup request at Egress Node

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID
sigInfo - - Signaling information
fromOAM - - True if it is requested by the OAM function

OXCTypeEgressBackup

public void OXCTypeEgressBackup(int ingresslsrid,
                                int locallspid,
                                MPLSSignalingInfo sigInfo,
                                boolean fromOAM)
Method OXCTypeEgressBackup Received the backup request(OXC) at Egress node

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID
sigInfo - - Signaling information
fromOAM - - True if it is requested by the OAM function

receiveRecoverReportFromIngress

public void receiveRecoverReportFromIngress(int ingresslsrid,
                                            int locallspid,
                                            boolean fromOAM)
Method receiveRecoverReportFromIngress Received the recover event from Ingress

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID
fromOAM - - True if it is requested by the OAM function

LSRTypeRecover

public void LSRTypeRecover(int ingresslsrid,
                           int locallspid,
                           boolean fromOAM)
Method LSRTypeRecover Received the recover event(LSR Type)

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID
fromOAM - - True if it is requested by the OAM function

OXCTypeRecover

public void OXCTypeRecover(int ingresslsrid,
                           int locallspid,
                           boolean fromOAM)
Method OXCTypeRecover Received the recover event (OXC Type)

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID
fromOAM - - True if it is requested by the OAM function

addOAMInfo

public void addOAMInfo(int ingresslsrid,
                       int locallspid)
Method addOAMInfo Add OAM information

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID

removeOAMInfo

public void removeOAMInfo(int ingresslsrid,
                          int locallspid)
Method removeOAMInfo Remove the OAM information

Parameters:
ingresslsrid - - Ingress LSR ID
locallspid - - Local LSP ID

receiveOAMPacket

public void receiveOAMPacket(ProtocolMessage message)
Method receiveOAMPacket Call The OAM Function

Parameters:
message -

callback

public void callback(EventMessage evtmsg)
Deals with failure events and calls the corresponding failure handler.

Specified by:
callback in interface Callback
Parameters:
evtmsg - The Failure or recovering message.