|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--SSF.OS.OSPFv2.AreaData
This Data Stucture contains all information used to run the basic OSPF routing algorithm.
| Field Summary | |
java.util.Vector |
addressRanges
This Vector holds the areas address ranges in order to aggregate routing information at area boundaries. |
int |
areaID
The identifier for this area. |
LSDatabase |
database
The LS Database for this area. |
Dijkstra |
dijkstra
A instance of the dijkstra algorithm to calculate shortest paths for this area. |
java.util.HashMap |
interfaces
The following HashMap represents a list of all router's interfaces associated with this area. |
OSPF |
myOSPF
A reference to the OSPF session this area belongs to. |
boolean[] |
options
The optional capabilities of this area of the router. |
java.util.HashMap |
preConfInterfaces
A HashMap representing a list of all router's pre-configured interfaces associated with this area. |
java.util.HashMap |
shortestPathTree
The shortest-path tree for the area represented as HashMap. |
int |
stubDefaultCost
Indicates the cost of the default summary-LSA, the router advertises if eBit is false and the router itself is an area border border. |
boolean |
transitCapability
This parameter indicates whether the area can carry data traffic that neither originates nor terminates in the area itself (Is a transit area or not). |
| Constructor Summary | |
AreaData(OSPF ospf,
com.renesys.raceway.DML.Configuration cfg)
Constructs an Area Data Structure with the specified area id. |
|
| Method Summary | |
void |
addAddrRange(java.lang.Object addrRange)
adds a new address range to the given. |
void |
addInterface(Interface intf)
adds a new Interface to this area. |
void |
advanceSeqNumOf(LSA advLSA)
Method called by "Neighbor.processReceivedLSA() in case of receiving a selforiginated LSA newer than the one stored in the Database. |
java.util.HashMap |
calculateDijkstraPartI()
Calculate the first stage of Dijkstra. |
java.util.HashMap |
calculateDijkstraPartII()
Calculate the second stage of Dijkstra. |
boolean |
canBeRemovedFromDatabase(LSA maxAgeLSA)
Check whether none of the router's Neighbors are in states Exchange or Loading, and maxAgeLSA is no longer contained on any Neighbor's Link State Retransmission List. |
void |
clearLSAFromRetrLists(java.lang.String oldLSAKey)
removes a particular LSA from every Neighbor Data Structures link state retransmission list whose represented Neighbor is adjacent to this area. |
boolean |
compareIPAddrWith(int id)
Check whether one of the Ip Interface Addresses of this Area is equal to id and return true if so, else false. |
void |
config(com.renesys.raceway.DML.Configuration cfg)
Configure the ospf area parameters. |
void |
configRest()
Additional configuration to the area. |
void |
createRouterLSA()
create a new router LSA for this area, install it in the database and if possible send it out the appropriate interfaces. |
LSA |
createSummary3LSA(int ipAddress,
int ipMask,
int cost)
create a new summary type 3 LSA for this area and return it. |
LSA |
createSummary4LSA(int ipAddress,
int cost)
create a new summary type 4 LSA for this area and return it. |
void |
databaseDebugInfo()
check whether debug switches for LS database debugging are enabled and the content of the database has changed. |
void |
floodLSA(LSA lsa,
int neighborID)
Flood an LSA out some set of the router's interfaces. |
LSA |
getLSA(java.lang.String key)
Determine whether a particular LSA is stored in the database belonging to this Area Data Structure. |
java.util.Vector |
getLSAHeaders()
Return a Vector containing all LSA-Headers currently stored in the LS Database. |
boolean |
hasInstanceOf(LSA testLSA)
Check whether an instance of the given LSA exists in the database belonging to this Area, and if so return true else false. |
boolean |
hasInterface(java.lang.Integer ip)
called by the OSPF session by order of another Area Data Structure to determine whether a particular Interface belongs to this Area. |
void |
init()
Start the ospf routing process in this area. |
boolean |
installReceivedLSA(LSA instLSA,
int neighborID)
Install a new received LSA in the database and return true if installation was successful, otherwise false. |
void |
installSelfOrigLSA(LSA soLSA)
Try to install a self-originated LSA and if the installation process was successful, flood it out some appropriate interfaces. |
boolean |
lsaIsWrapping(LSA testLSA)
Check whether the sequence number of a particular LSA is wrapping and return true if so, else false. |
boolean |
noNeighborInDataExProcess()
Check all Neighbors belonging to this Area whether they are in state EXCHANGE or LOADING. |
void |
printConfiguration()
print current configuration of the area if necessary. |
boolean |
receivedPacket(Packet pkt,
java.lang.Integer sourceIP,
java.lang.Integer destIP)
After the generic input processing of an OSPF Packet was done by the OSPF session above, this method will further process the Packet destined for this Area. |
Interface |
remInterface(java.lang.Integer intfIP)
removes an Interface from the Interface list cause of an area change while re- configuring this Interface. |
void |
removeSummaryLSA(byte type,
java.lang.Object destKey)
Remove a selforiginated Summary-LSA from the LS Database. |
void |
reset()
Reset the Area Data Structure. |
void |
setAddressRanges(java.util.Vector addrRanges)
Set the areas address ranges to a new collection of address ranges. |
boolean |
shouldRequest(LSA lsa)
Take an LSA Header and determine whether the associated body should be requested or not. |
boolean |
testInstanceOf(LSA testLSA,
java.lang.String test)
Check whether an IDENTICAL/MORE RECENT/LESS RECENT instance of the given LSA exists in the database belonging to this Area, and if so return true else false. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public int areaID
public OSPF myOSPF
public java.util.Vector addressRanges
public java.util.HashMap interfaces
public java.util.HashMap preConfInterfaces
public LSDatabase database
public java.util.HashMap shortestPathTree
public Dijkstra dijkstra
public boolean transitCapability
public int stubDefaultCost
public boolean[] options
| Constructor Detail |
public AreaData(OSPF ospf,
com.renesys.raceway.DML.Configuration cfg)
| Method Detail |
public void config(com.renesys.raceway.DML.Configuration cfg)
throws com.renesys.raceway.DML.configException
area [
# The area's id as an integer, not formatted as an IP address
# optional only if the router is solely attached to the backbone area.
# In this case default value is 0 else
# mandatory!
id %I
# This can be used to configure multiple areas at once
idrange [from %I1! to %I1!] # idrange not impl. yet!!!
# Specifies if this area is a stub area (true|false)
# optional! default value is: false
stub %S
# Specifies the StubDefaultCost for a stub area
# optional! default value is: 0
stub_default_cost %I
# A router's interfaces all belong to an area. All interfaces belonging
# to this area are specified here.
if %T:.schemas.ospf_if
]
config in interface com.renesys.raceway.DML.Configurablecfg - contains the values for configurable ospf area parameters
com.renesys.raceway.DML.configException - thrown if any of the calls to findSingle and
find throw such an exception or if a
misconfiguration is determined.
public void configRest()
throws com.renesys.raceway.DML.configException
com.renesys.raceway.DML.configException - if a misconfiguration is determined and if the called
configuration routines throw such exceptions.public void init()
public void reset()
public void setAddressRanges(java.util.Vector addrRanges)
public void addAddrRange(java.lang.Object addrRange)
public void addInterface(Interface intf)
public Interface remInterface(java.lang.Integer intfIP)
public boolean hasInterface(java.lang.Integer ip)
public void createRouterLSA()
public LSA createSummary3LSA(int ipAddress,
int ipMask,
int cost)
ipAddress - int value, representing the ip address of the destination network.ipMask - int value, representing the ip mask of the destination network.cost - int value, indicating the OSPF cost of the shortest path to the destination.
public LSA createSummary4LSA(int ipAddress,
int cost)
ipAddress - int value, representing the ip address of the destination router.cost - int value, indicating the OSPF cost of the shortest path to the destination router.
public void removeSummaryLSA(byte type,
java.lang.Object destKey)
type - byte value indicating a type 3 or 4 LSA.destKey - Object (MUST be String in case of type 3 LSA, Integer in case of type 4)
indicating the destination id.public void installSelfOrigLSA(LSA soLSA)
soLSA - self-originated LSA to install.public void advanceSeqNumOf(LSA advLSA)
advLSA - The received selforiginated LSA.
public void floodLSA(LSA lsa,
int neighborID)
lsa - LSA that must be flooded out some interfaces.neighborID - int value, identifying the neighbor from whom the LSA was received.public java.util.Vector getLSAHeaders()
public boolean shouldRequest(LSA lsa)
public LSA getLSA(java.lang.String key)
key - String representing the unique identifier of an LSA. (see LSA.getKey).
public boolean installReceivedLSA(LSA instLSA,
int neighborID)
instLSA - an LSA received during database exchange or flooding.neighborID - int value, identifying the neighbor who sent the LSA.
public boolean hasInstanceOf(LSA testLSA)
public boolean testInstanceOf(LSA testLSA,
java.lang.String test)
testLSA - holds the LSA which is compared with the database copy if existingtest - holds expected result-String of isNewerThan test.
Return true, if the test was positiv false otherwise.public boolean lsaIsWrapping(LSA testLSA)
public boolean noNeighborInDataExProcess()
public boolean canBeRemovedFromDatabase(LSA maxAgeLSA)
public void clearLSAFromRetrLists(java.lang.String oldLSAKey)
public boolean compareIPAddrWith(int id)
public boolean receivedPacket(Packet pkt,
java.lang.Integer sourceIP,
java.lang.Integer destIP)
throws ProtocolException
ProtocolExceptionpublic java.util.HashMap calculateDijkstraPartI()
public java.util.HashMap calculateDijkstraPartII()
public void printConfiguration()
public void databaseDebugInfo()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||