-
Notifications
You must be signed in to change notification settings - Fork 82
StoreUDPTimeSeqRecord
StoreUDPTimeSeqRecord — Click element;
StoreUDPTimeSeqRecord([keywords OFFSET, DELTA])
Ports: 1 input, 1 output
Processing: agnostic
StoreUDPTimeSeqRecord element can be handy when computing end-to-end UDP packet delays. The element embeds a timestamp and a sequence number into a packet and adjusts the checksum of the UDP packet. Once the initial timestamp has been placed into the payload of the UDP packet, a time difference can be computed once a packet passes through another StoreUDPTimeSeqRecord element. The data can be accessed by examining the packet payload (e.g., do a tcpdump and then do post processing of the data). The element uses partial checksums to speed up the processing. The element works with IPv4 and IPv6 packets. In case of IPv6, it assumes that the next header field is UDP. If this is not the case, the element will discard the packet.
Packet payload found after the UDP header. Note, the UDP payload must be at least 22 bytes long. The values will be stored in network byte order.
uint32_t seq_num uint32_t initial_second uint32_t initial_nano_second uint32_t difference_second uint32_t difference_nano_second
Keyword arguments are:
- OFFSET — Number of bytes to offset from the beginning of the packet where the IPv4/6 header can be found. If raw Ethernet packets are fed into this element, then OFFSET needs to be 14.
- DELTA — Determines which time values are set. If DELTA is false (the default), then the initial_second and initial_nano_second values are set to the current time, and the difference values are set to 0. If DELTA is true, then the initial values are left as is, and the difference values are set to the difference between the current time and the packet's initial time.
src :: RatedSource(\<00>, LENGTH 22, RATE 1, LIMIT 100)
-> UDPIPEncap(10.0.1.1, 6667, 20.0.0.2, 6667)
-> EtherEncap(0x0800, 00:04:23:D0:93:63, 00:17:cb:0d:f8:db)
-> StoreUDPTimeSeqRecord(OFFSET 14, DELTA false)
-> DelayShaper(100msec)
-> StoreUDPTimeSeqRecord(OFFSET 14, DELTA true)
-> ToDump("dump.dmp");
Generated by click-elem2man from ../elements/analysis/storeudptimeseqrecord.hh:22
on 2018/10/03.