⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aggregatelen.cc

📁 Click is a modular router toolkit. To use it you ll need to know how to compile and install the sof
💻 CC
字号:
// -*- mode: c++; c-basic-offset: 4 -*-#include <click/config.h>#include "aggregatelen.hh"#include <click/error.hh>#include <click/confparse.hh>#include <clicknet/ip.h>#include <click/packet_anno.hh>CLICK_DECLSAggregateLength::AggregateLength(){}AggregateLength::~AggregateLength(){}intAggregateLength::configure(Vector<String> &conf, ErrorHandler *errh){    _ip = false;    if (cp_va_kparse(conf, this, errh,		     "IP", 0, cpBool, &_ip,		     cpEnd) < 0)	return -1;    return 0;}Packet *AggregateLength::bad_packet(Packet *p){    if (noutputs() == 2)	output(1).push(p);    else	p->kill();    return 0;}Packet *AggregateLength::handle_packet(Packet *p){    int offset;    if (_ip && !p->has_network_header())	return bad_packet(p);    else if (_ip)	offset = p->network_header_offset();    else	offset = 0;    uint32_t len = p->length() - offset + EXTRA_LENGTH_ANNO(p);    SET_AGGREGATE_ANNO(p, len);    return p;}voidAggregateLength::push(int, Packet *p){    if (Packet *q = handle_packet(p))	output(0).push(q);}Packet *AggregateLength::pull(int){    Packet *p = input(0).pull();    if (p)	p = handle_packet(p);    return p;}CLICK_ENDDECLSELEMENT_REQUIRES(userlevel)EXPORT_ELEMENT(AggregateLength)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -