gov.nist.antd.mpls.mgmt.mpls_interface
Class MPLSInterfaceMgmt

java.lang.Object
  |
  +--gov.nist.antd.mpls.mgmt.mpls_interface.MPLSInterfaceMgmt

public class MPLSInterfaceMgmt
extends java.lang.Object

Management module for Interfaces of the Node.
The MPLSInterfaceMgmt provedes the MPLS module with management functions to support the MPLS signaling/forwarding functions

 
        +-------------------------+
        | MPLS Signaling Protocol |                    +- Query a Interface Information
        |  - CR-LDP               |                    |  Resource Reservation/Release request
        +------------+------------+                    |
                     | Label Reqeust/Mapping request   |
                     |                   +-------------+
        +------------+---------------+   |   +============================================+
        | MPLSSignalingInterfaceMgmt |   |   | MPLSInterfaceMgmt                          |
        |  - Provides the CRLDP with |   |   |  - Provides the MPLSSignalingInterfaceMgmt |
        |      several Interface     +------>+    with resource management functions      |
        |      functions             |       |  - InterfaceTable(Hashtable) <-------+     |
        +----------------------------+       |  - Interface management functions    |     |
                                             +======================================|=====+
                                                                                    |
                         +------------------------------------------+               |
                         | MPLSInterfaceInfo                        |+              |
                         |  - NIC/ONIC/Tunnel Information           |---------------+
                         |  - Resource management(Reserve/Release)  |||
                         |  - Queueing/Scheduling                   |||
                         |  - Packet forwarding                     |||
                         +------------------------------------------+||
                            +----------------------------------------+|
                                +-------------------------------------+


 

 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
 int INTERFACE_COUNT
          Field INTERFACE_COUNT - Interface count
 NIC[] INTERFACE_SET
          Field INTERFACE_SET - Interface Set
 java.util.Hashtable InterfaceTable
          Field InterfaceTable - Interface Table
 java.util.Vector IPAddrList
          Field IPAddrList - IP Address List
 RoutingTable IPRoutingTable
          Field IPRoutingTable - IP Routing Table
 IP ipsess
          Field ipsess - IP session
 MPLSMgmt mplsmgmt
          Field mplsmgmt - MPLS Management object
 OXCSwitch oxcswitch
          Field oxcswitch - OXC object
 int virtualInterfaceCount
          Field virtualInterfaceCount - Virtual Interface count
 int virtualInterfaceStartNum
          Field virtualInterfaceStartNum - Virtual Interface Start Number
 
Constructor Summary
MPLSInterfaceMgmt(MPLSMgmt mgmt)
          Constructor MPLSInterfaceMgmt
 
Method Summary
 MPLSInterfaceInfo addTunnelInterface(TunnelInfo tinfo, boolean isIngress)
          Method addTunnelInterface Add the Tunnel Interface to the table
 RoutingInfo findLSRNextHopInfo(int sourceAddr, int destAddr)
          Method findLSRNextHopInfo Return routing information from the source node to the destination node
 MPLSInterfaceInfo getInterface(int interfaceNum)
          Method getInterface Get Interface based on the interface number
 int getInterfaceEncodingType(int interfaceNum)
          Returns the interface encoding type.
 java.util.Hashtable getInterfaceTable()
          Method getInterfaceTable Return the interface table
 java.util.Enumeration getInterfaceTableElements()
          Method getInterfaceTableElements Return the interface elements from the table
 java.util.Vector getIPAddrList()
          Method getIPAddrList Return the IP address List
 void init(int NodeType)
          Method init
 boolean islocalIPAddr(int destAddr)
          Method islocalIPAddr Check the this IP address is local
 void printResourceInformation()
          Method printResourceInformation Print out the resource information
 boolean sendLocalIPPacket(ProtocolMessage message, ProtocolSession fromSession)
          Method sendLocalIPPacket Send the message to local IP session
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mplsmgmt

public MPLSMgmt mplsmgmt
Field mplsmgmt - MPLS Management object


ipsess

public IP ipsess
Field ipsess - IP session


oxcswitch

public OXCSwitch oxcswitch
Field oxcswitch - OXC object


INTERFACE_SET

public NIC[] INTERFACE_SET
Field INTERFACE_SET - Interface Set


INTERFACE_COUNT

public int INTERFACE_COUNT
Field INTERFACE_COUNT - Interface count


virtualInterfaceCount

public int virtualInterfaceCount
Field virtualInterfaceCount - Virtual Interface count


virtualInterfaceStartNum

public int virtualInterfaceStartNum
Field virtualInterfaceStartNum - Virtual Interface Start Number


IPRoutingTable

public RoutingTable IPRoutingTable
Field IPRoutingTable - IP Routing Table


InterfaceTable

public java.util.Hashtable InterfaceTable
Field InterfaceTable - Interface Table


IPAddrList

public java.util.Vector IPAddrList
Field IPAddrList - IP Address List

Constructor Detail

MPLSInterfaceMgmt

public MPLSInterfaceMgmt(MPLSMgmt mgmt)
Constructor MPLSInterfaceMgmt

Parameters:
mgmt - - MPLS Management Object
Method Detail

init

public void init(int NodeType)
Method init

Parameters:
NodeType -

getInterface

public MPLSInterfaceInfo getInterface(int interfaceNum)
Method getInterface Get Interface based on the interface number

Parameters:
interfaceNum - - Interface number
Returns:
MPLSInterfaceInfo - The retreived MPLS Interface Information

getInterfaceEncodingType

public int getInterfaceEncodingType(int interfaceNum)
Returns the interface encoding type.

Parameters:
interfaceNum - the interface number
Returns:
the encoding type of -1 if the interface is not available

addTunnelInterface

public MPLSInterfaceInfo addTunnelInterface(TunnelInfo tinfo,
                                            boolean isIngress)
Method addTunnelInterface Add the Tunnel Interface to the table

Parameters:
tinfo - - Tunnel information
isIngress - - True if this node is Ingress node
Returns:
MPLSInterfaceInfo - Created Tunnel Interface Information

islocalIPAddr

public boolean islocalIPAddr(int destAddr)
Method islocalIPAddr Check the this IP address is local

Parameters:
destAddr - - Destination IP address
Returns:
boolean - True if this node is local node

findLSRNextHopInfo

public RoutingInfo findLSRNextHopInfo(int sourceAddr,
                                      int destAddr)
Method findLSRNextHopInfo Return routing information from the source node to the destination node

Parameters:
sourceAddr - - Source node address
destAddr - - Destination node address
Returns:
RoutingInfo - Routing Information

sendLocalIPPacket

public boolean sendLocalIPPacket(ProtocolMessage message,
                                 ProtocolSession fromSession)
Method sendLocalIPPacket Send the message to local IP session

Parameters:
message -
fromSession -
Returns:
boolean - True if success

getInterfaceTable

public java.util.Hashtable getInterfaceTable()
Method getInterfaceTable Return the interface table

Returns:
Hashtable

getInterfaceTableElements

public java.util.Enumeration getInterfaceTableElements()
Method getInterfaceTableElements Return the interface elements from the table

Returns:
Enumeration - XXX

getIPAddrList

public java.util.Vector getIPAddrList()
Method getIPAddrList Return the IP address List

Returns:
Vector - XXX

printResourceInformation

public void printResourceInformation()
Method printResourceInformation Print out the resource information