gov.nist.antd.ssf.os
Class IP

java.lang.Object
  |
  +--SSF.OS.ProtocolSession
        |
        +--SSF.OS.IP
              |
              +--gov.nist.antd.ssf.os.IP
All Implemented Interfaces:
com.renesys.raceway.DML.Configurable

public class IP
extends IP


Nested Class Summary
 
Nested classes inherited from class SSF.OS.IP
IP.demux_cache
 
Field Summary
 DiffServTrafficConditioner diffserv
          DiffServTrafficConditioner instance - DiffServ Module
 boolean isDiffServ
          If the Node has a DiffServ module, the isDiffServ flage is true
 boolean isLSR
          If the Node has a MPLSMgmt module, the isLSR flage is true
 boolean isTEAgent
          If the Node has a TEAgent module.
 MPLSMgmt mplsmgmt
           
 int MultiCastGroupAddr
          MulticastIPAddr
 TEAgent teagent
          TEAgent instance
 
Fields inherited from class SSF.OS.IP
INTERFACE_COUNT, INTERFACE_SET, INTERFACE_SET_STARTING_SIZE, INTERFACES, monitor, ROUTING_TABLE, session_cache, tieBreakerClass
 
Fields inherited from class SSF.OS.ProtocolSession
name, use
 
Constructor Summary
IP()
           
 
Method Summary
 void addRoutingInformation(java.lang.String destip, NIC local_interface, int next_hop_addr)
          add routing information
 DiffServTrafficConditioner getDiffServ()
          Return the DiffServTrafficConditioner
 ProtocolMonitor getMonitor()
          Return the monitor of this protocol (use by MPLS)
 MPLSMgmt getMPLSMgmt()
          Return the MPLS management module
 boolean isLocal(ProtocolMessage message)
          Does the IP packet arrive at the destination node ??
 boolean push(ProtocolMessage message, ProtocolSession fromSession)
          push a message up or down in the protocol stack
 boolean sendLocalIPPacket(ProtocolMessage message, ProtocolSession fromSession)
          This function sends a IP packet to the upper protocol layer....
 void setTEAgent(TEAgent tea)
          This function is called by the TEAgent module
 void setupDiffServ(DiffServTrafficConditioner ds)
          This function is called by the DiffServTrafficConditioner module to register a DiffServ instance
 void setupMPLS(MPLSMgmt mgmt)
          This function is called by the MPLSMgmt module to register a MPLSMgmt instance
 
Methods inherited from class SSF.OS.IP
config, drop, getMonitorEnable, getRoutingTable, init, opened, setGraph, setMonitorEnable
 
Methods inherited from class SSF.OS.ProtocolSession
close, closed, debugIdentifier, inGraph, open, pushAfterDelay, pushAfterDelayFailed, version
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mplsmgmt

public MPLSMgmt mplsmgmt

isLSR

public boolean isLSR
If the Node has a MPLSMgmt module, the isLSR flage is true


diffserv

public DiffServTrafficConditioner diffserv
DiffServTrafficConditioner instance - DiffServ Module


isDiffServ

public boolean isDiffServ
If the Node has a DiffServ module, the isDiffServ flage is true


teagent

public TEAgent teagent
TEAgent instance


isTEAgent

public boolean isTEAgent
If the Node has a TEAgent module. the isTEAgent flag is true


MultiCastGroupAddr

public int MultiCastGroupAddr
MulticastIPAddr

Constructor Detail

IP

public IP()
Method Detail

setupMPLS

public void setupMPLS(MPLSMgmt mgmt)
This function is called by the MPLSMgmt module to register a MPLSMgmt instance

Parameters:
mgmt - The MPLSMgmt module that registers

setupDiffServ

public void setupDiffServ(DiffServTrafficConditioner ds)
This function is called by the DiffServTrafficConditioner module to register a DiffServ instance

Parameters:
ds - The DiffServTrafficConditioner that registers

setTEAgent

public void setTEAgent(TEAgent tea)
This function is called by the TEAgent module


getMPLSMgmt

public MPLSMgmt getMPLSMgmt()
Return the MPLS management module

Returns:
The MPLS management module

getDiffServ

public DiffServTrafficConditioner getDiffServ()
Return the DiffServTrafficConditioner

Returns:
The DiffServTrafficConditioner

getMonitor

public ProtocolMonitor getMonitor()
Return the monitor of this protocol (use by MPLS)

Returns:
The monitor of this protocol

addRoutingInformation

public void addRoutingInformation(java.lang.String destip,
                                  NIC local_interface,
                                  int next_hop_addr)
add routing information

Parameters:
destip - The IP adress of the destination node
local_interface - The NIC to use to send messages
next_hop_addr - The IP adress of the next hop

sendLocalIPPacket

public boolean sendLocalIPPacket(ProtocolMessage message,
                                 ProtocolSession fromSession)
This function sends a IP packet to the upper protocol layer....

Parameters:
message - The message to send
fromSession - The session that sent the message
Returns:
true if the message is sent

isLocal

public boolean isLocal(ProtocolMessage message)
Does the IP packet arrive at the destination node ??

Parameters:
message - The ProtocolMessage to check
Returns:
true if the message has reached its destination

push

public boolean push(ProtocolMessage message,
                    ProtocolSession fromSession)
             throws ProtocolException
push a message up or down in the protocol stack

Overrides:
push in class IP
Parameters:
message - The ProtocolMessage to push
fromSession - The ProtocolSession that pushed a message
Returns:
true if the is pushed, false if dropped.
ProtocolException