**This is automatically generated documentation.** Edit after the "[[#COMMENTS|COMMENTS]]" heading; changes to the main body will be lost.
====== Element List ======
===== Basic Sources and Sinks =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/discard|Discard]] | drops all packets | all | standard [[packages/core|(core)]] |
| [[elements/discardnofree|DiscardNoFree]] | drops all packets, but does not free any of them. | all | standard [[packages/core|(core)]] |
| [[elements/idle|Idle]] | discards packets | all | standard [[packages/core|(core)]] |
| [[elements/infinitesource|InfiniteSource]] | generates packets whenever scheduled | all | standard [[packages/core|(core)]] |
| [[elements/randomsource|RandomSource]] | generates random packets whenever scheduled | all | standard [[packages/core|(core)]] |
| [[elements/ratedsource|RatedSource]] | generates packets at specified rate | all | standard [[packages/core|(core)]] |
| [[elements/timedsink|TimedSink]] | periodically pulls and drops a packet | all | standard [[packages/core|(core)]] |
| [[elements/timedsource|TimedSource]] | periodically generates a packet | all | standard [[packages/core|(core)]] |
===== Basic Classification and Selection =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/checkaveragelength|CheckAverageLength]] | splits a flow of packets depending on their average length. | linuxmodule | [[packages/unibo_qos|unibo_qos]] |
| [[elements/checklength|CheckLength]] | drops large packets | all | standard [[packages/core|(core)]] |
| [[elements/classifier|Classifier]] | classifies packets by contents | all | standard [[packages/core|(core)]] |
| [[elements/getssrc|GetSSRC]] | splits packets _possibly_ containing an SSRC field (used by the RTP protocol): this is copied it inside the packet annotation field | all | [[packages/unibo_qos|unibo_qos]] |
| [[elements/hashswitch|HashSwitch]] | classifies packets by hash of contents | all | standard [[packages/core|(core)]] |
| [[elements/randomsample|RandomSample]] | samples packets with some probability | all | standard [[packages/core|(core)]] |
| [[elements/randomswitch|RandomSwitch]] | sends packets to random outputs | all | standard [[packages/core|(core)]] |
| [[elements/roundrobinswitch|RoundRobinSwitch]] | sends packets to round-robin outputs | all | standard [[packages/core|(core)]] |
| [[elements/rtpclassifier|RTPClassifier]] | splits packets pertaining to an RTP flow from other BE traffic. | linuxmodule | [[packages/unibo_qos|unibo_qos]] |
| [[elements/splitfirst|SplitFirst]] | splits the first N packets to output port 1, to port 0 otherwise. | linuxmodule | [[packages/unibo_qos|unibo_qos]] |
| [[elements/staticswitch|StaticSwitch]] | sends packet stream to fixed output | all | standard [[packages/core|(core)]] |
| [[elements/strideswitch|StrideSwitch]] | sends packets to stride-scheduled outputs | all | standard [[packages/core|(core)]] |
| [[elements/suppressor|Suppressor]] | passes packets unchanged, optionally dropping some input ports | all | standard [[packages/core|(core)]] |
| [[elements/switch|Switch]] | sends packet stream to settable output | all | standard [[packages/core|(core)]] |
===== Basic Packet Transfer =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/hub|Hub]] | duplicates packets like a hub | all | standard [[packages/core|(core)]] |
| [[elements/null|Null]] | passes packets unchanged | all | standard [[packages/core|(core)]] |
| [[elements/null1|Null1]] | copy of [[elements/Null|Null]] | all | standard [[packages/core|(core)]] |
| [[elements/pullnull|PullNull]] | passes packets unchanged | all | standard [[packages/core|(core)]] |
| [[elements/pulltee|PullTee]] | duplicates packets | all | standard [[packages/core|(core)]] |
| [[elements/pushnull|PushNull]] | passes packets unchanged | all | standard [[packages/core|(core)]] |
| [[elements/tee|Tee]] | duplicates packets | all | standard [[packages/core|(core)]] |
===== Counters =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/averagecounter|AverageCounter]] | measures historical packet count and rate | all | standard [[packages/core|(core)]] |
| [[elements/counter|Counter]] | measures packet count and rate | all | standard [[packages/core|(core)]] |
| [[elements/cyclecountaccum|CycleCountAccum]] | collects differences in cycle counters | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/perfcountaccum|PerfCountAccum]] | collects differences in Pentium Pro performance metrics | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/perfcountinfo|PerfCountInfo]] | turn on Pentium Pro performance metrics | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/roundtripcyclecount|RoundTripCycleCount]] | measures round trip cycles on a push or pull path | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/setcyclecount|SetCycleCount]] | stores cycle count in annotation | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/setperfcount|SetPerfCount]] | stores Pentium Pro performance metric in annotation | linuxmodule | linuxmodule [[packages/core|(core)]] |
===== Timestamps =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/settimestamp|SetTimestamp]] | store the time in the packet's timestamp annotation | all | standard [[packages/core|(core)]] |
| [[elements/settimestampdelta|SetTimestampDelta]] | replace packet timestamps with deltas | all | analysis [[packages/core|(core)]] |
| [[elements/storetimestamp|StoreTimestamp]] | store packet timestamps in packet data | all | analysis [[packages/core|(core)]] |
| [[elements/timefilter|TimeFilter]] | filter packets by timestamp | all | analysis [[packages/core|(core)]] |
| [[elements/timerange|TimeRange]] | monitor range of packet timestamps | all | analysis [[packages/core|(core)]] |
| [[elements/timesortedsched|TimeSortedSched]] | merge sorted packet streams by timestamp | all | analysis [[packages/core|(core)]] |
| [[elements/timestampaccum|TimestampAccum]] | collects differences in timestamps | userlevel | analysis [[packages/core|(core)]] |
===== Basic Packet Modification =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/align|Align]] | aligns packet data | all | standard [[packages/core|(core)]] |
| [[elements/randombiterrors|RandomBitErrors]] | changes packet data with some probability | all | standard [[packages/core|(core)]] |
| [[elements/storedata|StoreData]] | changes packet data | all | standard [[packages/core|(core)]] |
| [[elements/strip|Strip]] | strips bytes from front of packets | all | standard [[packages/core|(core)]] |
| [[elements/striptonetworkheader|StripToNetworkHeader]] | strips everything preceding network header | all | standard [[packages/core|(core)]] |
| [[elements/truncate|Truncate]] | limit packet length. | all | standard [[packages/core|(core)]] |
| [[elements/truncateippayload|TruncateIPPayload]] | limit payload length | all | ip [[packages/core|(core)]] |
| [[elements/unstrip|Unstrip]] | unstrips bytes from front of packets | all | standard [[packages/core|(core)]] |
===== Packet Storage =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/frontdropqueue|FrontDropQueue]] | stores packets in drop-from-front FIFO queue | all | standard [[packages/core|(core)]] |
| [[elements/mixedqueue|MixedQueue]] | stores packets in a FIFO/LIFO queue | all | standard [[packages/core|(core)]] |
| [[elements/notifierqueue|NotifierQueue]] | stores packets in a FIFO queue | all | standard [[packages/core|(core)]] |
| [[elements/queue|Queue]] | stores packets in a FIFO queue | all | standard [[packages/core|(core)]] |
| [[elements/simplequeue|SimpleQueue]] | stores packets in a FIFO queue | all | standard [[packages/core|(core)]] |
| [[elements/threadsafequeue|ThreadSafeQueue]] | stores packets in a FIFO queue | all | standard [[packages/core|(core)]] |
===== Active Queue Management =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/adaptivered|AdaptiveRED]] | drops packets according to Adaptive RED | all | aqm [[packages/core|(core)]] |
| [[elements/red|RED]] | drops packets according to RED | all | aqm [[packages/core|(core)]] |
===== Packet Scheduling =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/drrsched|DRRSched]] | pulls from inputs with deficit round robin scheduling | all | standard [[packages/core|(core)]] |
| [[elements/priosched|PrioSched]] | pulls from priority-scheduled inputs | all | standard [[packages/core|(core)]] |
| [[elements/pullswitch|PullSwitch]] | forwards pull requests to settable input | all | standard [[packages/core|(core)]] |
| [[elements/roundrobinsched|RoundRobinSched]] | pulls from round-robin inputs | all | standard [[packages/core|(core)]] |
| [[elements/simplepriosched|SimplePrioSched]] | pulls from priority-scheduled inputs | all | simple [[packages/core|(core)]] |
| [[elements/simpleroundrobinsched|SimpleRoundRobinSched]] | pulls from round-robin inputs | all | simple [[packages/core|(core)]] |
| [[elements/staticpullswitch|StaticPullSwitch]] | forwards pull requests to fixed input | all | standard [[packages/core|(core)]] |
| [[elements/stridesched|StrideSched]] | pulls from stride-scheduled inputs | all | standard [[packages/core|(core)]] |
===== Traffic Shaping =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/bandwidthmeter|BandwidthMeter]] | classifies packet stream by arrival rate | all | standard [[packages/core|(core)]] |
| [[elements/bandwidthratedsplitter|BandwidthRatedSplitter]] | splits flow of packets at specified bandwidth rate | all | standard [[packages/core|(core)]] |
| [[elements/bandwidthratedunqueue|BandwidthRatedUnqueue]] | pull-to-push converter | all | standard [[packages/core|(core)]] |
| [[elements/bandwidthshaper|BandwidthShaper]] | shapes traffic to maximum rate (bytes/s) | all | standard [[packages/core|(core)]] |
| [[elements/block|Block]] | drops packets with high rate | all | standard [[packages/core|(core)]] |
| [[elements/burster|Burster]] | pull-to-push converter | all | standard [[packages/core|(core)]] |
| [[elements/compareblock|CompareBlock]] | drops packets out of rate range | all | standard [[packages/core|(core)]] |
| [[elements/delayshaper|DelayShaper]] | shapes traffic to meet delay requirements | all | standard [[packages/core|(core)]] |
| [[elements/delayunqueue|DelayUnqueue]] | delay inducing pull-to-push converter | all | standard [[packages/core|(core)]] |
| [[elements/linkunqueue|LinkUnqueue]] | link emulator | all | standard [[packages/core|(core)]] |
| [[elements/meter|Meter]] | classifies packet stream by rate (pkt/s) | all | standard [[packages/core|(core)]] |
| [[elements/ratedsplitter|RatedSplitter]] | splits flow of packets at specified rate | all | standard [[packages/core|(core)]] |
| [[elements/ratedunqueue|RatedUnqueue]] | pull-to-push converter | all | standard [[packages/core|(core)]] |
| [[elements/shaper|Shaper]] | shapes traffic to maximum rate (pkt/s) | all | standard [[packages/core|(core)]] |
| [[elements/timedunqueue|TimedUnqueue]] | pull-to-push converter | all | standard [[packages/core|(core)]] |
| [[elements/unqueue|Unqueue]] | pull-to-push converter | all | standard [[packages/core|(core)]] |
| [[elements/unqueue2|Unqueue2]] | pull-to-push converter | all | standard [[packages/core|(core)]] |
===== Information Elements =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/addressinfo|AddressInfo]] | specifies address information | all | standard [[packages/core|(core)]] |
| [[elements/alignmentinfo|AlignmentInfo]] | specifies alignment information | all | standard [[packages/core|(core)]] |
| [[elements/annotationinfo|AnnotationInfo]] | Define names for packet annotations. | all | standard [[packages/core|(core)]] |
| [[elements/flowinfo|FlowInfo]] | specifies flow codes | all | standard [[packages/core|(core)]] |
| [[elements/portinfo|PortInfo]] | stores named TCP/UDP port information | all | standard [[packages/core|(core)]] |
| [[elements/scheduleinfo|ScheduleInfo]] | specifies scheduling parameters | all | standard [[packages/core|(core)]] |
| [[elements/schedulelinux|ScheduleLinux]] | returns to Linux scheduler | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/wirelessinfo|WirelessInfo]] | Tracks 802.11 configuration information (ssid, etc). | all | wifi [[packages/core|(core)]] |
===== Network Devices =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/fromdevice|FromDevice]] | reads packets from network device (Linux kernel) | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/fromdevice.b|FromDevice.b]] | reads packets from network device (BSD kernel) | bsdmodule | bsdmodule [[packages/core|(core)]] |
| [[elements/fromdevice.u|FromDevice.u]] | reads packets from network device (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/fromsimdevice.u|FromSimDevice.u]] | reads packets from a simulator device | ns | ns [[packages/core|(core)]] |
| [[elements/fromuserdevice|FromUserDevice]] | Reads packets from the device's ring buffer and injects them into Click | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/polldevice|PollDevice]] | polls packets from network device (kernel) | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/todevice|ToDevice]] | sends packets to network device (Linux kernel) | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/todevice.b|ToDevice.b]] | sends packets to network device (BSD kernel) | bsdmodule | bsdmodule [[packages/core|(core)]] |
| [[elements/todevice.u|ToDevice.u]] | sends packets to network device (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/tosimdevice.u|ToSimDevice.u]] | sends packets to simulated network device | ns | ns [[packages/core|(core)]] |
| [[elements/touserdevice|ToUserDevice]] | Writes packets from the click into a device's ring buffer, which can be then read by a userlevel application. | linuxmodule | linuxmodule [[packages/core|(core)]] |
===== Host and Socket Communication =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/fromhost|FromHost]] | reads packets from Linux | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/fromhost.u|FromHost.u]] | interface to /dev/net/tun or ethertap (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/fromrawsocket|FromRawSocket]] | reads raw IP packets from safe raw socket (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/fromsocket|FromSocket]] | reads data from socket (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/ipflowrawsockets|IPFlowRawSockets]] | creates separate sockets for each TCP/UDP flow | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/kernelfilter|KernelFilter]] | block kernel from handling packets | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/kerneltap|KernelTap]] | interface to /dev/tap or ethertap (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/kerneltun|KernelTun]] | interface to /dev/tun or ethertap (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/pptpserver|PPTPServer]] | Handles PPTP-over-TCP connections. | userlevel | [[packages/ppp|ppp]] |
| [[elements/rawsocket|RawSocket]] | transports raw IP packets via safe raw sockets (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/socket|Socket]] | a socket transport (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/tohost|ToHost]] | sends packets to Linux | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/tohost.u|ToHost.u]] | sends packets to Linux via Universal TUN/TAP device. | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/tohostsniffers|ToHostSniffers]] | sends packets to Linux packet sniffers | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/torawsocket|ToRawSocket]] | sends IP packets through a safe raw socket (user-level) | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/tosocket|ToSocket]] | sends data to socket (user-level) | userlevel | userlevel [[packages/core|(core)]] |
===== Ethernet =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/ensureether|EnsureEther]] | ensures that IP packets are Ethernet encapsulated | all | ethernet [[packages/core|(core)]] |
| [[elements/etherencap|EtherEncap]] | encapsulates packets in Ethernet header | all | ethernet [[packages/core|(core)]] |
| [[elements/ethermirror|EtherMirror]] | swaps Ethernet source and destination | all | ethernet [[packages/core|(core)]] |
| [[elements/etherpausesource|EtherPauseSource]] | creates and emits Ethernet 802.3x pause frames | all | ethernet [[packages/core|(core)]] |
| [[elements/etherswitch|EtherSwitch]] | learning, forwarding Ethernet switch | all | etherswitch [[packages/core|(core)]] |
| [[elements/hostetherfilter|HostEtherFilter]] | drops Ethernet packets sent to other machines | all | ethernet [[packages/core|(core)]] |
| [[elements/listenetherswitch|ListenEtherSwitch]] | learning, forwarding Ethernet switch with listen port | all | etherswitch [[packages/core|(core)]] |
| [[elements/storeetheraddress|StoreEtherAddress]] | stores Ethernet address in packet | all | ethernet [[packages/core|(core)]] |
===== ARP =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/arpfaker|ARPFaker]] | periodically generates an ARP reply | all | ethernet [[packages/core|(core)]] |
| [[elements/arpprint|ARPPrint]] | pretty-prints ARP packets a la tcpdump | all | ethernet [[packages/core|(core)]] |
| [[elements/arpquerier|ARPQuerier]] | encapsulates IP packets in Ethernet headers found via ARP | all | ethernet [[packages/core|(core)]] |
| [[elements/arpresponder|ARPResponder]] | generates responses to ARP queries | all | ethernet [[packages/core|(core)]] |
| [[elements/arptable|ARPTable]] | stores IP-to-Ethernet mappings | all | ethernet [[packages/core|(core)]] |
| [[elements/checkarpheader|CheckARPHeader]] | checks ARP header | all | ethernet [[packages/core|(core)]] |
===== IPv4 =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/anonymizeipaddr|AnonymizeIPAddr]] | anonymizes top-level IP addresses in passing packets | all | analysis [[packages/core|(core)]] |
| [[elements/checkipheader|CheckIPHeader]] | checks IP header | all | ip [[packages/core|(core)]] |
| [[elements/checkipheader2|CheckIPHeader2]] | checks IP header, no checksum | all | ip [[packages/core|(core)]] |
| [[elements/decipttl|DecIPTTL]] | decrements IP time-to-live, drops dead packets | all | ip [[packages/core|(core)]] |
| [[elements/eraseippayload|EraseIPPayload]] | erases IP packet payload | all | analysis [[packages/core|(core)]] |
| [[elements/fixipsrc|FixIPSrc]] | sets IP source field if requested by annotation | all | ip [[packages/core|(core)]] |
| [[elements/getipaddress|GetIPAddress]] | sets destination IP address annotation from packet data | all | ip [[packages/core|(core)]] |
| [[elements/ipclassifier|IPClassifier]] | classifies IP packets by contents | all | ip [[packages/core|(core)]] |
| [[elements/ipencap|IPEncap]] | encapsulates packets in static IP header | all | ip [[packages/core|(core)]] |
| [[elements/ipfilter|IPFilter]] | filters IP packets by contents | all | ip [[packages/core|(core)]] |
| [[elements/ipfragmenter|IPFragmenter]] | fragments large IP packets | all | ip [[packages/core|(core)]] |
| [[elements/ipgwoptions|IPGWOptions]] | processes router IP options | all | ip [[packages/core|(core)]] |
| [[elements/ipinputcombo|IPInputCombo]] | input combo for IP routing | all | ip [[packages/core|(core)]] |
| [[elements/ipmirror|IPMirror]] | swaps IP source and destination | all | ip [[packages/core|(core)]] |
| [[elements/ipnameinfo|IPNameInfo]] | stores name information about IP packets | all | ip [[packages/core|(core)]] |
| [[elements/ipoutputcombo|IPOutputCombo]] | output combo for IP routing | all | ip [[packages/core|(core)]] |
| [[elements/ipprint|IPPrint]] | pretty-prints IP packets | all | ip [[packages/core|(core)]] |
| [[elements/ipreassembler|IPReassembler]] | Reassembles fragmented IP packets | all | ip [[packages/core|(core)]] |
| [[elements/ipsecencap|IPsecEncap]] | encapsulates packets in static IP header | all | ipsec [[packages/core|(core)]] |
| [[elements/markipce|MarkIPCE]] | sets IP packets' ECN field to Congestion Experienced | all | ip [[packages/core|(core)]] |
| [[elements/markipheader|MarkIPHeader]] | sets IP header annotation | all | ip [[packages/core|(core)]] |
| [[elements/setipaddress|SetIPAddress]] | sets destination IP address annotations | all | ip [[packages/core|(core)]] |
| [[elements/setipchecksum|SetIPChecksum]] | sets IP packets' checksums | all | ip [[packages/core|(core)]] |
| [[elements/setipdscp|SetIPDSCP]] | sets IP packets' DSCP fields | all | ip [[packages/core|(core)]] |
| [[elements/setrandipaddress|SetRandIPAddress]] | sets destination IP address annotations randomly | all | ip [[packages/core|(core)]] |
| [[elements/storeipaddress|StoreIPAddress]] | stores IP address in packet | all | ip [[packages/core|(core)]] |
| [[elements/stripipheader|StripIPHeader]] | strips outermost IP header | all | ip [[packages/core|(core)]] |
| [[elements/unstripipheader|UnstripIPHeader]] | restores outermost IP header | all | ip [[packages/core|(core)]] |
===== IPv4 Routing =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/directiplookup|DirectIPLookup]] | IP routing lookup using direct-indexed tables | userlevel, bsdmodule | ip [[packages/core|(core)]] |
| [[elements/iproutetable|IPRouteTable]] | IP routing table superclass | all | ip [[packages/core|(core)]] |
| [[elements/ipsecroutetable|IPsecRouteTable]] | IP routing table superclass | all | ipsec [[packages/core|(core)]] |
| [[elements/lineariplookup|LinearIPLookup]] | simple IP routing table | all | ip [[packages/core|(core)]] |
| [[elements/linuxiplookup|LinuxIPLookup]] | interface to Linux's routing table | userlevel | ip [[packages/core|(core)]] |
| [[elements/radixiplookup|RadixIPLookup]] | IP lookup using a radix trie | all | ip [[packages/core|(core)]] |
| [[elements/rangeiplookup|RangeIPLookup]] | IP routing lookup through binary search in a very compact table | userlevel, bsdmodule | ip [[packages/core|(core)]] |
| [[elements/ripsend|RIPSend]] | periodically generates specified RIP II packet | all | ip [[packages/core|(core)]] |
| [[elements/sortediplookup|SortedIPLookup]] | simple IP routing table | all | ip [[packages/core|(core)]] |
| [[elements/staticiplookup|StaticIPLookup]] | simple static IP routing table | all | ip [[packages/core|(core)]] |
===== ICMP =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/checkicmpheader|CheckICMPHeader]] | checks ICMP header on ICMP packets | all | icmp [[packages/core|(core)]] |
| [[elements/icmperror|ICMPError]] | generates ICMP error packets | all | icmp [[packages/core|(core)]] |
| [[elements/icmppingencap|ICMPPingEncap]] | encapsulates packets in ICMP ping headers | all | icmp [[packages/core|(core)]] |
| [[elements/icmppingresponder|ICMPPingResponder]] | responds to ICMP echo requests | all | icmp [[packages/core|(core)]] |
| [[elements/icmppingsource|ICMPPingSource]] | periodically sends ICMP echo requests | all | icmp [[packages/core|(core)]] |
===== Network Address Translation =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/ftpportmapper|FTPPortMapper]] | manipulates [[elements/IPRewriter|IPRewriter]] for FTP | all | app [[packages/core|(core)]] |
| [[elements/ftpportmapper6|FTPPortMapper6]] | Translates FTP control commands. | all | [[packages/ip6_natpt|ip6_natpt]] |
| [[elements/icmppingrewriter|ICMPPingRewriter]] | rewrites ICMP echo requests and replies | all | icmp [[packages/core|(core)]] |
| [[elements/icmprewriter|ICMPRewriter]] | rewrites ICMP packets based on IP rewriter mappings | all | icmp [[packages/core|(core)]] |
| [[elements/ipaddrpairrewriter|IPAddrPairRewriter]] | rewrites IP packets' addresses by address pair | all | ip [[packages/core|(core)]] |
| [[elements/ipaddrrewriter|IPAddrRewriter]] | rewrites IP packets' addresses | all | ip [[packages/core|(core)]] |
| [[elements/iprewriter|IPRewriter]] | rewrites TCP/UDP packets' addresses and ports | all | tcpudp [[packages/core|(core)]] |
| [[elements/iprewriterpatterns|IPRewriterPatterns]] | specifies shared [[elements/IPRewriter|IPRewriter]] patterns | all | ip [[packages/core|(core)]] |
| [[elements/roundrobinipmapper|RoundRobinIPMapper]] | round-robin mapper for [[elements/IPRewriter|IPRewriter]] | all | ip [[packages/core|(core)]] |
| [[elements/sourceiphashmapper|SourceIPHashMapper]] | Source IP Hash mapper for [[elements/IPRewriter|IPRewriter]] | all | ip [[packages/core|(core)]] |
| [[elements/tcprewriter|TCPRewriter]] | rewrites TCP packets' addresses, ports, and sequence numbers | all | tcpudp [[packages/core|(core)]] |
===== TCP =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/checktcpheader|CheckTCPHeader]] | checks TCP header on TCP/IP packets | all | tcpudp [[packages/core|(core)]] |
| [[elements/fasttcpflows|FastTCPFlows]] | creates packets flows with static TCP/IP/Ethernet headers | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/rfc2507comp|RFC2507Comp]] | RFC2507 IPv4/TCP header compressor. | all | ip [[packages/core|(core)]] |
| [[elements/rfc2507decomp|RFC2507Decomp]] | RFC2507 IPv4/TCP header decompressor. | all | ip [[packages/core|(core)]] |
| [[elements/settcpchecksum|SetTCPChecksum]] | sets TCP packets' checksums | all | tcpudp [[packages/core|(core)]] |
| [[elements/tcpipsend|TCPIPSend]] | generates TCP/IP packets when requested | all | tcpudp [[packages/core|(core)]] |
===== UDP =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/checkudpheader|CheckUDPHeader]] | checks UDP header on UDP/IP packets | all | tcpudp [[packages/core|(core)]] |
| [[elements/dynamicudpipencap|DynamicUDPIPEncap]] | encapsulates packets in dynamic UDP/IP headers | all | tcpudp [[packages/core|(core)]] |
| [[elements/fastudpflows|FastUDPFlows]] | creates packets flows with static UDP/IP/Ethernet headers | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/fastudpsource|FastUDPSource]] | creates packets with static UDP/IP/Ethernet headers | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/fastudpsource.b|FastUDPSource.b]] | creates packets with static UDP/IP/Ethernet headers | bsdmodule | bsdmodule [[packages/core|(core)]] |
| [[elements/fastudpsourceip6|FastUDPSourceIP6]] | creates packets with static UDP/IP6/Ethernet headers | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/setudpchecksum|SetUDPChecksum]] | sets UDP packets' checksums | all | tcpudp [[packages/core|(core)]] |
| [[elements/udpipencap|UDPIPEncap]] | encapsulates packets in static UDP/IP headers | all | tcpudp [[packages/core|(core)]] |
===== Trace Manipulation =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/fromcapdump|FromCapDump]] | reads packets from a 'cap' output file | userlevel | analysis [[packages/core|(core)]] |
| [[elements/fromdagdump|FromDAGDump]] | reads packets from a DAG/ERF file | userlevel | analysis [[packages/core|(core)]] |
| [[elements/fromdump|FromDump]] | reads packets from a tcpdump file | userlevel, ns | userlevel [[packages/core|(core)]] |
| [[elements/fromipsummarydump|FromIPSummaryDump]] | reads packets from an IP summary dump file | userlevel | analysis [[packages/core|(core)]] |
| [[elements/fromnetflowsummarydump|FromNetFlowSummaryDump]] | reads packets from a NetFlow summary file | userlevel | analysis [[packages/core|(core)]] |
| [[elements/fromnlanrdump|FromNLANRDump]] | reads packets from an NLANR file | userlevel | analysis [[packages/core|(core)]] |
| [[elements/fromtcpdump|FromTcpdump]] | reads packets from an ASCII tcpdump output file | userlevel | analysis [[packages/core|(core)]] |
| [[elements/simpacketanalyzer|SimPacketAnalyzer]] | superclass for entering packet analyses in an ns2 trace | ns | ns [[packages/core|(core)]] |
| [[elements/todump|ToDump]] | writes packets to a tcpdump file | userlevel, ns | userlevel [[packages/core|(core)]] |
| [[elements/toipflowdumps|ToIPFlowDumps]] | creates separate trace files for each TCP/UDP flow | userlevel | analysis [[packages/core|(core)]] |
| [[elements/toipsummarydump|ToIPSummaryDump]] | writes packet summary information to an ASCII file | userlevel | analysis [[packages/core|(core)]] |
| [[elements/tosimtrace|ToSimTrace]] | adds trace entries to an ns2 trace file | ns | ns [[packages/core|(core)]] |
===== TCP/IP Measurement =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/aggregateip|AggregateIP]] | sets aggregate annotation based on IP packet field | userlevel | analysis [[packages/core|(core)]] |
| [[elements/aggregateipaddrpair|AggregateIPAddrPair]] | sets aggregate annotation based on IP source/destination address pair | userlevel | analysis [[packages/core|(core)]] |
| [[elements/aggregateipflows|AggregateIPFlows]] | sets aggregate annotation based on flow | all | analysis [[packages/core|(core)]] |
| [[elements/calculatetcplossevents|CalculateTCPLossEvents]] | analyzes TCP flows for loss events | userlevel | [[packages/models|models]] |
| [[elements/inferipaddrcolors|InferIPAddrColors]] | Infer a graph-coloring for IP addresses. | userlevel | [[packages/models|models]] |
| [[elements/ipaddrcolorpaint|IPAddrColorPaint]] | Sets paint annotations based on destination IP address color. | userlevel | [[packages/models|models]] |
| [[elements/ipratemonitor|IPRateMonitor]] | measures coming and going IP traffic rates | userlevel | ip [[packages/core|(core)]] |
| [[elements/multiq|MultiQ]] | calculates capacity information using EMG | userlevel | [[packages/models|models]] |
| [[elements/tcpcollector|TCPCollector]] | collects information about TCP flows | userlevel | [[packages/models|models]] |
| [[elements/tcpmystery|TCPMystery]] | analyzes TCP flows | userlevel | [[packages/models|models]] |
| [[elements/testipaddrcolors|TestIPAddrColors]] | tests an IP address coloring | userlevel | [[packages/models|models]] |
===== Aggregates =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/aggregatecounter|AggregateCounter]] | counts packets per aggregate annotation | userlevel | analysis [[packages/core|(core)]] |
| [[elements/aggregatefilter|AggregateFilter]] | filters packets based on aggregate annotation | userlevel | analysis [[packages/core|(core)]] |
| [[elements/aggregatefirst|AggregateFirst]] | lets through first packet per aggregate annotation | userlevel | analysis [[packages/core|(core)]] |
| [[elements/aggregatelast|AggregateLast]] | lets through last packet per aggregate annotation | userlevel | analysis [[packages/core|(core)]] |
| [[elements/aggregatelength|AggregateLength]] | sets aggregate annotation based on packet length | userlevel | analysis [[packages/core|(core)]] |
| [[elements/aggregatepacketcounter|AggregatePacketCounter]] | counts packets per packet number and aggregate annotation | userlevel | analysis [[packages/core|(core)]] |
| [[elements/aggregatepaint|AggregatePaint]] | sets aggregate annotation based on paint annotation | userlevel | analysis [[packages/core|(core)]] |
===== IPv6 =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/addresstranslator|AddressTranslator]] | translates IPv6/ICMPv6, TCP, and UDP packets' addresses and ports | all | ip6 [[packages/core|(core)]] |
| [[elements/checkip6header|CheckIP6Header]] | | all | ip6 [[packages/core|(core)]] |
| [[elements/decip6hlim|DecIP6HLIM]] | | all | ip6 [[packages/core|(core)]] |
| [[elements/getip6address|GetIP6Address]] | | all | ip6 [[packages/core|(core)]] |
| [[elements/icmp6error|ICMP6Error]] | | all | ip6 [[packages/core|(core)]] |
| [[elements/ip6fragmenter|IP6Fragmenter]] | | all | ip6 [[packages/core|(core)]] |
| [[elements/ip6mirror|IP6Mirror]] | swaps IP6 source and destination | all | ip6 [[packages/core|(core)]] |
| [[elements/ip6ndadvertiser|IP6NDAdvertiser]] | | all | ethernet [[packages/core|(core)]] |
| [[elements/ip6ndsolicitor|IP6NDSolicitor]] | | all | ethernet [[packages/core|(core)]] |
| [[elements/ip6print|IP6Print]] | pretty-prints IP6 packets | all | ip6 [[packages/core|(core)]] |
| [[elements/lookupip6route|LookupIP6Route]] | | all | ip6 [[packages/core|(core)]] |
| [[elements/markip6header|MarkIP6Header]] | | all | ip6 [[packages/core|(core)]] |
| [[elements/protocoltranslator46|ProtocolTranslator46]] | translate IP/ICMP, TCP, and UDP packets between IPv4 and IPv6 protocols | all | ip6 [[packages/core|(core)]] |
| [[elements/protocoltranslator64|ProtocolTranslator64]] | translate IP/ICMP, TCP, and UDP packets from the IPv6 to the IPv4 protocol | all | ip6 [[packages/core|(core)]] |
| [[elements/setip6address|SetIP6Address]] | | all | ip6 [[packages/core|(core)]] |
| [[elements/setip6dscp|SetIP6DSCP]] | sets IP6 packets' DSCP fields | all | ip6 [[packages/core|(core)]] |
===== IPsec =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/ipsecaes|IPsecAES]] | encrypt packet using DES-CBC | all | ipsec [[packages/core|(core)]] |
| [[elements/ipsecauthhmacsha1|IPsecAuthHMACSHA1]] | verify SHA1 authentication digest. | all | ipsec [[packages/core|(core)]] |
| [[elements/ipsecauthsha1|IPsecAuthSHA1]] | verify SHA1 authentication digest. | all | ipsec [[packages/core|(core)]] |
| [[elements/ipsecdes|IPsecDES]] | encrypt packet using DES-CBC | all | ipsec [[packages/core|(core)]] |
| [[elements/ipsecespencap|IPsecESPEncap]] | apply IPSec encapsulation | all | ipsec [[packages/core|(core)]] |
| [[elements/ipsecespunencap|IPsecESPUnencap]] | removes IPSec encapsulation | all | ipsec [[packages/core|(core)]] |
===== CRCs =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/checkcrc32|CheckCRC32]] | checks packet CRC32s | all | standard [[packages/core|(core)]] |
| [[elements/setcrc32|SetCRC32]] | calculates CRC32 and prepends to packet | all | standard [[packages/core|(core)]] |
===== Paint Annotations =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/checkpaint|CheckPaint]] | checks packets' paint annotation | all | standard [[packages/core|(core)]] |
| [[elements/paint|Paint]] | sets packet paint annotations | all | standard [[packages/core|(core)]] |
| [[elements/paintswitch|PaintSwitch]] | sends packet stream to output chosen per-packet | all | standard [[packages/core|(core)]] |
| [[elements/painttee|PaintTee]] | duplicates packets with given paint annotation | all | standard [[packages/core|(core)]] |
===== Annotations =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/dropbroadcasts|DropBroadcasts]] | drops link-level broadcast and multicast packets | all | standard [[packages/core|(core)]] |
| [[elements/setannobyte|SetAnnoByte]] | sets packet user annotations | all | standard [[packages/core|(core)]] |
| [[elements/setpackettype|SetPacketType]] | sets packet type annotation | all | standard [[packages/core|(core)]] |
===== Debugging =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/error|Error]] | always fails | all | standard [[packages/core|(core)]] |
| [[elements/print|Print]] | prints packet contents | all | standard [[packages/core|(core)]] |
| [[elements/printtxfeedback|PrintTXFeedback]] | | all | wifi [[packages/core|(core)]] |
| [[elements/printwifi|PrintWifi]] | | all | wifi [[packages/core|(core)]] |
===== Control =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/changeuid|ChangeUID]] | relinquish root privilege | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/chattersocket|ChatterSocket]] | reports chatter messages to connected sockets | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/controlsocket|ControlSocket]] | opens control sockets for other programs | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/drivermanager|DriverManager]] | a [[elements/Script|Script]] that manages driver stop events | all | standard [[packages/core|(core)]] |
| [[elements/kernelhandlerproxy|KernelHandlerProxy]] | proxies kernel module handlers at user level | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/message|Message]] | prints a message on configuration | all | standard [[packages/core|(core)]] |
| [[elements/pokehandlers|PokeHandlers]] | calls write handlers at specified times | all | standard [[packages/core|(core)]] |
| [[elements/progressbar|ProgressBar]] | prints a progress bar to standard error | userlevel | userlevel [[packages/core|(core)]] |
| [[elements/quitwatcher|QuitWatcher]] | stops router processing | all | standard [[packages/core|(core)]] |
| [[elements/randomseed|RandomSeed]] | sets random seed | all | test [[packages/core|(core)]] |
| [[elements/script|Script]] | script a Click router configuration | all | standard [[packages/core|(core)]] |
===== Regression Tests =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/bighashmaptest|BigHashMapTest]] | runs regression tests for BigHashMap | all | test [[packages/core|(core)]] |
| [[elements/biginttest|BigintTest]] | Test multiple-precision multiply and divide with some simple tests. | userlevel | test [[packages/core|(core)]] |
| [[elements/checkpacket|CheckPacket]] | check packets against a specification | all | test [[packages/core|(core)]] |
| [[elements/clptest|CLPTest]] | runs regression tests for CLP command line parser | userlevel | test [[packages/core|(core)]] |
| [[elements/comparepackets|ComparePackets]] | compare packets in pairs | all | test [[packages/core|(core)]] |
| [[elements/confparsetest|ConfParseTest]] | runs regression tests for configuration parsing | all | test [[packages/core|(core)]] |
| [[elements/errortest|ErrorTest]] | runs regression tests for error handling | all | test [[packages/core|(core)]] |
| [[elements/functiontest|FunctionTest]] | runs regression tests for other Click functions | all | test [[packages/core|(core)]] |
| [[elements/hashtabletest|HashTableTest]] | runs regression tests for HashTable | all | test [[packages/core|(core)]] |
| [[elements/listtest|ListTest]] | runs regression tests for List | all | test [[packages/core|(core)]] |
| [[elements/notifierdebug|NotifierDebug]] | useful for debugging notification | all | test [[packages/core|(core)]] |
| [[elements/packettest|PacketTest]] | runs regression tests for Packet | all | test [[packages/core|(core)]] |
| [[elements/queuethreadtest1|QueueThreadTest1]] | runs regression tests for Queue threading | userlevel | test [[packages/core|(core)]] |
| [[elements/queuethreadtest2|QueueThreadTest2]] | runs regression tests for Queue threading | userlevel | test [[packages/core|(core)]] |
| [[elements/queueyanktest|QueueYankTest]] | check packets against a specification | all | test [[packages/core|(core)]] |
| [[elements/schedordertest|SchedOrderTest]] | remembers scheduling order | all | test [[packages/core|(core)]] |
| [[elements/sorttest|SortTest]] | runs regression tests for click_qsort | all | test [[packages/core|(core)]] |
| [[elements/upstreamnotifier|UpstreamNotifier]] | passes packets unchanged. Has an upstream notifier. Generally used for testing upstream notification. | all | test [[packages/core|(core)]] |
| [[elements/vectortest|VectorTest]] | runs regression tests for Vector | all | test [[packages/core|(core)]] |
===== Grid =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/ackresponder|ACKResponder]] | Send positive acknowledgements to unicast data packets. | all | grid [[packages/core|(core)]] |
| [[elements/ackresponder2|ACKResponder2]] | Send positive acknowledgements to unicast data packets. | all | grid [[packages/core|(core)]] |
| [[elements/ackretrysender|ACKRetrySender]] | Resend packets until a positive acknowledgement is received. | all | grid [[packages/core|(core)]] |
| [[elements/ackretrysender2|ACKRetrySender2]] | Resend packets until a positive acknowledgement is received. | all | grid [[packages/core|(core)]] |
| [[elements/airoinfo|AiroInfo]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/bottleneckmetric|BottleneckMetric]] | | all | grid [[packages/core|(core)]] |
| [[elements/checkgridheader|CheckGridHeader]] | | all | grid [[packages/core|(core)]] |
| [[elements/dsdvroutetable|DSDVRouteTable]] | Run DSDV local routing protocol | all | grid [[packages/core|(core)]] |
| [[elements/dsrarptable|DSRArpTable]] | Maintains an ARP table for DSR. | all | grid [[packages/core|(core)]] |
| [[elements/dsrroutetable|DSRRouteTable]] | A DSR protocol implementation | all | grid [[packages/core|(core)]] |
| [[elements/e2elossmetric|E2ELossMetric]] | | all | grid [[packages/core|(core)]] |
| [[elements/estimaterouterregion|EstimateRouterRegion]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/etx2metric|ETX2Metric]] | | all | grid [[packages/core|(core)]] |
| [[elements/etxmetric|ETXMetric]] | | all | grid [[packages/core|(core)]] |
| [[elements/filterbygridhops|FilterByGridHops]] | | all | grid [[packages/core|(core)]] |
| [[elements/filterbyrange|FilterByRange]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/fixdstloc|FixDstLoc]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/fixsrcloc|FixSrcLoc]] | | all | grid [[packages/core|(core)]] |
| [[elements/floodinglocquerier|FloodingLocQuerier]] | Sets Grid Destination location by running a flooding query protocol | all | grid [[packages/core|(core)]] |
| [[elements/gridencap|GridEncap]] | Encapsulates packets in static Grid data encapsulation header (GRID_NBR_ENCAP), including ethernet, Grid, and grid data encap headers. | all | grid [[packages/core|(core)]] |
| [[elements/gridgatewayinfo|GridGatewayInfo]] | Manage grid node gateway info. | all | grid [[packages/core|(core)]] |
| [[elements/gridheaderinfo|GridHeaderInfo]] | Provide information about Grid header version, header sizes, and offsets for the current router exectuable. | all | grid [[packages/core|(core)]] |
| [[elements/gridlocationinfo|GridLocationInfo]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/gridlocationinfo2|GridLocationInfo2]] | | all | grid [[packages/core|(core)]] |
| [[elements/gridlogger|GridLogger]] | Log Grid-related events. | userlevel | grid [[packages/core|(core)]] |
| [[elements/gridprobehandler|GridProbeHandler]] | Handles Grid route probes, producing probe replies | userlevel | grid [[packages/core|(core)]] |
| [[elements/gridprobereplyreceiver|GridProbeReplyReceiver]] | Receives Grid route probe replies | userlevel | grid [[packages/core|(core)]] |
| [[elements/gridprobesender|GridProbeSender]] | Produces a Grid route probe packet. | userlevel | grid [[packages/core|(core)]] |
| [[elements/gridroutetable|GridRouteTable]] | Run DSDV-like local routing protocol | userlevel | grid [[packages/core|(core)]] |
| [[elements/gridtxerror|GridTxError]] | Reports packet transmission error to Grid logging infrastructure | all | grid [[packages/core|(core)]] |
| [[elements/hopcountmetric|HopcountMetric]] | | all | grid [[packages/core|(core)]] |
| [[elements/incrementseqno|IncrementSeqNo]] | | all | grid [[packages/core|(core)]] |
| [[elements/linkstat|LinkStat]] | Track broadcast loss rates. | all | grid [[packages/core|(core)]] |
| [[elements/linktester|LinkTester]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/linktestreceiver|LinkTestReceiver]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/linktracker|LinkTracker]] | | userlevel, ns | grid [[packages/core|(core)]] |
| [[elements/lirmetric|LIRMetric]] | | all | grid [[packages/core|(core)]] |
| [[elements/locationtable|LocationTable]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/locfromfile|LocFromFile]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/locqueryresponder|LocQueryResponder]] | generates responses to Grid Location queries | all | grid [[packages/core|(core)]] |
| [[elements/lookupgeographicgridroute|LookupGeographicGridRoute]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/lookuplocalgridroute|LookupLocalGridRoute]] | | all | grid [[packages/core|(core)]] |
| [[elements/movementsimulator|MovementSimulator]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/packetlogger|PacketLogger]] | Log packets for later dumping/analysis. | all | grid [[packages/core|(core)]] |
| [[elements/packetlogger2|PacketLogger2]] | Log packets for later dumping/analysis. | all | grid [[packages/core|(core)]] |
| [[elements/pep|PEP]] | runs the Grid Position Estimation Protocol | userlevel | grid [[packages/core|(core)]] |
| [[elements/pingpong|PingPong]] | | all | grid [[packages/core|(core)]] |
| [[elements/printgrid|PrintGrid]] | | all | grid [[packages/core|(core)]] |
| [[elements/radiosim|RadioSim]] | simulates reachability and broadcast in an 802.11-like radio network | userlevel | grid [[packages/core|(core)]] |
| [[elements/sendgridhello|SendGridHello]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/sendgridlrhello|SendGridLRHello]] | | userlevel | grid [[packages/core|(core)]] |
| [[elements/setgridchecksum|SetGridChecksum]] | | all | grid [[packages/core|(core)]] |
| [[elements/simplelocquerier|SimpleLocQuerier]] | Sets Grid destination location by looking in a static table | userlevel | grid [[packages/core|(core)]] |
| [[elements/thresholdmetric|ThresholdMetric]] | | all | grid [[packages/core|(core)]] |
| [[elements/updategridroutes|UpdateGridRoutes]] | Run DSDV-like local routing protocol. | userlevel | grid [[packages/core|(core)]] |
| [[elements/yarvismetric|YarvisMetric]] | | all | grid [[packages/core|(core)]] |
===== Wifi =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/associationrequester|AssociationRequester]] | Sends 802.11 association requests when poked. | all | wifi [[packages/core|(core)]] |
| [[elements/associationresponder|AssociationResponder]] | Respond to 802.11 association requests. | all | wifi [[packages/core|(core)]] |
| [[elements/athdescdecap|AthdescDecap]] | Pulls the click_wifi_athdesc header from a packet and stores it in Packet::anno() | all | wifi [[packages/core|(core)]] |
| [[elements/athdescencap|AthdescEncap]] | Pushes the click_wifi_radiotap header on a packet based on information in Packet::anno() | all | wifi [[packages/core|(core)]] |
| [[elements/autoratefallback|AutoRateFallback]] | ARF wireless bit-rate selection algorithm | all | wifi [[packages/core|(core)]] |
| [[elements/availablerates|AvailableRates]] | Tracks bit-rate capabilities of other stations. | all | wifi [[packages/core|(core)]] |
| [[elements/beaconscanner|BeaconScanner]] | Listens for 802.11 beacons and sends probe requests. | all | wifi [[packages/core|(core)]] |
| [[elements/beaconsource|BeaconSource]] | Send 802.11 beacons. | all | wifi [[packages/core|(core)]] |
| [[elements/beacontracker|BeaconTracker]] | Tracks beacon from an Access Point | all | wifi [[packages/core|(core)]] |
| [[elements/ethercount|EtherCount]] | Track each ethernet source. | all | wifi [[packages/core|(core)]] |
| [[elements/extradecap|ExtraDecap]] | Pulls the click_wifi_extra header from a packet and stores it in Packet::anno() | all | wifi [[packages/core|(core)]] |
| [[elements/extraencap|ExtraEncap]] | Pushes the click_wifi_extra header on a packet based on information in Packet::anno() | all | wifi [[packages/core|(core)]] |
| [[elements/filterfailures|FilterFailures]] | Filters unicast packets that failed to be acknowledged | all | wifi [[packages/core|(core)]] |
| [[elements/filterphyerr|FilterPhyErr]] | Filters packets that failed the 802.11 CRC check. | all | wifi [[packages/core|(core)]] |
| [[elements/filtertx|FilterTX]] | Filter out wireless transmission feedback packets | all | wifi [[packages/core|(core)]] |
| [[elements/linktable|LinkTable]] | Keeps a Link state database and calculates Weighted Shortest Path for other elements | all | wifi [[packages/core|(core)]] |
| [[elements/madwifirate|MadwifiRate]] | Madwifi wireless bit-rate selection algorithm | all | wifi [[packages/core|(core)]] |
| [[elements/openauthrequeser|OpenAuthRequeser]] | Sends 802.11 open authentication requests when poked. | all | wifi [[packages/core|(core)]] |
| [[elements/openauthresponder|OpenAuthResponder]] | Respond to 802.11 open authentication requests. | all | wifi [[packages/core|(core)]] |
| [[elements/packetstore|PacketStore]] | Log transmit feedback stats for later analysis. | all | wifi [[packages/core|(core)]] |
| [[elements/prism2decap|Prism2Decap]] | Pulls the prism2 header from a packet and store information in Packet::anno() | all | wifi [[packages/core|(core)]] |
| [[elements/prism2encap|Prism2Encap]] | Pushes a Prism2 header onto a packet based on information stored in Packet::anno() | all | wifi [[packages/core|(core)]] |
| [[elements/proberesponder|ProbeResponder]] | Respond to 802.11 probe packets. | all | wifi [[packages/core|(core)]] |
| [[elements/probetxrate|ProbeTXRate]] | Madwifi wireless bit-rate selection algorithm | all | wifi [[packages/core|(core)]] |
| [[elements/pushanno|PushAnno]] | Pushes Packet::anno() onto front of packet. | all | wifi [[packages/core|(core)]] |
| [[elements/radiotapdecap|RadiotapDecap]] | Pulls the click_wifi_radiotap header from a packet and stores it in Packet::anno() | all | wifi [[packages/core|(core)]] |
| [[elements/radiotapencap|RadiotapEncap]] | Pushes the click_wifi_radiotap header on a packet based on information in Packet::anno() | all | wifi [[packages/core|(core)]] |
| [[elements/readanno|ReadAnno]] | Pulls annotation from packet and stores it in Packet::anno() | all | wifi [[packages/core|(core)]] |
| [[elements/rxstats|RXStats]] | Track RSSI for each ethernet source. | all | wifi [[packages/core|(core)]] |
| [[elements/setrts|SetRTS]] | Enable/disable RTS/CTS for a packet | all | wifi [[packages/core|(core)]] |
| [[elements/settxpower|SetTXPower]] | Sets the transmit power for a packet. | all | wifi [[packages/core|(core)]] |
| [[elements/settxrate|SetTXRate]] | Sets the bit-rate for a packet. | all | wifi [[packages/core|(core)]] |
| [[elements/wepdecap|WepDecap]] | Turns 802.11 packets into ethernet packets | all | wifi [[packages/core|(core)]] |
| [[elements/wepencap|WepEncap]] | Turns 802.11 packets into ethernet packets | all | wifi [[packages/core|(core)]] |
| [[elements/wifidecap|WifiDecap]] | Turns 802.11 packets into ethernet packets. | all | wifi [[packages/core|(core)]] |
| [[elements/wifidefrag|WifiDefrag]] | Reassembles 802.11 fragments. | all | wifi [[packages/core|(core)]] |
| [[elements/wifidupefilter|WifiDupeFilter]] | Filters out duplicate 802.11 packets based on their sequence number. | all | wifi [[packages/core|(core)]] |
| [[elements/wifiencap|WifiEncap]] | Converts ethernet packets to 802.11 packets with a LLC header. | all | wifi [[packages/core|(core)]] |
| [[elements/wififragment|WifiFragment]] | Reassembles 802.11 fragments. | all | wifi [[packages/core|(core)]] |
| [[elements/wifiseq|WifiSeq]] | Sets the 802.11 sequence number in a packet. | all | wifi [[packages/core|(core)]] |
| [[elements/wirelessinfo|WirelessInfo]] | Tracks 802.11 configuration information (ssid, etc). | all | wifi [[packages/core|(core)]] |
===== Wireless AccessPoint =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/associationresponder|AssociationResponder]] | Respond to 802.11 association requests. | all | wifi [[packages/core|(core)]] |
| [[elements/availablerates|AvailableRates]] | Tracks bit-rate capabilities of other stations. | all | wifi [[packages/core|(core)]] |
| [[elements/beaconsource|BeaconSource]] | Send 802.11 beacons. | all | wifi [[packages/core|(core)]] |
| [[elements/openauthresponder|OpenAuthResponder]] | Respond to 802.11 open authentication requests. | all | wifi [[packages/core|(core)]] |
| [[elements/proberesponder|ProbeResponder]] | Respond to 802.11 probe packets. | all | wifi [[packages/core|(core)]] |
| [[elements/wirelessinfo|WirelessInfo]] | Tracks 802.11 configuration information (ssid, etc). | all | wifi [[packages/core|(core)]] |
===== Wireless Station =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/associationrequester|AssociationRequester]] | Sends 802.11 association requests when poked. | all | wifi [[packages/core|(core)]] |
| [[elements/availablerates|AvailableRates]] | Tracks bit-rate capabilities of other stations. | all | wifi [[packages/core|(core)]] |
| [[elements/beaconscanner|BeaconScanner]] | Listens for 802.11 beacons and sends probe requests. | all | wifi [[packages/core|(core)]] |
| [[elements/beacontracker|BeaconTracker]] | Tracks beacon from an Access Point | all | wifi [[packages/core|(core)]] |
| [[elements/openauthrequeser|OpenAuthRequeser]] | Sends 802.11 open authentication requests when poked. | all | wifi [[packages/core|(core)]] |
| [[elements/wirelessinfo|WirelessInfo]] | Tracks 802.11 configuration information (ssid, etc). | all | wifi [[packages/core|(core)]] |
===== DHCP =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/checkdhcpmsg|CheckDHCPMsg]] | Checks to see if an incoming packet is, in fact, a valid DHCP Message. | all | [[packages/dhcp|dhcp]] |
| [[elements/dhcpclassifier|DHCPClassifier]] | Classifies dhcp packets by DHCP_MESSAGE_TYPE | all | [[packages/dhcp|dhcp]] |
| [[elements/dhcpclient|DHCPClient]] | The core of the DHCP Client. The state machine resides in this element. | all | [[packages/dhcp|dhcp]] |
| [[elements/dhcpicmpencap|DHCPICMPEncap]] | change IP addresses of ICMP packet | all | [[packages/dhcp|dhcp]] |
| [[elements/dhcpleasehash|DHCPLeaseHash]] | The core of the DHCP Server. Responsible of keeping track of free and allocated leases | all | [[packages/dhcp|dhcp]] |
| [[elements/dhcpleasepool|DHCPLeasePool]] | The core of the DHCP Server. Responsible of keeping track of free and allocated leases | all | [[packages/dhcp|dhcp]] |
| [[elements/dhcpserverackornak|DHCPServerACKorNAK]] | Handles incoming DHCP_REQUEST. Sends out DHCP_ACK or DHCP_NAK accordingly. | all | [[packages/dhcp|dhcp]] |
| [[elements/dhcpserveroffer|DHCPServerOffer]] | Handles incoming DHCP_DISCOVER. Sends out DHCP_OFFER if appropriate. | all | [[packages/dhcp|dhcp]] |
| [[elements/dhcpserverrelease|DHCPServerRelease]] | handles DHCP release address messages | all | [[packages/dhcp|dhcp]] |
===== GRE =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/checkgreheader|CheckGREHeader]] | checks GRE header | all | [[packages/gre|gre]] |
| [[elements/greencap|GREEncap]] | encapsulates packets in static GRE header | all | [[packages/gre|gre]] |
| [[elements/stripgreheader|StripGREHeader]] | strips outermost GRE header | all | [[packages/gre|gre]] |
===== PPP =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/ipcp|IPCP]] | PPP IP Control Protocol (IPCP) Element. | all | [[packages/ppp|ppp]] |
| [[elements/lcp|LCP]] | PPP Link Control Protocol (LCP) Element. | all | [[packages/ppp|ppp]] |
| [[elements/pppcontrolprotocol|PPPControlProtocol]] | virtual class for PPP control protocols | all | [[packages/ppp|ppp]] |
| [[elements/pppencap|PPPEncap]] | encapsulates packets in static PPP header | all | [[packages/ppp|ppp]] |
===== IP =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/icmp6checksum|ICMP6Checksum]] | computes ICMP6 messages checksum | all | [[packages/multicast6|multicast6]] |
===== Mazu Logging =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/netflowexport|NetflowExport]] | generates Cisco NetFlow and IETF IPFIX records | userlevel | [[packages/netflow|netflow]] |
| [[elements/netflowprint|NetflowPrint]] | prints human-readable summary of Cisco NetFlow packets | all | [[packages/netflow|netflow]] |
| [[elements/netflowtemplatecache|NetflowTemplateCache]] | caches Netflow V9/IPFIX template records | all | [[packages/netflow|netflow]] |
===== SNMP =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/snmpoidinfo|SNMPOidInfo]] | assigns names to SNMP object identifiers | all | [[packages/snmp|snmp]] |
| [[elements/snmptrapsource|SNMPTrapSource]] | generates SNMP traps on demand | all | [[packages/snmp|snmp]] |
| [[elements/snmpvariableinfo|SNMPVariableInfo]] | assigns variable semantics to SNMP OIDs | all | [[packages/snmp|snmp]] |
===== devices =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/umlswitch|UMLSwitch]] | Connects to a UML switch daemon | userlevel | userlevel [[packages/core|(core)]] |
===== ipsecroute =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/radixipseclookup|RadixIPsecLookup]] | IP lookup using a radix trie | all | ipsec [[packages/core|(core)]] |
===== Packet processing for security =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/maptrw|MapTRW]] | This is a packet processor for approximate TRW | all | [[packages/security|security]] |
===== Thread Management =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/balancedthreadsched|BalancedThreadSched]] | bin packing scheduler | all | [[packages/threads|threads]] |
| [[elements/spinlockacquire|SpinlockAcquire]] | acquires spinlock | all | [[packages/threads|threads]] |
| [[elements/spinlockinfo|SpinlockInfo]] | specifies names of spinlocks | all | [[packages/threads|threads]] |
| [[elements/spinlockrelease|SpinlockRelease]] | releases spinlock | all | [[packages/threads|threads]] |
| [[elements/staticthreadsched|StaticThreadSched]] | specifies element and thread scheduling parameters | all | [[packages/threads|threads]] |
===== smpclick =====
^ Name ^ Function ^ Drivers ^ Package ^
| [[elements/cpuqueue|CPUQueue]] | stores packets in FIFO queues. | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/cpuswitch|CPUSwitch]] | classifies packets by cpu | linuxmodule | linuxmodule [[packages/core|(core)]] |
| [[elements/lookupiproutemp|LookupIPRouteMP]] | simple static IP routing table | linuxmodule | ip [[packages/core|(core)]] |
| [[elements/msqueue|MSQueue]] | stores packets in a FIFO queue | all | standard [[packages/core|(core)]] |
| [[elements/threadmonitor|ThreadMonitor]] | print out thread status | linuxmodule | linuxmodule [[packages/core|(core)]] |
===== COMMENTS =====