All of lore.kernel.org
 help / color / mirror / Atom feed
From: Karsten Hohmeier <karsten.hohmeier@tu-ilmenau.de>
To: netfilter@vger.kernel.org
Subject: conntrack + fragment retransmission: What are the basic assumptions?
Date: Wed, 05 Nov 2014 16:47:07 +0100	[thread overview]
Message-ID: <545A467B.7060205@tu-ilmenau.de> (raw)

Hi everybody,

I looked into the behavior of conntrack when dealing with sequences of
fragmented ICMPv6 packets (echo requests).

From what I observed, conntrack seems to operate in the following manner:

1) Assume all fragments (of a single packet) will pass through this
network node
2) Try to collect all fragments
3) Apply filter/mangle rules based on the complete packet and
   the subsequent connection state
4) If packet is accepted, forward all the fragments in order,
   even if they were received out-of-order

This behavior changes when a fragment is retransmitted, while the node
still collects fragments:

1) Assume all fragments will pass through this network node
2) Try to collect all fragments
3) Observe retransmission of a fragment
4) Drop assumption 1), silently discard all previously collected fragments
5) Apply filter/mangle rules to retransmitted fragment only
6) Forward fragment if accepted

Are these observations correct?

Where does this behavior originate? Is it how IP defragmentation in the
kernel works or does conntrack explicitly define/trigger this behavior?

Do you know of any documentation covering this specific issue?

Best regards

Karsten Hohmeier


                 reply	other threads:[~2014-11-05 15:47 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=545A467B.7060205@tu-ilmenau.de \
    --to=karsten.hohmeier@tu-ilmenau.de \
    --cc=netfilter@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.