Skip to content
  • Patrick McHardy's avatar
    netfilter: nf_conntrack_ipv6: fix tracking of ICMPv6 error messages containing fragments · 2b60af01
    Patrick McHardy authored
    
    
    ICMPv6 error messages are tracked by extracting the conntrack tuple of
    the inner packet and looking up the corresponding conntrack entry. Tuple
    extraction uses the ->get_l4proto() callback, which in case of fragments
    returns NEXTHDR_FRAGMENT instead of the upper protocol, even for the
    first fragment when the entire next header is present, resulting in a
    failure to find the correct connection tracking entry.
    
    This patch changes ipv6_get_l4proto() to use ipv6_skip_exthdr() instead
    of nf_ct_ipv6_skip_exthdr() in order to skip fragment headers when the
    fragment offset is zero.
    
    Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
    2b60af01