-
Notifications
You must be signed in to change notification settings - Fork 82
Elements
This page lists Click element classes that have manual page documentation.
By function: Basic Sources and Sinks - Basic Classification and Selection - Basic Packet Transfer - Counters - Context Sybsystem - Flow Subsystem - Timestamps - Basic Packet Modification - Packet Storage - Active Queue Management - Packet Scheduling - Traffic Shaping - Information Elements - Network Devices - Host and Socket Communication - Ethernet - ARP - IPv4 - IPv4 Routing - ICMP - Network Address Translation - TCP - UDP - GTP - Applications - Trace Manipulation - TCP/IP Measurement - Aggregates - IPv6 - IPsec - CRCs - Paint Annotations - Research elements - Annotations - Debugging - Control - Thread Management - Tunneling - Regression Tests - Grid - Paint2 - Wifi - Wireless AccessPoint - Wireless Station - Miscellaneous
- Discard — drops all packets
- DiscardNoFree — drops all packets, but does not free any of them.
- DiscardNoFreeBuffer — drops all packets, but does not free their buffers. The packet descriptor (Packet object) is recycled though.
- Idle — discards packets
- InfiniteSource — generates packets whenever scheduled
- RandomSource — generates random packets whenever scheduled
- RatedSource — generates packets at specified rate
- SimpleIdle — discards packets
- TimedSink — periodically pulls and drops a packet
- TimedSource — periodically generates a packet
- Bypass — sends packet stream through optional bypass with zero overhead
- CheckLength — drops large packets
- Classifier — classifies packets by contents
- FlowMinLoadSwitch — splits flows across its ports selecting the less-loaded one
- GroupRegexClassifier — classifies packets by contents
- HashSwitch — classifies packets by hash of contents
- InputSwitch — accepts packet stream from settable input
- IPRRSwitch — splits flows across its ports in a round-robin fashion
- RandomSample — samples packets with some probability
- RandomSwitch — sends packets to random outputs
- RegexClassifier — classifies packets by contents
- RoundRobinSwitch — sends packets to round-robin outputs
- StaticSwitch — sends packet stream to fixed output
- StrideSwitch — sends packets to stride-scheduled outputs
- StringClassifier — classifies packets by contents
- StringMatcher — Matches a packet based on a set of strings
- Suppressor — passes packets unchanged, optionally dropping some input ports
- Switch — sends packet stream to settable output
- Hub — duplicates packets like a hub
- Null — null element: passes packets unchanged
- Null1 — copy of Null
- PullNull — pull-only null element
- PushNull — push-only null element
- Tee — duplicates packets
- AverageBatchCounter — keep average statistics about batching since last reset and last tick
- AverageCounter — measures historical packet count and rate
- AverageCounterIMP — measures historical packet count and rate, per-thread version
- AverageCounterMP — measures historical packet count and rate, atomic version
- BatchStats — keep statistics about batching
- BurstStats — keep statistics about bursts, defined as the number of packets from the same flow following each others
- Counter — measures packet count and rate
- CounterFile — measures packet count and writes it to file
- CounterMP
- CycleCountAccum — collects differences in cycle counters
- MultiCounter — measures packet count and rate for multiple inputs
- PacketMemStats — keep statistics about packet memory
- RoundTripCycleCount — measures round trip cycles on a push or pull path
- SetCycleCount — stores cycle count in annotation
- CTXDispatcher
- CTXIPRoute — IP routing table using the flow system
- HTTPIn — entry point of an HTTP path in the stack of the middlebox
- HTTPOut — exit point of an HTTP path in the stack of the middlebox
- IPIn — entry point of an IP path in the stack of the middlebox
- IPOut — exit point of an IP path in the stack of the middlebox
- MidStat — Count the number of bytes and packets in sessions.
- SimpleTCPReorder — Reorders TCP packets for the ctx subsystem
- SimpleTCPRetransmitter — Retransmit TCP packets for the ctx subsystem
- TCPClientAck — ACKs TCP packet, for the CTX subsystem.
- TCPIn — entry point of a TCP path in the stack of the middlebox
- TCPOut — exit point of a TCP path in the stack of the middlebox
- UDPOut — entry point of an IP path in the stack of the middlebox
- WordMatcher — Remove/mask word in payload.
- ConsistencyCheck — Check flow consistency
- CrossRSS — Simulator for CrossRSS. See the CoNEXT Poster.
- FlowAcquire — Acquire one flow reference count the first time a flow passes by
- FlowCounter — Counts the number of flows and packets per flow
- FlowHyperScan — Flow-based IDS using the HyperScan library
- FlowIPLoadBalancer — TCP & UDP load-balancer, without SNAT
- FlowIPLoadBalancerReverse — Reverse side for FlowIPLoadBalancerReverse.
- FlowIPManager — FCB packet classifier - cuckoo shared-by-all-threads
- FlowIPManager_DPDK — FCB packet classifier - cuckoo per-thread
- FlowIPManagerMP — FCB packet classifier, cuckoo thread-safe implementation of DPDK.
- FlowL2LoadBalancer — TCP & UDP load-balancer, without SNAT
- FlowLock — Flock the downards path per-flow, so packets of the same flow cannot go further at the same time.
- FlowPaint — sets packet FlowPaint annotations
- FlowPrint — Displays information about the FCB stack
- FlowRateLimiter — Counts the number of packets per flow and let packet through only if it has at least N packets.
- FlowSwitch — Port load-balancer
- IPLoadBalancer — TCP&UDP load-balancer, without SNAT
- L2LoadBalancer — Stateless L2 load-balancer
- SFMaker — Delay packets up to DELAY in the hope that bursts can be merged. Then sends packets by (eventually) merged bursts, reordered by flow priority.
- StoreFlowID — Store a flow identifier in each packet
- TCPReorder — Reorders TCP packets. Compatible with the flow subsystem.
- AdjustTimestamp — adjust the time in the packet's timestamp annotation
- CheckNumberPacket
- NumberPacket
- RecordTimestamp — Record timestamp in memory
- SetTimestamp — store the time in the packet's timestamp annotation
- SetTimestampDelta — replace packet timestamps with deltas
- StoreTimestamp — store packet timestamps in packet data
- StoreUDPTimeSeqRecord
- TimeFilter — filter packets by timestamp
- TimeRange — monitor range of packet timestamps
- TimeSortedSched — merge sorted packet streams by timestamp
- TimestampAccum — collects differences in timestamps
- TimestampDiff — Compute the RTT of packets marked with RecordTimestamp
- Align — aligns packet data
- Clipboard — copies data from one packet to another
- FlowStrip — FlowStrips bytes from front of packets
- FlowUnstrip — FlowUnstrips bytes from front of packets
- MoveData — changes packet data
- Pad — extend packet length
- RandomBitErrors — changes packet data with some probability
- Reframe — reframes a fragmented stream of packets
- Resize — adjust packet length.
- Search — Strip the head of the packet up to pattern to be found in the packet content.
- StoreAnno — changes packet data
- StoreData — changes packet data
- Strip — strips bytes from front of packets
- StripToNetworkHeader — strips everything preceding network header
- Truncate — limit packet length
- TruncateIPPayload — limit payload length
- Unstrip — unstrips bytes from front of packets
- UnstripAnno — Unstrip the number of bytes specified by an annotation from front of packets
- FrontDropQueue — stores packets in drop-from-front FIFO queue
- MixedQueue — stores packets in a FIFO/LIFO queue
- NotifierQueue — stores packets in a FIFO queue
- Pipeliner — Full-push Queue
- Queue — stores packets in a FIFO queue
- QuickNoteQueue — stores packets in a FIFO queue
- SimpleQueue — stores packets in a FIFO queue
- ThreadSafeQueue — stores packets in a FIFO queue
- AdaptiveRED — drops packets according to Adaptive RED
- CoDel — drops packets according to CoDel
- RED — drops packets according to RED
- DRRSched — pulls from inputs with deficit round robin scheduling
- PrioSched — pulls from priority-scheduled inputs
- PullSwitch — forwards pull requests to settable input
- RoundRobinMultiSched — pulls from round-robin inputs, a given amount of times each input
- RoundRobinSched — pulls from round-robin inputs
- RoundRobinUnqueue — pull-to-push converter
- SimplePrioSched — pulls from priority-scheduled inputs
- SimplePullSwitch — forwards pull requests to settable input, without notification
- SimpleRoundRobinSched — pulls from round-robin inputs
- StaticPullSwitch — forwards pull requests to fixed input
- StrideSched — pulls from stride-scheduled inputs
- BandwidthMeter — classifies packet stream by arrival rate
- BandwidthRatedSplitter — splits flow of packets at specified bandwidth rate
- BandwidthRatedUnqueue — pull-to-push converter
- BandwidthShaper — shapes traffic to maximum rate (bytes/s)
- Block — drops packets with high rate
- Burster — pull-to-push converter
- CompareBlock — drops packets out of rate range
- DelayShaper — shapes traffic to meet delay requirements
- DelayUnqueue — delay-inducing pull-to-push converter
- LinkUnqueue — link emulator
- Meter — classifies packet stream by rate (pkt/s)
- RatedSplitter — splits flow of packets at specified rate
- RatedUnqueue — pull-to-push converter
- Shaper — shapes traffic to maximum rate (pkt/s)
- TimedUnqueue — pull-to-push converter
- Unqueue — pull-to-push converter
- Unqueue2 (deprecated) — pull-to-push converter
- AddressInfo — specifies address information
- AlignmentInfo — specifies alignment information
- AnnotationInfo — Define names for packet annotations.
- ClickyInfo — stores information for the Clicky GUI
- FlowInfo — specifies flow codes
- PortInfo — stores named TCP/UDP port information
- ScheduleInfo — specifies scheduling parameters
- ScheduleLinux — returns to Linux scheduler
- WirelessInfo — Tracks 802.11 configuration information (ssid, etc).
- DPDKInfo — Set DPDK global parameters.
- FromDevice — reads packets from network device (Linux kernel)
- FromDevice.u — reads packets from network device (user-level)
- FromDPDKDevice — reads packets from network device using DPDK (user-level)
- FromDPDKRing — reads packets from a circular ring buffer using DPDK (user-level)
- FromNetmapDevice
- FromSimDevice.u — reads packets from a simulator device
- FromUserDevice — Emit packets written to a character device.
- PollDevice — polls packets from network device (kernel)
- ToDevice — sends packets to network device (Linux kernel)
- ToDevice.u — sends packets to network device (user-level)
- ToDPDKDevice — sends packets to network device using Intel's DPDK (user-level)
- ToDPDKRing — sends packets to a circular ring buffer using DPDK (user-level).
- ToSimDevice.u — sends packets to simulated network device
- ToUserDevice — Pass packets to user-level programs via a character device.
- FromHost — reads packets from Linux
- FromHost.u — interface to /dev/net/tun or ethertap (user-level)
- FromRawSocket — reads raw IP packets from safe raw socket (user-level)
- FromSocket — reads data from socket (user-level)
- IPFlowRawSockets — creates separate sockets for each TCP/UDP flow
- KernelFilter — block kernel from handling packets
- KernelTap — interface to /dev/tap or ethertap (user-level)
- KernelTun — interface to /dev/tun or ethertap (user-level)
- McastSocket — a multicast UDP socket transport (user-level)
- MonitoringReportSocket — a socket transport (user-level)
- RawSocket — transports raw IP packets via safe raw sockets (user-level)
- Socket — a socket transport (user-level)
- ToHost — sends packets to Linux
- ToHost.u — sends packets to Linux via Universal TUN/TAP device.
- ToHostSniffers — sends packets to Linux packet sniffers
- ToNetmapDevice
- ToRawSocket — sends IP packets through a safe raw socket (user-level)
- ToSocket — sends data to socket (user-level)
- UMLSwitch — Connects to a UML switch daemon
- EnsureEther — ensures that IP packets are Ethernet encapsulated
- EtherEncap — encapsulates packets in Ethernet header
- EtherMirror — swaps Ethernet source and destination
- EtherPauseSource — creates and emits Ethernet 802.3x pause frames
- EtherRewrite — rewrite source and destination Ethernet address
- EtherSpanTree — 802.1d Ethernet spanning tree implementation
- EtherSwitch — learning, forwarding Ethernet switch
- EtherVLANEncap — encapsulates packets in 802.1Q VLAN Ethernet header
- GetEtherAddress — stores an ethernet address from a packet into an annotation.
- HostEtherFilter — drops Ethernet packets sent to other machines
- ListenEtherSwitch — learning, forwarding Ethernet switch with listen port
- SetEtherAddress — sets ethernet address annotations
- SetVLANAnno — sets VLAN annotation
- StoreEtherAddress — stores Ethernet address in packet
- StripEtherVLANHeader — strips 802.1Q VLAN Ethernet header
- VLANDecap — strip VLAN information from Ethernet packets
- VLANEncap — add VLAN information to Ethernet packets
- ARPAdvertiser — periodically generates ARP replies using information from an ARP table
- ARPFaker — periodically generates an ARP reply
- ARPPrint — pretty-prints ARP packets a la tcpdump
- ARPQuerier — encapsulates IP packets in Ethernet headers found via ARP
- ARPResponder — generates responses to ARP queries
- ARPTable — stores IP-to-Ethernet mappings
- CheckARPHeader — checks ARP header
- AnonymizeIPAddr — anonymizes top-level IP addresses in passing packets
- CheckIPHeader — checks IP header
- CheckIPHeader2 — checks IP header, no checksum
- DecIPTTL — decrements IP time-to-live, drops dead packets
- EraseIPPayload — erases IP packet payload
- FixIPSrc — sets IP source field if requested by annotation
- FlowIPOutputCombo — output combo for IP routing
- ForceIP — Fixes fields to make packets into legal IP packets.
- GetIPAddress — sets destination IP address annotation from packet data
- IP6Encap — encapsulates packets in static IP6 header
- IPClassifier — classifies IP packets by contents
- IPEncap — encapsulates packets in static IP header
- IPFilter — filters IP packets by contents
- IPFragmenter — fragments large IP packets
- IPGWOptions — processes router IP options
- IPInputCombo — input combo for IP routing
- IPMirror — swaps IP source and destination
- IPNameInfo — stores name information about IP packets
- IPOutputCombo — output combo for IP routing
- IPPrint — pretty-prints IP packets
- IPReassembler — Reassembles fragmented IP packets
- IPRewriterMap — element maps and rewrite IPs to a subnet
- IPsecEncap — encapsulates packets in static IP header
- MarkIPCE — sets IP packets' ECN field to Congestion Experienced
- MarkIPHeader — sets IP header annotation
- MarkMACHeader — sets MAC header annotation
- ResetIPChecksum — sets IP packets' checksums
- SetIPAddress — sets destination IP address annotations
- SetIPChecksum — sets IP packets' checksums
- SetIPDSCP — sets IP packets' DSCP fields
- SetIPECN — sets IP packets' ECN fields
- SetRandIPAddress — sets destination IP address annotations randomly
- StoreIPAddress — stores IP address in packet
- StripIPHeader — strips outermost IP header
- StripTransportHeader — strips outermost IP header
- UnstripDSRHeader — restores DSR Header
- UnstripIPHeader — restores outermost IP header
- UnstripTransportHeader — restores outermost transport header
- DirectIPLookup — IP routing lookup using direct-indexed tables
- IPRouteTable — IP routing table superclass
- IPsecRouteTable — IP routing table superclass
- LinearIPLookup — simple IP routing table
- LinuxIPLookup — interface to Linux's routing table
- RadixIPLookup — IP lookup using a radix trie
- RangeIPLookup — IP routing lookup through binary search in a very compact table
- RIPSend — periodically generates specified RIP II packet
- SortedIPLookup (deprecated) — simple IP routing table
- StaticIPLookup — simple static IP routing table
- CheckICMPHeader — checks ICMP header on ICMP packets
- ForceICMP — sets ICMP checksum
- ICMPError — generates ICMP error packets
- ICMPIPEncap — encapsulates packets in ICMP/IP headers
- ICMPPingEncap — encapsulates packets in ICMP ping headers
- ICMPPingResponder — responds to ICMP echo requests
- ICMPPingSource — periodically sends ICMP echo requests
- FTPPortMapper — manipulates IPRewriter for FTP
- ICMPPingRewriter — rewrites ICMP echo requests and replies
- ICMPRewriter — rewrites ICMP packets based on IP rewriter mappings
- IPAddrPairRewriter — rewrites IP packets' addresses by address pair
- IPAddrRewriter — rewrites IP packets' addresses
- IPRewriter — rewrites TCP/UDP packets' addresses and ports
- IPRewriterPatterns — specifies shared IPRewriter patterns
- RoundRobinIPMapper — round-robin mapper for IPRewriter
- Shifter — Shifts IP and ports.
- SourceIPHashMapper — Source IP Hash mapper for IPRewriter
- TCPRewriter — rewrites TCP packets' addresses, ports, and sequence numbers
- ThreadIPMapper — thread-based mapper for IPRewriter
- UDPRewriter — rewrites TCP/UDP packets' addresses and ports
- BufferConverter — converts TCP packets to/from buffers through handlers
- CheckTCPHeader — checks TCP header on TCP/IP packets
- CopyTCPSeq — sets TCP sequence number
- FastTCPFlows — creates packets flows with static TCP/IP/Ethernet headers
- ForceTCP — sets TCP packet fields
- RFC2507Comp — RFC2507 IPv4/TCP header compressor.
- RFC2507Decomp — RFC2507 IPv4/TCP header decompressor.
- SetTCPChecksum — sets TCP packets' checksums
- SYNFlood — Generates a SYNflood
- TCPAck — acknowledge TCP packets
- TCPBuffer — buffer TCP packets
- TCPConn — manage tcp connections
- TCPDemux — demultiplexes TCP flows
- TCPFragmenter — fragments TCP packets to a maximum TCP payload size
- TCPIPSend — generates TCP/IP packets when requested
- TCPReflector — pretend to be a TCP server
- ToyTCP
- UnstripTCPHeader — restores outermost TCP header
- CheckUDPHeader — checks UDP header on UDP/IP packets
- CopyFlowID — sets UDP/TCP flow ID
- DynamicUDPIPEncap — encapsulates packets in dynamic UDP/IP headers
- FastUDPFlows — creates packets flows with static UDP/IP/Ethernet headers
- FastUDPFlowsIP6 — creates packets flows with static UDP/IP6/Ethernet headers
- FastUDPSource — creates packets with static UDP/IP/Ethernet headers
- FastUDPSource — creates packets with static UDP/IP/Ethernet headers
- FastUDPSourceIP6 — creates packets with static UDP/IP6/Ethernet headers
- ForceUDP — sets UDP packet fields
- SetUDPChecksum — sets UDP packets' checksums
- UDPIP6Encap — encapsulates packets in static UDP/IP6 headers
- UDPIPEncap — encapsulates packets in static UDP/IP headers
- FromCapDump — reads packets from a 'cap' output file
- FromDAGDump — reads packets from a DAG/ERF file
- FromDump — reads packets from a tcpdump file
- FromIPSummaryDump — reads packets from an IP summary dump file
- FromMinDump — Replay a trace generated by ToMinDump
- FromNetFlowSummaryDump — reads packets from a NetFlow summary file
- FromNLANRDump — reads packets from an NLANR file
- FromTcpdump — reads packets from an ASCII tcpdump output file
- Replay — replay an input of packets at a given speed
- ReplayUnqueue — replay an input of packets at a given speed, pull to push
- SimPacketAnalyzer — superclass for entering packet analyses in an ns2 trace
- ToDump — writes packets to a tcpdump file
- ToIPFlowDumps — creates separate trace files for each TCP/UDP flow
- ToIPSummaryDump — writes packet summary information to an ASCII file
- ToMinDump — Generates a trace to be used with FromMinDump
- ToSimTrace — adds trace entries to an ns2 trace file
- AggregateIP — sets aggregate annotation based on IP packet field
- AggregateIPAddrPair — sets aggregate annotation based on IP source/destination address pair
- AggregateIPFlows — sets aggregate annotation based on flow
- IPRateMonitor — measures coming and going IP traffic rates
- AggregateCounter — counts packets per aggregate annotation
- AggregateCounterVector — counts packets per aggregate annotation, and keep tracks of a moving average of the same time.
- AggregateFilter — filters packets based on aggregate annotation
- AggregateFirst — lets through first packet per aggregate annotation
- AggregateHash — sets aggregate annotation as a hash of the 5-tuple
- AggregateLast — lets through last packet per aggregate annotation
- AggregateLength — sets aggregate annotation based on packet length
- AggregatePacketCounter — counts packets per packet number and aggregate annotation
- AggregatePaint — sets aggregate annotation based on paint annotation
- AddressTranslator — translates IPv6/ICMPv6, TCP, and UDP packets' addresses and ports
- CheckIP6Header
- DecIP6HLIM
- GetIP6Address
- ICMP6Error
- IP6Fragmenter
- IP6Mirror — swaps IP6 source and destination
- IP6NDAdvertiser
- IP6NDSolicitor
- IP6Print — pretty-prints IP6 packets
- LookupIP6Route
- MarkIP6Header
- ProtocolTranslator46 — translate IP/ICMP, TCP, and UDP packets between IPv4 and IPv6 protocols
- ProtocolTranslator64 — translate IP/ICMP, TCP, and UDP packets from the IPv6 to the IPv4 protocol
- SetIP6Address
- SetIP6DSCP — sets IP6 packets' DSCP fields
- SetTransportChecksumIP6 — sets IP6 tansport packets' checksums
- IPsecAES — encrypt packet using DES-CBC
- IPsecAuthHMACSHA1 — verify SHA1 authentication digest.
- IPsecAuthSHA1 — verify SHA1 authentication digest.
- IPsecDES — encrypt packet using DES-CBC
- IPsecESPEncap — apply IPSec encapsulation
- IPsecESPUnencap — removes IPSec encapsulation
- RadixIPsecLookup — IP lookup using a radix trie
- CheckCRC32 — checks packet CRC32s
- SetCRC32 — calculates CRC32 and prepends to packet
- CheckPaint — checks packets' paint annotation
- ExactPaintSwitch — classifies packets by paint annotation
- Paint — sets packet paint annotations
- PaintRR — sends packet stream to one of the output ports chosen per-packet
- PaintSwitch — sends packet stream to output chosen per-packet
- PaintTee — duplicates packets with given paint annotation
- CounterAtomic
- CounterLockMP
- CounterRCU
- CounterRWMP
- CounterRxWMP
- FlowRandLoad — Artificial CPU load, randomly selected per-flow
- RandLoad — Random artificial CPU load for each packet
- DropBroadcasts — drops link-level broadcast and multicast packets
- SetAnnoByte — sets packet user annotations
- SetPacketType — sets packet type annotation
- Error — always fails
- Print — prints packet contents
- Print80211 — prints Aironet header contents
- PrintAiro — Prints raw Aironet header contents including 802.11 PLCP information, returns the underlying 802.11 packet.
- PrintTXFeedback
- PrintWifi
- BlockThread — provides handler for blocking thread execution
- ChangeUID — relinquish root privilege
- ChatterSocket — reports chatter messages to connected sockets
- ControlSocket — opens control sockets for other programs
- DriverManager — a Script that manages driver stop events
- HandlerAggregate — Aggregates handlers of multiple elements
- KernelHandlerProxy — proxies kernel module handlers at user level
- Message — prints a message on configuration
- ProgressBar — prints a progress bar to standard error
- QuitWatcher — stops router processing
- RandomSeed — sets random seed
- Script — script a Click router configuration
- CPUQueue — stores packets in FIFO queues.
- CPUSwitch — classifies packets by cpu
- DeviceBalancer — Balance flows among cores using the NICScheduler library
- ExactCPUSwitch — classifies packets by cpu
- LookupIPRouteMP — simple static IP routing table
- MSQueue (deprecated) — stores packets in a FIFO queue
- PathSpinlock — acquires a spinlock, push/pull the packets then release the lock
- SpinlockAcquire — acquires spinlock
- SpinlockInfo — specifies names of spinlocks
- SpinlockRelease — releases spinlock
- StaticThreadSched — specifies element and thread scheduling parameters
- ThreadMonitor — print out thread status
- CheckGREHeader — checks GRE header
- ERSPANDecap — decapsulate the ERSPAN packet and set the SPAN ID in the aggregate annotation, and the timestamp if defined in the timestamp anno
- GREEncap — encapsulates packets in static GRE header
- StripGREHeader — strips outermost GRE header
- AtomicTest — Test atomic variables implementation
- BatchTest — Displays push packet or push batch depending on the type of function called
- BatchTest — Displays push packet or push batch depending on the type of function called
- BigHashMapTest — runs regression tests for BigHashMap
- BigintTest — Test multiple-precision multiply and divide with some simple tests.
- BitvectorTest — runs regression tests for Bitvector
- CheckPacket — check packets against a specification
- CLPTest — runs regression tests for CLP command line parser
- ComparePackets — compare packets in pairs
- ConfParseTest — run regression tests for configuration parsing
- CounterTest — Call read_atomic on the counter in a certain proportion regarding the batch it passes.
- CryptoTest — runs regression tests for cryptography functions
- DDIOTune — Tune the DDIO capacity based on the input number of ways.
- DequeTest — runs regression tests for Deque
- DevirtualizeTest — runs regression tests for click-devirtualize
- ErrorTest — runs regression tests for error handling
- FlowWorkPackage — Do some heavy work (N random number computation) per-flow. The weight of a flow is selected randomly per-flow. So some flows are heavy, some flows are light.
- FunctionTest — runs regression tests for other Click functions
- HandlerTask — associated with a do-nothing Task
- HashTableMPTest — runs regression tests for HashTable<K, V>
- HashTableTest — runs regression tests for HashTable<K, V>
- HeapTest — runs regression tests for heap functions
- JsonTest — runs regression tests for Json
- ListTest — runs regression tests for List<T, link>
- MTDieTest — Runs regression tests for router stopping in multithreaded Click.
- NeighborhoodTest — check ElementNeighborhoodVisitor functionality
- NotifierDebug — useful for debugging notification
- NotifierTest — run regression tests for Notifier
- NullTask — associated with a do-nothing Task
- PacketTest — runs regression tests for Packet
- QueueThreadTest1 — runs regression tests for Queue threading
- QueueThreadTest2 — runs regression tests for Queue threading
- QueueYankTest — check packets against a specification
- RCUTest — runs regression tests for click_rcu
- SchedOrderTest — remembers scheduling order
- SortTest — runs regression tests for click_qsort
- StringTest — runs regression tests for String
- TaskThreadTest — runs Task stress test
- TimerTest — runs regression tests for Timer
- TokenBucketTest — runs regression tests for token bucket
- UpstreamNotifier — null element with an upstream notifier
- VectorTest — runs regression tests for Vector
- WorkPackage — Compute a random number for a certain amount of W time, and makes N accesses to
- ACKResponder — Send positive acknowledgements to unicast data packets.
- ACKResponder2 — Send positive acknowledgements to unicast data packets.
- ACKRetrySender — Resend packets until a positive acknowledgement is received.
- ACKRetrySender2 — Resend packets until a positive acknowledgement is received.
- AiroInfo
- BottleneckMetric
- CheckGridHeader
- DSDVRouteTable — Run DSDV local routing protocol
- DSRArpTable — Maintains an ARP table for DSR.
- DSRRouteTable — A DSR protocol implementation
- E2ELossMetric
- EstimateRouterRegion
- ETX2Metric
- ETXMetric
- FilterByGridHops
- FilterByRange
- FixDstLoc
- FixSrcLoc
- FloodingLocQuerier — Sets Grid Destination location by running a flooding query protocol
- GridEncap — Encapsulates packets in static Grid data encapsulation header (GRID_NBR_ENCAP), including ethernet, Grid, and grid data encap headers.
- GridGatewayInfo — Manage grid node gateway info.
- GridHeaderInfo — Provide information about Grid header version, header sizes, and offsets for the current router exectuable.
- GridLocationInfo
- GridLocationInfo2
- GridLogger — Log Grid-related events.
- GridProbeHandler — Handles Grid route probes, producing probe replies
- GridProbeReplyReceiver — Receives Grid route probe replies
- GridProbeSender — Produces a Grid route probe packet.
- GridProxy
- GridRouteTable — Run DSDV-like local routing protocol
- GridTxError — Reports packet transmission error to Grid logging infrastructure
- HopcountMetric
- IncrementSeqNo
- LinkStat — Track broadcast loss rates.
- LinkTester
- LinkTestReceiver
- LinkTracker
- LIRMetric
- LocationTable
- LocFromFile
- LocQueryResponder — generates responses to Grid Location queries
- LookupGeographicGridRoute
- LookupLocalGridRoute
- LookupLocalGridRoute2
- MovementSimulator
- PacketLogger — Log packets for later dumping/analysis.
- PacketLogger2 — Log packets for later dumping/analysis.
- PEP — runs the Grid Position Estimation Protocol
- PingPong
- PrintGrid
- RadioSim — simulates reachability and broadcast in an 802.11-like radio network
- SendGridHello
- SendGridLRHello
- SetGridChecksum
- SimpleLocQuerier — Sets Grid destination location by looking in a static table
- StripDSRHeader — strips DSR header, saves offset to VLAN_ANNO
- ThresholdMetric
- UpdateGridRoutes (deprecated) — Run DSDV-like local routing protocol.
- YarvisMetric
- Paint2 — sets packet Paint2 annotations
- ERSPANDecap — decapsulate the ERSPAN packet and set the SPAN ID in the aggregate annotation, and the timestamp if defined in the timestamp anno
- AssociationRequester — Sends 802.11 association requests when poked.
- AssociationResponder — Respond to 802.11 association requests.
- AthdescDecap — Pulls the click_wifi_athdesc header from a packet and stores it in Packet::anno()
- AthdescEncap — Pushes the click_wifi_radiotap header on a packet based on information in Packet::anno()
- AutoRateFallback — ARF wireless bit-rate selection algorithm
- AvailableRates — Tracks bit-rate capabilities of other stations.
- BeaconScanner — Listens for 802.11 beacons and sends probe requests.
- BeaconSource — Send 802.11 beacons.
- BeaconTracker — Tracks beacon from an Access Point
- EtherCount — Track each ethernet source.
- ExtraDecap — Pulls the click_wifi_extra header from a packet and stores it in Packet::anno()
- ExtraEncap — Pushes the click_wifi_extra header on a packet based on information in Packet::anno()
- FilterFailures — Filters unicast packets that failed to be acknowledged
- FilterPhyErr — Filters packets that failed the 802.11 CRC check.
- FilterTX — Filter out wireless transmission feedback packets
- LinkTable — Keeps a Link state database and calculates Weighted Shortest Path for other elements
- MadwifiRate — Madwifi wireless bit-rate selection algorithm
- OpenAuthRequeser — Sends 802.11 open authentication requests when poked.
- OpenAuthResponder — Respond to 802.11 open authentication requests.
- PacketStore — Log transmit feedback stats for later analysis.
- Prism2Decap — Pulls the prism2 header from a packet and store information in Packet::anno()
- Prism2Encap — Pushes a Prism2 header onto a packet based on information stored in Packet::anno()
- ProbeRequester — Sends 802.11 probe requests
- ProbeResponder — Respond to 802.11 probe packets.
- ProbeTXRate — Madwifi wireless bit-rate selection algorithm
- PushAnno — Pushes Packet::anno() onto front of packet.
- RadiotapDecap — Pulls the click_wifi_radiotap header from a packet and stores it in Packet::anno()
- RadiotapEncap — Pushes the click_wifi_radiotap header on a packet based on information in Packet::anno()
- ReadAnno — Pulls annotation from packet and stores it in Packet::anno()
- RXStats — Track RSSI for each ethernet source.
- SetNoAck — Sets the No-Ack bit in tx-flags
- SetRTS — Enable/disable RTS/CTS for a packet
- SetTXPower — Sets the transmit power for a packet.
- SetTXRate — Sets the bit-rate for a packet.
- WepDecap — Turns 802.11 packets into ethernet packets
- WepEncap — Turns 802.11 packets into ethernet packets
- WifiDecap — Turns 802.11 packets into ethernet packets.
- WifiDefrag — Reassembles 802.11 fragments.
- WifiDupeFilter — Filters out duplicate 802.11 packets based on their sequence number.
- WifiEncap — Converts ethernet packets to 802.11 packets with a LLC header.
- WifiFragment — Reassembles 802.11 fragments.
- WifiSeq — Sets the 802.11 sequence number in a packet.
- WirelessInfo — Tracks 802.11 configuration information (ssid, etc).
- AssociationResponder — Respond to 802.11 association requests.
- AvailableRates — Tracks bit-rate capabilities of other stations.
- BeaconSource — Send 802.11 beacons.
- OpenAuthResponder — Respond to 802.11 open authentication requests.
- ProbeResponder — Respond to 802.11 probe packets.
- WirelessInfo — Tracks 802.11 configuration information (ssid, etc).
- AssociationRequester — Sends 802.11 association requests when poked.
- AvailableRates — Tracks bit-rate capabilities of other stations.
- BeaconScanner — Listens for 802.11 beacons and sends probe requests.
- BeaconTracker — Tracks beacon from an Access Point
- OpenAuthRequeser — Sends 802.11 open authentication requests when poked.
- ProbeRequester — Sends 802.11 probe requests
- WirelessInfo — Tracks 802.11 configuration information (ssid, etc).
- CTXIDSMatcher — Block packets matching the content
- DPDKDeviceClock — Use DPDK device to get time
- EnsureDPDKBuffer
- EnsureHeadroom
- EnsureNetmapBuffer
- FlowStack
- HTTPServer
- JiffieClock — Aggregate jiffies at CLICK_HZ frequency instead of relying on TSC.
- LinuxClock — Use Linux to get time
- RegexMatcher — classifies packets by contents
- TSCClock — TSC-based user clock
- WebServer
- XDPLoader — Load a BPF program at PATH into the XDP device DEV
- ACKResponder — Send positive acknowledgements to unicast data packets.
- ACKResponder2 — Send positive acknowledgements to unicast data packets.
- ACKRetrySender — Resend packets until a positive acknowledgement is received.
- ACKRetrySender2 — Resend packets until a positive acknowledgement is received.
- AdaptiveRED — drops packets according to Adaptive RED
- AddressInfo — specifies address information
- AddressTranslator — translates IPv6/ICMPv6, TCP, and UDP packets' addresses and ports
- AdjustTimestamp — adjust the time in the packet's timestamp annotation
- AggregateCounter — counts packets per aggregate annotation
- AggregateCounterVector — counts packets per aggregate annotation, and keep tracks of a moving average of the same time.
- AggregateFilter — filters packets based on aggregate annotation
- AggregateFirst — lets through first packet per aggregate annotation
- AggregateHash — sets aggregate annotation as a hash of the 5-tuple
- AggregateIP — sets aggregate annotation based on IP packet field
- AggregateIPAddrPair — sets aggregate annotation based on IP source/destination address pair
- AggregateIPFlows — sets aggregate annotation based on flow
- AggregateLast — lets through last packet per aggregate annotation
- AggregateLength — sets aggregate annotation based on packet length
- AggregatePacketCounter — counts packets per packet number and aggregate annotation
- AggregatePaint — sets aggregate annotation based on paint annotation
- AiroInfo
- Align — aligns packet data
- AlignmentInfo — specifies alignment information
- AnnotationInfo — Define names for packet annotations.
- AnonymizeIPAddr — anonymizes top-level IP addresses in passing packets
- ARPAdvertiser — periodically generates ARP replies using information from an ARP table
- ARPFaker — periodically generates an ARP reply
- ARPPrint — pretty-prints ARP packets a la tcpdump
- ARPQuerier — encapsulates IP packets in Ethernet headers found via ARP
- ARPResponder — generates responses to ARP queries
- ARPTable — stores IP-to-Ethernet mappings
- AssociationRequester — Sends 802.11 association requests when poked.
- AssociationResponder — Respond to 802.11 association requests.
- AthdescDecap — Pulls the click_wifi_athdesc header from a packet and stores it in Packet::anno()
- AthdescEncap — Pushes the click_wifi_radiotap header on a packet based on information in Packet::anno()
- AtomicTest — Test atomic variables implementation
- AutoRateFallback — ARF wireless bit-rate selection algorithm
- AvailableRates — Tracks bit-rate capabilities of other stations.
- AverageBatchCounter — keep average statistics about batching since last reset and last tick
- AverageCounter — measures historical packet count and rate
- BalancedThreadSched — bin packing scheduler
- AverageCounterIMP — measures historical packet count and rate, per-thread version
- AverageCounterMP — measures historical packet count and rate, atomic version
- BandwidthMeter — classifies packet stream by arrival rate
- BandwidthRatedSplitter — splits flow of packets at specified bandwidth rate
- BandwidthRatedUnqueue — pull-to-push converter
- BandwidthShaper — shapes traffic to maximum rate (bytes/s)
- BatchStats — keep statistics about batching
- BatchTest — Displays push packet or push batch depending on the type of function called
- BatchTest — Displays push packet or push batch depending on the type of function called
- BeaconScanner — Listens for 802.11 beacons and sends probe requests.
- BeaconSource — Send 802.11 beacons.
- BeaconTracker — Tracks beacon from an Access Point
- BigHashMapTest — runs regression tests for BigHashMap
- BigintTest — Test multiple-precision multiply and divide with some simple tests.
- BitvectorTest — runs regression tests for Bitvector
- Block — drops packets with high rate
- BlockThread — provides handler for blocking thread execution
- BottleneckMetric
- BufferConverter — converts TCP packets to/from buffers through handlers
- Burster — pull-to-push converter
- BurstStats — keep statistics about bursts, defined as the number of packets from the same flow following each others
- Bypass — sends packet stream through optional bypass with zero overhead
- ChangeUID — relinquish root privilege
- ChatterSocket — reports chatter messages to connected sockets
- CheckARPHeader — checks ARP header
- CheckCRC32 — checks packet CRC32s
- CheckGREHeader — checks GRE header
- CheckGridHeader
- CheckICMPHeader — checks ICMP header on ICMP packets
- CheckIP6Header
- CheckIPHeader — checks IP header
- CheckIPHeader2 — checks IP header, no checksum
- CheckLength — drops large packets
- CheckNumberPacket
- CheckPacket — check packets against a specification
- CheckPaint — checks packets' paint annotation
- CheckTCPHeader — checks TCP header on TCP/IP packets
- CheckUDPHeader — checks UDP header on UDP/IP packets
- Classifier — classifies packets by contents
- ClickyInfo — stores information for the Clicky GUI
- Clipboard — copies data from one packet to another
- CLPTest — runs regression tests for CLP command line parser
- CoDel — drops packets according to CoDel
- CompareBlock — drops packets out of rate range
- ComparePackets — compare packets in pairs
- ConfParseTest — run regression tests for configuration parsing
- ConsistencyCheck — Check flow consistency
- ControlSocket — opens control sockets for other programs
- CopyFlowID — sets UDP/TCP flow ID
- CopyTCPSeq — sets TCP sequence number
- Counter — measures packet count and rate
- CounterAtomic
- CounterFile — measures packet count and writes it to file
- CounterLockMP
- CounterMP
- CounterRCU
- CounterRWMP
- CounterRxWMP
- CounterTest — Call read_atomic on the counter in a certain proportion regarding the batch it passes.
- CPUQueue — stores packets in FIFO queues.
- CPUSwitch — classifies packets by cpu
- CrossRSS — Simulator for CrossRSS. See the CoNEXT Poster.
- CryptoTest — runs regression tests for cryptography functions
- CTXDispatcher
- CTXIDSMatcher — Block packets matching the content
- CTXIPRoute — IP routing table using the flow system
- CycleCountAccum — collects differences in cycle counters
- DDIOTune — Tune the DDIO capacity based on the input number of ways.
- DecIP6HLIM
- DecIPTTL — decrements IP time-to-live, drops dead packets
- DelayShaper — shapes traffic to meet delay requirements
- DelayUnqueue — delay-inducing pull-to-push converter
- DequeTest — runs regression tests for Deque
- DeviceBalancer — Balance flows among cores using the NICScheduler library
- DevirtualizeTest — runs regression tests for click-devirtualize
- DirectIPLookup — IP routing lookup using direct-indexed tables
- Discard — drops all packets
- DiscardNoFree — drops all packets, but does not free any of them.
- DiscardNoFreeBuffer — drops all packets, but does not free their buffers. The packet descriptor (Packet object) is recycled though.
- DPDKDeviceClock — Use DPDK device to get time
- DPDKInfo — Set DPDK global parameters.
- DriverManager — a Script that manages driver stop events
- DropBroadcasts — drops link-level broadcast and multicast packets
- DRRSched — pulls from inputs with deficit round robin scheduling
- DSDVRouteTable — Run DSDV local routing protocol
- DSRArpTable — Maintains an ARP table for DSR.
- DSRRouteTable — A DSR protocol implementation
- DynamicUDPIPEncap — encapsulates packets in dynamic UDP/IP headers
- E2ELossMetric
- EnsureDPDKBuffer
- EnsureEther — ensures that IP packets are Ethernet encapsulated
- EnsureHeadroom
- EnsureNetmapBuffer
- EraseIPPayload — erases IP packet payload
- Error — always fails
- ErrorTest — runs regression tests for error handling
- ERSPANDecap — decapsulate the ERSPAN packet and set the SPAN ID in the aggregate annotation, and the timestamp if defined in the timestamp anno
- EstimateRouterRegion
- EtherCount — Track each ethernet source.
- EtherEncap — encapsulates packets in Ethernet header
- EtherMirror — swaps Ethernet source and destination
- EtherPauseSource — creates and emits Ethernet 802.3x pause frames
- EtherRewrite — rewrite source and destination Ethernet address
- EtherSpanTree — 802.1d Ethernet spanning tree implementation
- EtherSwitch — learning, forwarding Ethernet switch
- EtherVLANEncap — encapsulates packets in 802.1Q VLAN Ethernet header
- ETX2Metric
- ETXMetric
- ExactCPUSwitch — classifies packets by cpu
- ExactPaintSwitch — classifies packets by paint annotation
- ExtraDecap — Pulls the click_wifi_extra header from a packet and stores it in Packet::anno()
- ExtraEncap — Pushes the click_wifi_extra header on a packet based on information in Packet::anno()
- FastTCPFlows — creates packets flows with static TCP/IP/Ethernet headers
- FastUDPFlows — creates packets flows with static UDP/IP/Ethernet headers
- FastUDPFlowsIP6 — creates packets flows with static UDP/IP6/Ethernet headers
- FastUDPSource — creates packets with static UDP/IP/Ethernet headers
- FastUDPSource — creates packets with static UDP/IP/Ethernet headers
- FastUDPSourceIP6 — creates packets with static UDP/IP6/Ethernet headers
- FilterByGridHops
- FilterByRange
- FilterFailures — Filters unicast packets that failed to be acknowledged
- FilterPhyErr — Filters packets that failed the 802.11 CRC check.
- FilterTX — Filter out wireless transmission feedback packets
- FixDstLoc
- FixIPSrc — sets IP source field if requested by annotation
- FixSrcLoc
- FloodingLocQuerier — Sets Grid Destination location by running a flooding query protocol
- FlowAcquire — Acquire one flow reference count the first time a flow passes by
- FlowCounter — Counts the number of flows and packets per flow
- FlowHyperScan — Flow-based IDS using the HyperScan library
- FlowInfo — specifies flow codes
- FlowIPLoadBalancer — TCP & UDP load-balancer, without SNAT
- FlowIPLoadBalancerReverse — Reverse side for FlowIPLoadBalancerReverse.
- FlowIPManager — FCB packet classifier - cuckoo shared-by-all-threads
- FlowIPManager_DPDK — FCB packet classifier - cuckoo per-thread
- FlowIPManagerMP — FCB packet classifier, cuckoo thread-safe implementation of DPDK.
- FlowIPOutputCombo — output combo for IP routing
- FlowL2LoadBalancer — TCP & UDP load-balancer, without SNAT
- FlowLock — Flock the downards path per-flow, so packets of the same flow cannot go further at the same time.
- FlowMinLoadSwitch — splits flows across its ports selecting the less-loaded one
- FlowPaint — sets packet FlowPaint annotations
- FlowPrint — Displays information about the FCB stack
- FlowRandLoad — Artificial CPU load, randomly selected per-flow
- FlowRateLimiter — Counts the number of packets per flow and let packet through only if it has at least N packets.
- FlowStack
- FlowStrip — FlowStrips bytes from front of packets
- FlowSwitch — Port load-balancer
- FlowUnstrip — FlowUnstrips bytes from front of packets
- FlowWebGen
- FlowWorkPackage — Do some heavy work (N random number computation) per-flow. The weight of a flow is selected randomly per-flow. So some flows are heavy, some flows are light.
- ForceICMP — sets ICMP checksum
- ForceIP — Fixes fields to make packets into legal IP packets.
- ForceTCP — sets TCP packet fields
- ForceUDP — sets UDP packet fields
- FromCapDump — reads packets from a 'cap' output file
- FromDAGDump — reads packets from a DAG/ERF file
- FromDevice — reads packets from network device (Linux kernel)
- FromDevice.u — reads packets from network device (user-level)
- FromDPDKDevice — reads packets from network device using DPDK (user-level)
- FromDPDKRing — reads packets from a circular ring buffer using DPDK (user-level)
- FromDump — reads packets from a tcpdump file
- FromHost — reads packets from Linux
- FromHost.u — interface to /dev/net/tun or ethertap (user-level)
- FromIPSummaryDump — reads packets from an IP summary dump file
- FromMinDump — Replay a trace generated by ToMinDump
- FromNetFlowSummaryDump — reads packets from a NetFlow summary file
- FromNetmapDevice
- FromNLANRDump — reads packets from an NLANR file
- FromRawSocket — reads raw IP packets from safe raw socket (user-level)
- FromSimDevice.u — reads packets from a simulator device
- FromSocket — reads data from socket (user-level)
- FromTcpdump — reads packets from an ASCII tcpdump output file
- FromUserDevice — Emit packets written to a character device.
- FrontDropQueue — stores packets in drop-from-front FIFO queue
- FTPPortMapper — manipulates IPRewriter for FTP
- FunctionTest — runs regression tests for other Click functions
- GetEtherAddress — stores an ethernet address from a packet into an annotation.
- GetIP6Address
- GetIPAddress — sets destination IP address annotation from packet data
- GREEncap — encapsulates packets in static GRE header
- GridEncap — Encapsulates packets in static Grid data encapsulation header (GRID_NBR_ENCAP), including ethernet, Grid, and grid data encap headers.
- GridGatewayInfo — Manage grid node gateway info.
- GridHeaderInfo — Provide information about Grid header version, header sizes, and offsets for the current router exectuable.
- GridLocationInfo
- GridLocationInfo2
- GridLogger — Log Grid-related events.
- GridProbeHandler — Handles Grid route probes, producing probe replies
- GridProbeReplyReceiver — Receives Grid route probe replies
- GridProbeSender — Produces a Grid route probe packet.
- GridProxy
- GridRouteTable — Run DSDV-like local routing protocol
- GridTxError — Reports packet transmission error to Grid logging infrastructure
- GroupRegexClassifier — classifies packets by contents
- GTPDecap
- GTPEncap
- GTPLookup — Encapsulates packets in their intended GTP return id.
- GTPTable
- HandlerAggregate — Aggregates handlers of multiple elements
- HandlerTask — associated with a do-nothing Task
- HashSwitch — classifies packets by hash of contents
- HashTableMPTest — runs regression tests for HashTable<K, V>
- HashTableTest — runs regression tests for HashTable<K, V>
- HeapTest — runs regression tests for heap functions
- HopcountMetric
- HostEtherFilter — drops Ethernet packets sent to other machines
- HTTPIn — entry point of an HTTP path in the stack of the middlebox
- HTTPOut — exit point of an HTTP path in the stack of the middlebox
- HTTPServer
- Hub — duplicates packets like a hub
- ICMP6Error
- ICMPError — generates ICMP error packets
- ICMPIPEncap — encapsulates packets in ICMP/IP headers
- ICMPPingEncap — encapsulates packets in ICMP ping headers
- ICMPPingResponder — responds to ICMP echo requests
- ICMPPingRewriter — rewrites ICMP echo requests and replies
- ICMPPingSource — periodically sends ICMP echo requests
- ICMPRewriter — rewrites ICMP packets based on IP rewriter mappings
- Idle — discards packets
- IncrementSeqNo
- InfiniteSource — generates packets whenever scheduled
- InputSwitch — accepts packet stream from settable input
- IP6Encap — encapsulates packets in static IP6 header
- IP6Fragmenter
- IP6Mirror — swaps IP6 source and destination
- IP6NDAdvertiser
- IP6NDSolicitor
- IP6Print — pretty-prints IP6 packets
- IPAddrPairRewriter — rewrites IP packets' addresses by address pair
- IPAddrRewriter — rewrites IP packets' addresses
- IPClassifier — classifies IP packets by contents
- IPEncap — encapsulates packets in static IP header
- IPFilter — filters IP packets by contents
- IPFlowRawSockets — creates separate sockets for each TCP/UDP flow
- IPFragmenter — fragments large IP packets
- IPGWOptions — processes router IP options
- IPIn — entry point of an IP path in the stack of the middlebox
- IPInputCombo — input combo for IP routing
- IPLoadBalancer — TCP&UDP load-balancer, without SNAT
- IPMirror — swaps IP source and destination
- IPNameInfo — stores name information about IP packets
- IPOut — exit point of an IP path in the stack of the middlebox
- IPOutputCombo — output combo for IP routing
- IPPrint — pretty-prints IP packets
- IPRateMonitor — measures coming and going IP traffic rates
- IPReassembler — Reassembles fragmented IP packets
- IPRewriter — rewrites TCP/UDP packets' addresses and ports
- IPRewriterMap — element maps and rewrite IPs to a subnet
- IPRewriterPatterns — specifies shared IPRewriter patterns
- IPRouteTable — IP routing table superclass
- IPRRSwitch — splits flows across its ports in a round-robin fashion
- IPsecAES — encrypt packet using DES-CBC
- IPsecAuthHMACSHA1 — verify SHA1 authentication digest.
- IPsecAuthSHA1 — verify SHA1 authentication digest.
- IPsecDES — encrypt packet using DES-CBC
- IPsecEncap — encapsulates packets in static IP header
- IPsecESPEncap — apply IPSec encapsulation
- IPsecESPUnencap — removes IPSec encapsulation
- IPsecRouteTable — IP routing table superclass
- JiffieClock — Aggregate jiffies at CLICK_HZ frequency instead of relying on TSC.
- JsonTest — runs regression tests for Json
- KernelFilter — block kernel from handling packets
- KernelHandlerProxy — proxies kernel module handlers at user level
- KernelTap — interface to /dev/tap or ethertap (user-level)
- KernelTun — interface to /dev/tun or ethertap (user-level)
- L2LoadBalancer — Stateless L2 load-balancer
- LinearIPLookup — simple IP routing table
- LinkStat — Track broadcast loss rates.
- LinkTable — Keeps a Link state database and calculates Weighted Shortest Path for other elements
- LinkTester
- LinkTestReceiver
- LinkTracker
- LinkUnqueue — link emulator
- LinuxClock — Use Linux to get time
- LinuxIPLookup — interface to Linux's routing table
- LIRMetric
- ListenEtherSwitch — learning, forwarding Ethernet switch with listen port
- ListTest — runs regression tests for List<T, link>
- LocationTable
- LocFromFile
- LocQueryResponder — generates responses to Grid Location queries
- LookupGeographicGridRoute
- LookupIP6Route
- LookupIPRouteMP — simple static IP routing table
- LookupLocalGridRoute
- LookupLocalGridRoute2
- MadwifiRate — Madwifi wireless bit-rate selection algorithm
- MarkIP6Header
- MarkIPCE — sets IP packets' ECN field to Congestion Experienced
- MarkIPHeader — sets IP header annotation
- MarkMACHeader — sets MAC header annotation
- McastSocket — a multicast UDP socket transport (user-level)
- Message — prints a message on configuration
- Meter — classifies packet stream by rate (pkt/s)
- MidStat — Count the number of bytes and packets in sessions.
- MixedQueue — stores packets in a FIFO/LIFO queue
- MonitoringReportSocket — a socket transport (user-level)
- MoveData — changes packet data
- MovementSimulator
- MSQueue (deprecated) — stores packets in a FIFO queue
- MTDieTest — Runs regression tests for router stopping in multithreaded Click.
- MultiCounter — measures packet count and rate for multiple inputs
- NeighborhoodTest — check ElementNeighborhoodVisitor functionality
- NotifierDebug — useful for debugging notification
- NotifierQueue — stores packets in a FIFO queue
- NotifierTest — run regression tests for Notifier
- Null — null element: passes packets unchanged
- Null1 — copy of Null
- NullTask — associated with a do-nothing Task
- NumberPacket
- OpenAuthRequeser — Sends 802.11 open authentication requests when poked.
- OpenAuthResponder — Respond to 802.11 open authentication requests.
- PacketLogger — Log packets for later dumping/analysis.
- PacketLogger2 — Log packets for later dumping/analysis.
- PacketMemStats — keep statistics about packet memory
- PacketStore — Log transmit feedback stats for later analysis.
- PacketTest — runs regression tests for Packet
- Pad — extend packet length
- Paint — sets packet paint annotations
- Paint2 — sets packet Paint2 annotations
- PaintRR — sends packet stream to one of the output ports chosen per-packet
- PaintSwitch — sends packet stream to output chosen per-packet
- PaintTee — duplicates packets with given paint annotation
- PathSpinlock — acquires a spinlock, push/pull the packets then release the lock
- PEP — runs the Grid Position Estimation Protocol
- PingPong
- Pipeliner — Full-push Queue
- PollDevice — polls packets from network device (kernel)
- PortInfo — stores named TCP/UDP port information
- Print — prints packet contents
- Print80211 — prints Aironet header contents
- PrintAiro — Prints raw Aironet header contents including 802.11 PLCP information, returns the underlying 802.11 packet.
- PrintGrid
- PrintTXFeedback
- PrintWifi
- PrioSched — pulls from priority-scheduled inputs
- Prism2Decap — Pulls the prism2 header from a packet and store information in Packet::anno()
- Prism2Encap — Pushes a Prism2 header onto a packet based on information stored in Packet::anno()
- ProbeRequester — Sends 802.11 probe requests
- ProbeResponder — Respond to 802.11 probe packets.
- ProbeTXRate — Madwifi wireless bit-rate selection algorithm
- ProgressBar — prints a progress bar to standard error
- ProtocolTranslator46 — translate IP/ICMP, TCP, and UDP packets between IPv4 and IPv6 protocols
- ProtocolTranslator64 — translate IP/ICMP, TCP, and UDP packets from the IPv6 to the IPv4 protocol
- PullNull — pull-only null element
- PullSwitch — forwards pull requests to settable input
- PushAnno — Pushes Packet::anno() onto front of packet.
- PushNull — push-only null element
- Queue — stores packets in a FIFO queue
- QueueThreadTest1 — runs regression tests for Queue threading
- QueueThreadTest2 — runs regression tests for Queue threading
- QueueYankTest — check packets against a specification
- QuickNoteQueue — stores packets in a FIFO queue
- QuitWatcher — stops router processing
- RadioSim — simulates reachability and broadcast in an 802.11-like radio network
- RadiotapDecap — Pulls the click_wifi_radiotap header from a packet and stores it in Packet::anno()
- RadiotapEncap — Pushes the click_wifi_radiotap header on a packet based on information in Packet::anno()
- RadixIPLookup — IP lookup using a radix trie
- RadixIPsecLookup — IP lookup using a radix trie
- RandLoad — Random artificial CPU load for each packet
- RandomBitErrors — changes packet data with some probability
- RandomSample — samples packets with some probability
- RandomSeed — sets random seed
- RandomSource — generates random packets whenever scheduled
- RandomSwitch — sends packets to random outputs
- RangeIPLookup — IP routing lookup through binary search in a very compact table
- RatedSource — generates packets at specified rate
- RatedSplitter — splits flow of packets at specified rate
- RatedUnqueue — pull-to-push converter
- RawSocket — transports raw IP packets via safe raw sockets (user-level)
- RCUTest — runs regression tests for click_rcu
- ReadAnno — Pulls annotation from packet and stores it in Packet::anno()
- RecordTimestamp — Record timestamp in memory
- RED — drops packets according to RED
- Reframe — reframes a fragmented stream of packets
- RegexClassifier — classifies packets by contents
- RegexMatcher — classifies packets by contents
- Replay — replay an input of packets at a given speed
- ReplayUnqueue — replay an input of packets at a given speed, pull to push
- ResetIPChecksum — sets IP packets' checksums
- Resize — adjust packet length.
- RFC2507Comp — RFC2507 IPv4/TCP header compressor.
- RFC2507Decomp — RFC2507 IPv4/TCP header decompressor.
- RIPSend — periodically generates specified RIP II packet
- RoundRobinIPMapper — round-robin mapper for IPRewriter
- RoundRobinMultiSched — pulls from round-robin inputs, a given amount of times each input
- RoundRobinSched — pulls from round-robin inputs
- RoundRobinSwitch — sends packets to round-robin outputs
- RoundRobinUnqueue — pull-to-push converter
- RoundTripCycleCount — measures round trip cycles on a push or pull path
- RXStats — Track RSSI for each ethernet source.
- SchedOrderTest — remembers scheduling order
- ScheduleInfo — specifies scheduling parameters
- ScheduleLinux — returns to Linux scheduler
- Script — script a Click router configuration
- Search — Strip the head of the packet up to pattern to be found in the packet content.
- SendGridHello
- SendGridLRHello
- SetAnnoByte — sets packet user annotations
- SetCRC32 — calculates CRC32 and prepends to packet
- SetCycleCount — stores cycle count in annotation
- SetEtherAddress — sets ethernet address annotations
- SetGridChecksum
- SetIP6Address
- SetIP6DSCP — sets IP6 packets' DSCP fields
- SetIPAddress — sets destination IP address annotations
- SetIPChecksum — sets IP packets' checksums
- SetIPDSCP — sets IP packets' DSCP fields
- SetIPECN — sets IP packets' ECN fields
- SetNoAck — Sets the No-Ack bit in tx-flags
- SetPacketType — sets packet type annotation
- SetRandIPAddress — sets destination IP address annotations randomly
- SetRTS — Enable/disable RTS/CTS for a packet
- SetTCPChecksum — sets TCP packets' checksums
- SetTimestamp — store the time in the packet's timestamp annotation
- SetTimestampDelta — replace packet timestamps with deltas
- SetTransportChecksumIP6 — sets IP6 tansport packets' checksums
- SetTXPower — Sets the transmit power for a packet.
- SetTXRate — Sets the bit-rate for a packet.
- SetUDPChecksum — sets UDP packets' checksums
- SetVLANAnno — sets VLAN annotation
- SFMaker — Delay packets up to DELAY in the hope that bursts can be merged. Then sends packets by (eventually) merged bursts, reordered by flow priority.
- Shaper — shapes traffic to maximum rate (pkt/s)
- Shifter — Shifts IP and ports.
- SimPacketAnalyzer — superclass for entering packet analyses in an ns2 trace
- SimpleIdle — discards packets
- SimpleLocQuerier — Sets Grid destination location by looking in a static table
- SimplePrioSched — pulls from priority-scheduled inputs
- SimplePullSwitch — forwards pull requests to settable input, without notification
- SimpleQueue — stores packets in a FIFO queue
- SimpleRoundRobinSched — pulls from round-robin inputs
- SimpleTCPReorder — Reorders TCP packets for the ctx subsystem
- SimpleTCPRetransmitter — Retransmit TCP packets for the ctx subsystem
- Socket — a socket transport (user-level)
- SortedIPLookup (deprecated) — simple IP routing table
- SortTest — runs regression tests for click_qsort
- SourceIPHashMapper — Source IP Hash mapper for IPRewriter
- SpinlockAcquire — acquires spinlock
- SpinlockInfo — specifies names of spinlocks
- SpinlockRelease — releases spinlock
- StaticIPLookup — simple static IP routing table
- StaticPullSwitch — forwards pull requests to fixed input
- StaticSwitch — sends packet stream to fixed output
- StaticThreadSched — specifies element and thread scheduling parameters
- StoreAnno — changes packet data
- StoreData — changes packet data
- StoreEtherAddress — stores Ethernet address in packet
- StoreFlowID — Store a flow identifier in each packet
- StoreIPAddress — stores IP address in packet
- StoreTimestamp — store packet timestamps in packet data
- StoreUDPTimeSeqRecord
- StrideSched — pulls from stride-scheduled inputs
- StrideSwitch — sends packets to stride-scheduled outputs
- StringClassifier — classifies packets by contents
- StringMatcher — Matches a packet based on a set of strings
- StringTest — runs regression tests for String
- Strip — strips bytes from front of packets
- StripDSRHeader — strips DSR header, saves offset to VLAN_ANNO
- StripEtherVLANHeader — strips 802.1Q VLAN Ethernet header
- StripGREHeader — strips outermost GRE header
- StripIPHeader — strips outermost IP header
- StripToNetworkHeader — strips everything preceding network header
- StripTransportHeader — strips outermost IP header
- Suppressor — passes packets unchanged, optionally dropping some input ports
- Switch — sends packet stream to settable output
- SYNFlood — Generates a SYNflood
- TaskThreadTest — runs Task stress test
- TCPAck — acknowledge TCP packets
- TCPBuffer — buffer TCP packets
- TCPClientAck — ACKs TCP packet, for the CTX subsystem.
- TCPConn — manage tcp connections
- TCPDemux — demultiplexes TCP flows
- TCPFragmenter — fragments TCP packets to a maximum TCP payload size
- TCPIn — entry point of a TCP path in the stack of the middlebox
- TCPIPSend — generates TCP/IP packets when requested
- TCPOut — exit point of a TCP path in the stack of the middlebox
- TCPReflector — pretend to be a TCP server
- TCPReorder — Reorders TCP packets. Compatible with the flow subsystem.
- TCPRewriter — rewrites TCP packets' addresses, ports, and sequence numbers
- Tee — duplicates packets
- ThreadIPMapper — thread-based mapper for IPRewriter
- ThreadMonitor — print out thread status
- ThreadSafeQueue — stores packets in a FIFO queue
- ThresholdMetric
- TimedSink — periodically pulls and drops a packet
- TimedSource — periodically generates a packet
- TimedUnqueue — pull-to-push converter
- TimeFilter — filter packets by timestamp
- TimeRange — monitor range of packet timestamps
- TimerTest — runs regression tests for Timer
- TimeSortedSched — merge sorted packet streams by timestamp
- TimestampAccum — collects differences in timestamps
- TimestampDiff — Compute the RTT of packets marked with RecordTimestamp
- ToDevice — sends packets to network device (Linux kernel)
- ToDevice.u — sends packets to network device (user-level)
- ToDPDKDevice — sends packets to network device using Intel's DPDK (user-level)
- ToDPDKRing — sends packets to a circular ring buffer using DPDK (user-level).
- ToDump — writes packets to a tcpdump file
- ToHost — sends packets to Linux
- ToHost.u — sends packets to Linux via Universal TUN/TAP device.
- ToHostSniffers — sends packets to Linux packet sniffers
- ToIPFlowDumps — creates separate trace files for each TCP/UDP flow
- ToIPSummaryDump — writes packet summary information to an ASCII file
- TokenBucketTest — runs regression tests for token bucket
- ToMinDump — Generates a trace to be used with FromMinDump
- ToNetmapDevice
- ToRawSocket — sends IP packets through a safe raw socket (user-level)
- ToSimDevice.u — sends packets to simulated network device
- ToSimTrace — adds trace entries to an ns2 trace file
- ToSocket — sends data to socket (user-level)
- ToUserDevice — Pass packets to user-level programs via a character device.
- ToyTCP
- Truncate — limit packet length
- TruncateIPPayload — limit payload length
- TSCClock — TSC-based user clock
- UDPIP6Encap — encapsulates packets in static UDP/IP6 headers
- UDPIPEncap — encapsulates packets in static UDP/IP headers
- UDPOut — entry point of an IP path in the stack of the middlebox
- UDPRewriter — rewrites TCP/UDP packets' addresses and ports
- UMLSwitch — Connects to a UML switch daemon
- Unqueue — pull-to-push converter
- Unqueue2 (deprecated) — pull-to-push converter
- Unstrip — unstrips bytes from front of packets
- UnstripAnno — Unstrip the number of bytes specified by an annotation from front of packets
- UnstripDSRHeader — restores DSR Header
- UnstripIPHeader — restores outermost IP header
- UnstripTCPHeader — restores outermost TCP header
- UnstripTransportHeader — restores outermost transport header
- UpdateGridRoutes (deprecated) — Run DSDV-like local routing protocol.
- UpstreamNotifier — null element with an upstream notifier
- VectorTest — runs regression tests for Vector
- VLANDecap — strip VLAN information from Ethernet packets
- VLANEncap — add VLAN information to Ethernet packets
- WebGen
- WebServer
- WepDecap — Turns 802.11 packets into ethernet packets
- WepEncap — Turns 802.11 packets into ethernet packets
- WifiDecap — Turns 802.11 packets into ethernet packets.
- WifiDefrag — Reassembles 802.11 fragments.
- WifiDupeFilter — Filters out duplicate 802.11 packets based on their sequence number.
- WifiEncap — Converts ethernet packets to 802.11 packets with a LLC header.
- WifiFragment — Reassembles 802.11 fragments.
- WifiSeq — Sets the 802.11 sequence number in a packet.
- WirelessInfo — Tracks 802.11 configuration information (ssid, etc).
- WordMatcher — Remove/mask word in payload.
- WorkPackage — Compute a random number for a certain amount of W time, and makes N accesses to
- XDPLoader — Load a BPF program at PATH into the XDP device DEV
- YarvisMetric