]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
New sysctl: net.inet.icmp.error_keeptags
authoreugen <eugen@FreeBSD.org>
Sun, 21 Oct 2018 21:29:19 +0000 (21:29 +0000)
committereugen <eugen@FreeBSD.org>
Sun, 21 Oct 2018 21:29:19 +0000 (21:29 +0000)
commitc7b538ee7268350626d575b629e26191bbb22b33
tree3e28d25bf86ed272cbb40b10ac099e73cc3ead73
parentc607de1f4df5181ce2de763814192591c4b34c9e
New sysctl: net.inet.icmp.error_keeptags

Currently, icmp_error() function copies FIB number from original packet
into generated ICMP response but not mbuf_tags(9) chain.
This prevents us from easily matching ICMP responses corresponding
to tagged original packets by means of packet filter such as ipfw(8).
For example, ICMP "time-exceeded in-transit" packets usually generated
in response to traceroute probes lose tags attached to original packets.

This change adds new sysctl net.inet.icmp.error_keeptags
that defaults to 0 to avoid extra overhead when this feature not needed.

Set net.inet.icmp.error_keeptags=1 to make icmp_error() copy mbuf_tags
from original packet to generated ICMP response.

PR: 215874
MFC after: 1 month
sys/netinet/ip_icmp.c