gov.nist.antd.diffserv
Class DiffServFlow

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

public class DiffServFlow
extends java.lang.Object

DiffServFlow is used to describe the aggregated packet flows of (multiple) DiffServ class-type(s).

DiffServFlow maintains the DiffServCTFlowTable that contains the 
 information of each class-type micro-flow.
 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 informations of the packet processing for a specific DiffServFlow
   are defined in the DiffServFlowProfile and DiffServPrfFlowProfile.
	a. DiffServFlowProfile:
	  - scheduler to define the DiffServPacketScheduler
	  - PrfFlowProfileTable to contain DiffServPrfFlowProfiles
	  - definition of meter monitoring
	  - definition of queue monitoring
	b. DiffServPrfFlowProfile:
	  - class-type
	  - priority
	  - weight
	  - meter
	  - bitrate (CIR for meter)
	  - Queue
	  - SchedulingRate
   Each DiffServFlow object contains at least one DiffServCTFlow
   entry in the DiffServCTFlowTable(Vector).
   The DiffServCTFlow contains the DiffServ packet flow mapping
   informations, such as source/destination address range, 
   protocol number, source/destination port range, and ToS. 
	a.DiffServCTFlow
	   - srcIPAddressList, srcIDList
	   - destIPAddressList, destIDList
	   - ProtocolNum
	   - ToS (Type of Service)
	   - SrcPortMin, SrcPortMax: source port range 
	   - DestPortMin, DestPortMax: destination port range 
	   - class-type
	   - DiffServPrfFlowProfile DSFProfile
 

 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 DiffServCTFlowTable
          Field DiffServCTFlowTable - XXX
 int DiffServFlowID
          Field DiffServFlowID - XXX
 DiffServTrafficConditioner DSTConditioner
          Field DSTConditioner - XXX
 java.lang.String ID
          Field ID - XXX
 
Constructor Summary
DiffServFlow(DiffServTrafficConditioner dstc)
          Constructor DiffServFlow
 
Method Summary
 void configCTFlow(int classtype, java.lang.String classtypestring, com.renesys.raceway.DML.Configuration cfg)
          Method configCTFlow XXX
 DiffServPrfFlowProfile DiffServFlowClassify(ProtocolMessage message)
          Method DiffServFlowClassify XXX
 DiffServCTFlow getDiffServCTFlow(int classtype)
          Method getDiffServCTFlow XXX
 DiffServCTFlow getDiffServCTFlow(int clientip, int serverip, int serverport, int protnum)
          Method getDiffServCTFlow XXX
 void init(int id, com.renesys.raceway.DML.Configuration cfg)
          Method init 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


DiffServFlowID

public int DiffServFlowID
Field DiffServFlowID - XXX


ID

public java.lang.String ID
Field ID - XXX


DiffServCTFlowTable

public java.util.Vector DiffServCTFlowTable
Field DiffServCTFlowTable - XXX

Constructor Detail

DiffServFlow

public DiffServFlow(DiffServTrafficConditioner dstc)
Constructor DiffServFlow

Parameters:
dstc - - XXX
Method Detail

init

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

Parameters:
id - - XXX
cfg - - XXX

configCTFlow

public void configCTFlow(int classtype,
                         java.lang.String classtypestring,
                         com.renesys.raceway.DML.Configuration cfg)
Method configCTFlow XXX

Parameters:
classtype - - XXX
classtypestring - - XXX
cfg - - XXX

DiffServFlowClassify

public DiffServPrfFlowProfile DiffServFlowClassify(ProtocolMessage message)
Method DiffServFlowClassify XXX

Parameters:
message - - XXX
Returns:
DiffServPrfFlowProfile - XXX

getDiffServCTFlow

public DiffServCTFlow getDiffServCTFlow(int classtype)
Method getDiffServCTFlow XXX

Parameters:
classtype - - XXX
Returns:
DiffServCTFlow - 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