📄 classifier-core.cc
字号:
/* Copyright (c) University of Maryland, Baltimore County, 2003. * Original Authors: Ramakrishna Shenai, Sunil Gowda and Krishna Sivalingam. * * This software is developed at the University of Maryland, Baltimore County under * grants from Cisco Systems Inc and the University of Maryland, Baltimore County. * * Permission to use, copy, modify, and distribute this software and its * documentation in source and binary forms for non-commercial purposes * and without fee is hereby granted, provided that the above copyright * notice appear in all copies and that both the copyright notice and * this permission notice appear in supporting documentation. and that * any documentation, advertising materials, and other materials related * to such distribution and use acknowledge that the software was * developed by the University of Maryland, Baltimore County. The name of * the University may not be used to endorse or promote products derived from * this software without specific prior written permission. * * Copyright (C) 2000-2003 Washington State University. All rights reserved. * This software was originally developed at Alcatel USA and subsequently modified * at Washington State University, Pullman, WA through research work which was * supported by Alcatel USA, Inc and Cisco Systems Inc. * The following notice is in adherence to the Washington State University * copyright policy follows. * * License is granted to copy, to use, and to make and to use derivative * works for research and evaluation purposes, provided that Washington * State University is acknowledged in all documentation pertaining to any such * copy or derivative work. Washington State University grants no other * licenses expressed or implied. The Washington State University name * should not be used in any advertising without its written permission. * * WASHINGTON STATE UNIVERSITY MAKES NO REPRESENTATIONS CONCERNING EITHER * THE MERCHANTABILITY OF THIS SOFTWARE OR THE SUITABILITY OF THIS SOFTWARE * FOR ANY PARTICULAR PURPOSE. The software is provided "as is" * without express or implied warranty of any kind. These notices must * be retained in any copies of any part of this software. */#include "classifier-core.h"//Constructor -- added by GMGCoreClassifier:: CoreClassifier() : BaseClassifier(){ bind ("bhpProcTime", &proc_time_);}// recv methodvoid CoreClassifier::recv( Packet *pkt, Handler *h = 0 ){ assert( address >= 0 ); assert( pkt != NULL ); hdr_cmn *ch = hdr_cmn::access( pkt ); hdr_ip *iph = hdr_ip::access( pkt ); int src_addr = mshift( iph->saddr() ), des_addr = mshift( iph->daddr() ); // only ipkts (i.e BHP or data-bursts are allowed) assert( ch->ptype() == PT_IPKT ); // the destination cannot be a core node assert( des_addr != address_ ); hdr_IPKT *ipkt = hdr_IPKT::access( pkt ); char s[100]; sprintf( s, "Processing ipkt of id: %ld ", ipkt->C_burst_id_ ); // Debug::debug( s ); if( iph->prio_ == 1 ) { handleControlPacket( pkt ); } else if( iph->prio_ == 2) { handleDataBurst( pkt ); } else { // Debug::debug( "invalid IPKT at Core classsifier:recv() " ); exit( 1 ); }}// core classifier class defnstatic class CoreClassifierClass : public TclClass{ public: CoreClassifierClass() : TclClass( "Classifier/BaseClassifier/CoreClassifier" ) {;} TclObject* create( int, const char*const* ) { return( new CoreClassifier() ); }}class_CoreClassifier;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -