-
Notifications
You must be signed in to change notification settings - Fork 82
ICMP6Error
ICMP6Error — Click element;
ICMP6Error(IP6ADDR, TYPE, CODE)
Ports: 1 input, 1 output
Processing: agnostic
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.
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;
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.
Generated by click-elem2man from ../elements/ip6/icmp6error.hh:7
on 2018/10/03.