Skip to content
Eddie Kohler edited this page Oct 17, 2017 · 2 revisions

ICMP6Error Element Documentation

NAME

ICMP6Error — Click element;

SYNOPSIS

ICMP6Error(IP6ADDR, TYPE, CODE)

Ports: 1 input, 1 output
Processing: agnostic

DESCRIPTION

need to rewrite the following comments. Generate an ICMP6 error or redirect packet, with specified TYPE and CODE, in response to an incoming IP6 packet. The output is an IP6/ICMP6 packet. The ICMP6 packet's IP6 source address is set to IP6ADDR. The error packet will include (as payload) the original packet's IP6 header and the first 8 byte of the packet's IP6 payload. ICMP6Error sets the packet destination IP6 and fix_ip_src annotations.

The intent is that elements that give rise to errors, like DecIP6HLIM, should have two outputs, one of which is connected to an ICMP6Error. Perhaps the ICMP6Error()s should be followed by a rate limiting element.

ICMP6Error never generates a packet in response to an ICMP6 error packet, a fragment, or a link broadcast.

The output of ICMPE6rror should be connected to the routing lookup machinery, much as if the ICMP6 errors came from a hardware interface.

EXAMPLES

This configuration fragment produces ICMP6 Time Exceeded error messages in response to HLIM expirations, but limits the rate at which such messages can be sent to 10 per second:

 dt : DecIP6HLIM();
 dt[1] -> ICMP6Error(18.26.4.24, 3, 0) -> m :: RatedSplitter(10) -> ...
 m[1] -> Discard;

NOTES

ICMP6Error can't decide if the packet's source or destination address is an IP6 directed broadcast address; it is supposed to ignore packets with such addresses.

SEE ALSO

DecIP6HLIM

Generated by click-elem2man from ../elements/ip6/icmp6error.hh:7 on 2017/10/17.

Clone this wiki locally