Skip to content
Tom Barbette edited this page Oct 3, 2018 · 2 revisions

IPFragmenter Element Documentation

NAME

IPFragmenter — Click element; fragments large IP packets

SYNOPSIS

IPFragmenter(MTU, [keywords HONOR_DF, VERBOSE])

Batching: Batching natively supported
Ports: 1 input, 1-2 outputs
Processing: push

DESCRIPTION

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).

EXAMPLES

 ... -> fr::IPFragmenter(1024) -> Queue(20) -> ...
 fr[1] -> ICMPError(18.26.4.24, 3, 4) -> ...

SEE ALSO

ICMPError, CheckLength

Generated by click-elem2man from ../elements/ip/ipfragmenter.hh:8 on 2018/10/03.

Clone this wiki locally