-
Notifications
You must be signed in to change notification settings - Fork 321
IPFragmenter
IPFragmenter — Click element; fragments large IP packets
IPFragmenter(MTU, [keywords HONOR_DF, VERBOSE])
Ports: 1 input, 1-2 outputs
Processing: push
Expects IP packets as input. If the IP packet size is <= MTU, just emits the packet on output 0. If the size is greater than MTU and the don't-fragment bit (DF) isn't set, IPFragmenter splits the packet into fragments emitted on output 0. If DF is set and the packet size is greater than MTU, sends the packet to output 1 (but see HONOR_DF below). Ordinarily output 1 is connected to an ICMPError element with type 3 (UNREACH) and code 4 (NEEDFRAG).
Copies all annotations to the fragments.
Sends the fragments in order, starting with the first.
It is best to Strip() the MAC header from a packet before sending it to IPFragmenter, since any MAC header is not copied to second and subsequent fragments.
Keyword arguments are:
- HONOR_DF — Boolean. If HONOR_DF is false, IPFragmenter will ignore the don't-fragment (DF) bit and fragment every packet larger than MTU. Default is true.
- VERBOSE — Boolean. If true, IPFragmenter will print a message every time it sees a packet with DF; otherwise, it will print a message only the first 5 times. Default is false.
- HEADROOM — Unsigned. Sets the headroom on the output packets to an explicit value, rather than the default (which is usually about 28 bytes).
... -> fr::IPFragmenter(1024) -> Queue(20) -> ...
fr[1] -> ICMPError(18.26.4.24, 3, 4) -> ...
Generated by click-elem2man from ../elements/ip/ipfragmenter.hh:8
on 2017/10/17.