gov.nist.antd.diffserv
Class DiffServPacketClassifier

java.lang.Object
  |
  +--gov.nist.antd.diffserv.DiffServPacketClassifier

public class DiffServPacketClassifier
extends java.lang.Object

This class (DiffServPacketClassifier) is used to define the DiffServ packet flows coming into a router with DiffServ packet processing capability. Each DiffServ packet flow individually may contain multiple micro-flows of different class-types.

  Currently, a DiffServFlow may contain following DiffServ class-types:
	- NCT1, NCT0 (network control traffic) 
	- EF (expedited forwarding)
	- AF4, AF3, AF2, AF1 (assured forwarding)
	- BF (best-effort forwarding)

   The router with DiffServ packet processing capability maintains
   only one DiffServTrafficConditioner instance which maintains
   only one DiffServPacketClassifier instance.
   DiffServPacketClassifier maintains a DiffServFlowTable of the 
   information of each DiffServ packet flow.

  
    public DiffServPacketClassifier Classifier;
    |
    +--> DiffServFlowTable(Vector) - DiffServFlowTable maintains DiffServFlow(class) infomations..
                |
                +--> DiffServFlow(class) has all of packet classsifier of a DiffServ Flow...
                        |
                        +--> DiffServCTFlowTable(Vector) - DiffServCTFlowTable maintains DiffServCTFlow(class) 
                                |				informations...
                                +--> DiffServCTFlow(class) has a packet classifier for a diffserv class type.. 
                                       and a DiffServPrfFlowProfile(class) information to perform  
                                       a metering, marking and queueing...
 

 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:
Young-Tak Kim
, Eun-Hyuk Lim , borchert

Field Summary
 boolean debug
          Field debug - XXX
 java.util.Vector DiffServFlowTable
          Field DiffServFlowTable - XXX
 DiffServTrafficConditioner DSTConditioner
          Field DSTConditioner - XXX
 java.lang.String ID
          Field ID - XXX
 
Constructor Summary
DiffServPacketClassifier(DiffServTrafficConditioner dstc)
          Constructor DiffServPacketClassifier
 
Method Summary
 void addDiffServFlow(int id, com.renesys.raceway.DML.Configuration cfg)
          Method addDiffServFlow XXX
 DiffServCTFlow getDiffServCTFlow(int flowid, int classtype)
          Method getDiffServCTFlow XXX
 DiffServCTFlow getDiffServCTFlow(int clientip, int serverip, int serverport, int protnum)
          Method getDiffServCTFlow XXX
 DiffServPrfFlowProfile getDiffServPrfFlowProfile(ProtocolMessage message)
          Method getDiffServPrfFlowProfile XXX
 void init()
          Method init
 boolean packetClassifier(ProtocolMessage message, ProtocolSession fromSession)
          Method packetClassifier XXX
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DSTConditioner

public DiffServTrafficConditioner DSTConditioner
Field DSTConditioner - XXX


debug

public boolean debug
Field debug - XXX


ID

public java.lang.String ID
Field ID - XXX


DiffServFlowTable

public java.util.Vector DiffServFlowTable
Field DiffServFlowTable - XXX

Constructor Detail

DiffServPacketClassifier

public DiffServPacketClassifier(DiffServTrafficConditioner dstc)
Constructor DiffServPacketClassifier

Parameters:
dstc - - XXX
Method Detail

init

public void init()
Method init


addDiffServFlow

public void addDiffServFlow(int id,
                            com.renesys.raceway.DML.Configuration cfg)
Method addDiffServFlow XXX

Parameters:
id - - XXX
cfg - - XXX

getDiffServCTFlow

public DiffServCTFlow getDiffServCTFlow(int flowid,
                                        int classtype)
Method getDiffServCTFlow XXX

Parameters:
flowid - - XXX
classtype - - XXX
Returns:
DiffServCTFlow - XXX

packetClassifier

public boolean packetClassifier(ProtocolMessage message,
                                ProtocolSession fromSession)
Method packetClassifier XXX

Parameters:
message - - XXX
fromSession - - XXX
Returns:
boolean - XXX

getDiffServCTFlow

public DiffServCTFlow getDiffServCTFlow(int clientip,
                                        int serverip,
                                        int serverport,
                                        int protnum)
Method getDiffServCTFlow XXX

Parameters:
clientip - - XXX
serverip - - XXX
serverport - - XXX
protnum - - XXX
Returns:
DiffServCTFlow - XXX

getDiffServPrfFlowProfile

public DiffServPrfFlowProfile getDiffServPrfFlowProfile(ProtocolMessage message)
Method getDiffServPrfFlowProfile XXX

Parameters:
message - - XXX
Returns:
DiffServPrfFlowProfile - XXX