]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r339558: New sysctl: net.inet.icmp.error_keeptags
authoreugen <eugen@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 20 Nov 2018 10:45:46 +0000 (10:45 +0000)
committereugen <eugen@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 20 Nov 2018 10:45:46 +0000 (10:45 +0000)
commit4a4bc9ffb8ae0713aa46ec06d49abcb6658d43cf
tree9922076e2f7f69927ac8214ebdc3efdb3d6cce9b
parent6c4f12dfa8344cb6bdcbc39647b10acac7beb10f
MFC r339558: 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

git-svn-id: svn://svn.freebsd.org/base/stable/10@340671 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/netinet/ip_icmp.c