gov.nist.antd.mpls.signaling.crldp
Class PeerLSRInfo

java.lang.Object
  |
  +--gov.nist.antd.mpls.signaling.crldp.PeerLSRInfo

public class PeerLSRInfo
extends java.lang.Object

This class represents the Peer LSR Information that is managed by Peer LSR Management module. Each signaling protocol has interfaces to add, query, and update the Peer LSR Information through the Peer LSR Management.

 
                                                +------------------------+                   
   (1) When the sCR-LDP is started, it creates  | PeerLSRInfo            |+                  
       a peerLSRInfoTable to maintain peer      |  - PeerLSR information ||+                 
       LSR information to support MPLS signaling|   - Interface Info     |||                 
       messages exchanging                      |   - IP address Info    |||                 
   (2) If there is no peerLSR infomation        |                        |||                                                          
       that is requested to establish a LSP,    +-----------.------------+||                                                              
       Label request will be rejected.            +---------.-------------+|                                    
                                                  +------.--------------+           
                                                            .
                             +=========================+    .
                             | sCR-LDP                 |    .              
    to/from a peerCR-LDP     |  - peerLSRInfoTable...........  to/from a peerCR-LDP
                             |  - ControlBlockTable.......    
                             |  - Signaling functions  | .                                 
                             +=========================+ .                                     
                                                         .      
                                                +--------.---------------+                   
   (3) When the sCR-LDP receives a Label        | CRLDPControlBlock      |+                  
       request message form the peer CR-LDP,    |  - LSP information     ||+                 
       thesCR-LDP creates a CRLDPControlBlock   |  - Label Request funcs |||                 
       to establish a requested LST             |  - Label Mapping funcs |||                 
   (4) The CRLDPControlBlock has all of         |  - Notification funcs  |||                                                          
       Label Request, Mapping and Release       +------------------------+||                                                              
       functions. So It performs a LSP            +-----------------------+|                                    
       establish, management and release.            +---------------------+                                                         
                                                                     
                                                                     
                                                                   
 

 This class was developed at the National Institute of Standards and
 Technology by employees of the Federal Government and the Towson
 University by student 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.

Version:
1.2

 VERSION CONTROL
-------------------------------------------------------------------------
Name - YYYY/MM/DD - VERSION - ACTION
lim - 1.0 - Source created
borchert - 2002/03/12 - 1.1 - MPLSInterface changed
- Stringconcatinations changed to StringBufer for (speed up)
borchert - 2002/03/20 - 1.2 - Resorted Package Structure in final position.
borchert - 2002/03/21 - Cleaned up import statements.
borchert - 2002/03/27 - Updated invalid attribute references.
rouil - 2002/03/28 - Renamed and updated import statement.
chul - 2002/04/03 - Updated comments chul - 2002/06/18 - 1.3 - Redesigned chul - 2002/09/02 - 1.4 - redefine to support two signaling protocol

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

Field Summary
 boolean isActiveRole
          Active Role flag
 boolean isOUNIClient
          OUNI client flag
 boolean isSameLayer
          Same layer flag If ture, peer LSR has the same LSR Type value
 boolean isTunnel
          Tunnel flag
 MPLSInterface localIntf
          local interface that is connected to the Peer LSR
 java.lang.String lsrNhiID
          Local node(LSR)'s nhi id
private  java.lang.String modName
          Module Name - for debuging
 MPLSInterface peerIntf
          Peer LSR's Interface that is connected to local interface
 java.util.Vector peerLsrIPList
          Peer Node's IP addresses
 java.lang.String peerLsrNhiID
          Peer LSR's NHI id
 SignalingProtocol peerSigProtocol
          MPLS Signaling Protocol
 int tunnelLSPID
          Tunnel LSP ID
 
Constructor Summary
PeerLSRInfo(MPLSInterface myintf, java.lang.String local_nhi_id, int local_node_type, ProtocolGraph peerLSR, int peerIntfid, int peerSigType, boolean isactive, boolean istunnel)
          Constructor PeerLSRInfo
 
Method Summary
 void addPeerInfo(int ifaceid, ProtocolGraph peerLSR, int peerIntf, boolean istunnel, int tunnelLSPID)
          Add peer LSR management module
 boolean hasIntfID(int ifaceid, boolean localFlag)
          Check whether interface local interface
 boolean hasIPaddr(int ipaddr)
          Check that the IP address is peer node's one
 java.lang.String toString()
          Return String that represents the Peer LSR Information
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

lsrNhiID

public java.lang.String lsrNhiID
Local node(LSR)'s nhi id


isActiveRole

public boolean isActiveRole
Active Role flag


isTunnel

public boolean isTunnel
Tunnel flag


peerLsrNhiID

public java.lang.String peerLsrNhiID
Peer LSR's NHI id


isSameLayer

public boolean isSameLayer
Same layer flag If ture, peer LSR has the same LSR Type value


isOUNIClient

public boolean isOUNIClient
OUNI client flag


tunnelLSPID

public int tunnelLSPID
Tunnel LSP ID


modName

private java.lang.String modName
Module Name - for debuging


localIntf

public MPLSInterface localIntf
local interface that is connected to the Peer LSR


peerIntf

public MPLSInterface peerIntf
Peer LSR's Interface that is connected to local interface


peerLsrIPList

public java.util.Vector peerLsrIPList
Peer Node's IP addresses


peerSigProtocol

public SignalingProtocol peerSigProtocol
MPLS Signaling Protocol

Constructor Detail

PeerLSRInfo

public PeerLSRInfo(MPLSInterface myintf,
                   java.lang.String local_nhi_id,
                   int local_node_type,
                   ProtocolGraph peerLSR,
                   int peerIntfid,
                   int peerSigType,
                   boolean isactive,
                   boolean istunnel)
Constructor PeerLSRInfo

Parameters:
myintf - Local Interface Module
local_nhi_id - Local Node's NHI ID
local_node_type - Local Node Type
peerLSR - Peer LSR module
peerIntfid - Peer Interface ID
peerSigType - Peer Node's Signaling Protocol Type
isactive - Active Flag
istunnel - Tunnel Flag - if true, this Peer LSR information is created by creating tunnel Interface(LSP)
Method Detail

addPeerInfo

public void addPeerInfo(int ifaceid,
                        ProtocolGraph peerLSR,
                        int peerIntf,
                        boolean istunnel,
                        int tunnelLSPID)
Add peer LSR management module

Parameters:
ifaceid - - Interface ID
peerLSR - - Peer LSR Object
peerIntf - - Peer Interface ID
istunnel - - True if it is tunnel
tunnelLSPID - Tunnel LSP ID

hasIntfID

public boolean hasIntfID(int ifaceid,
                         boolean localFlag)
Check whether interface local interface

Parameters:
ifaceid - - Interface ID
localFlag - Local Interface Flag
Returns:
boolean - True if interface is connected to the peer node

hasIPaddr

public boolean hasIPaddr(int ipaddr)
Check that the IP address is peer node's one

Parameters:
ipaddr - - IP address
Returns:
boolean - True if it is peer node's IP address

toString

public java.lang.String toString()
Return String that represents the Peer LSR Information

Overrides:
toString in class java.lang.Object
Returns:
java.lang.String