be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl
Class BasicIGPShortcutStrategy

java.lang.Object
  extended by be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadComputer
      extended by be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadStrategy
          extended by be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.BasicIGPShortcutStrategy
All Implemented Interfaces:
LinkLoadComputer, LinkLoadStrategy

public class BasicIGPShortcutStrategy
extends AbstractLinkLoadStrategy

Implement the basic IGP shortcut link load computation strategy.

In this model, all the packets arriving at node A with destination B will be forwarded in the LSP from A to B if exists. This model is the most simple and can be easily implement in real networks. A simple lookup in the BGP table gives the next-hop for any prefix. If an LSP exists to this next-hop, it will be used to forward the traffic. The LSP appears like a virtual interface in the forwarding table.

Note: this class does not use ECMP.

Creation date: 28-Jun-2005 18:04:30

Author:
Fabian Skivee (skivee@run.montefiore.ulg.ac.be)

Field Summary
 
Fields inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadStrategy
data, ECMP, spf, tm
 
Fields inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadComputer
changeListener, domain
 
Constructor Summary
BasicIGPShortcutStrategy(Domain domain, TrafficMatrix tm)
           
 
Method Summary
 Path computePath(Node srcNode, Node dstNode)
          Compute the path from source to destination.
 boolean equals(java.lang.Object o)
          returns true if the LinkLoadComputer uses the same parameters as the object o.
 int hashCode()
           
 boolean isECMP()
          Get the ECMP (Equal-Cost Multi-Path) property.
 void recompute()
          Recomputes the load data.
 
Methods inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadStrategy
detachData, getData, getShortName, getSPFAlgo, getTrafficMatrices, setECMP, setSPFAlgo, setTm, toString
 
Methods inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadComputer
addListener, dataChanged, destroy, getDomain, invalidate, isUpToDate, removeListener, setUptoDate, startListening, stopListening, update
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface be.ac.ulg.montefiore.run.totem.trafficMatrix.model.LinkLoadComputer
addListener, destroy, getDomain, invalidate, isUpToDate, removeListener, startListening, stopListening, update
 

Constructor Detail

BasicIGPShortcutStrategy

public BasicIGPShortcutStrategy(Domain domain,
                                TrafficMatrix tm)
Method Detail

recompute

public void recompute()
Description copied from interface: LinkLoadComputer
Recomputes the load data.


computePath

public Path computePath(Node srcNode,
                        Node dstNode)
                 throws NoRouteToHostException,
                        RoutingException
Compute the path from source to destination. Note that this method is not used by addTraffic(be.ac.ulg.montefiore.run.totem.domain.model.Node, be.ac.ulg.montefiore.run.totem.domain.model.Node).

Parameters:
srcNode -
dstNode -
Returns:
Throws:
NoRouteToHostException
RoutingException

equals

public boolean equals(java.lang.Object o)
Description copied from interface: LinkLoadComputer
returns true if the LinkLoadComputer uses the same parameters as the object o. (the computed data at a given moment are equivalent)

Specified by:
equals in interface LinkLoadComputer
Specified by:
equals in interface LinkLoadStrategy
Overrides:
equals in class AbstractLinkLoadStrategy

hashCode

public int hashCode()
Specified by:
hashCode in interface LinkLoadComputer
Specified by:
hashCode in interface LinkLoadStrategy
Overrides:
hashCode in class AbstractLinkLoadStrategy

isECMP

public boolean isECMP()
Description copied from class: AbstractLinkLoadStrategy
Get the ECMP (Equal-Cost Multi-Path) property.

By default : false

Specified by:
isECMP in interface LinkLoadStrategy
Overrides:
isECMP in class AbstractLinkLoadStrategy
Returns:
true if equal-cost multi-path is activated and false otherwise


Copyright © 2004-2007 Research Unit in Networking, All Rights Reserved.