On 19 October 2015 at 02:03, Thomas Graf <tg...@suug.ch> wrote:
> On 10/19/15 at 12:07am, Joe Stringer wrote:
>> > I'm probably missing something obvious. Why is the reply direction
>> > not considered NEW? Wouldn't this consider an ICMPv6 as related+new
>> > depending on simply the direction?
>>
>> My thoughts were along the lines "If something is a reply, that
>> implies that state is held, and therefore it cannot be NEW (where NEW
>> means no state is available)". However, if you consider that the
>> 'related' connection is an independent connection with its own state,
>> but the 'reply' bit refers to the original connection, my original
>> premise breaks. Furthermore, looking at how it's used in netfilter
>> core and the ICMP proto handler, it looks like both of these cases
>> should be considered NEW. I can respin.
>>
>> Do you have a specific case in mind here? It would be useful for
>> extending the OVS testsuite.
>
> It's tricky. A typical use case would be an active FTP connection
> where the data connection is established in the reply direction
> and marked related if I'm not mistaken.
>
> OTOH, an ICMP sent in response should not be considered NEW. It
> really depends on our definition of NEW towards the user.

ICMP and FTP are handled a bit differently: ICMP protocol handling is
based on the original connection; however for expected connections
like FTP data, there is a separate conntrack entry. I agree that for
ICMP errors, they should not be NEW; but for active FTP connections,
I'd expect the data connection to be NEW (if it wasn't already
seen&established). Along these lines, my earlier assertion that the
'reply' flag is based on the original connection is only applicable
for ICMP responses, but not for FTP data connections.

I think that the proper solution instead of this patch is to set NEW
if !nf_ct_is_confirmed(ct). This is more accurately the meaning for
'NEW' that we are actually trying to expose. As long as this is done
before confirming the connection during a "commit", this will make the
behaviour consistent with the lack of commit flag. I'm sending a
patch. Thanks for the feedback!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to