From: Steve Chen <schen@mvista.com>
To: Rick Jones <rick.jones2@hp.com>
Cc: Mark Huth <mhuth@mvista.com>, netdev@vger.kernel.org
Subject: Re: [PATCH] Multicast packet reassembly can fail
Date: Wed, 28 Oct 2009 13:40:14 -0500 [thread overview]
Message-ID: <1256755214.3153.489.camel@linux-1lbu> (raw)
In-Reply-To: <4AE88907.3030206@hp.com>
On Wed, 2009-10-28 at 11:10 -0700, Rick Jones wrote:
> >>If I understand correctly, the idea here is to say that when multiple interfaces
> >>receive fragments of copies of the same IP datagram that both copies will
> >>"survive" and flow up the stack?
> >>
> >>I'm basing that on your description, and an email from Steve that reads:
> >>
> >>
> >>>Actually, the patch tries to prevent packet drop for this exact
> >>>scenario. Please consider the following scenarios
> >>>1. Packet comes in the fragment reassemble code in the following order
> >>>(eth0 frag1), (eth0 frag2), (eth1 frag1), (eth1 frag2)
> >>>Packet from both interfaces get reassembled and gets further processed.
> >>>
> >>>2. Packet can some times arrive in (perhaps other orders as well)
> >>>(eth0 frag1), (eth1 frag1), (eth0 frag2), (eth1 frag2)
> >>>Without this patch, eth0 frag 1/2 are overwritten by eth1 frag1/2, and
> >>>packet from eth1 is dropped in the routing code.
> >>
> >>Doesn't that rather fly in the face of the weak-end-system model followed by Linux?
> >>
> >>I can see where scenario one leads to two IP datagrams making it up the stack,
> >>but I would have thought that was simply an "accident" of the situation that
> >>cannot reasonably be prevented, not justification to cause scenario two to send
> >>two datagrams up the stack.
> >
> >
> > For scenario 2, the routing code drops the 2nd packet. As a result, no
> > packet make it to the application. If someone is willing to suggest an
> > alternative, I can certainly rework the patch and retest.
>
> I'll ask my next potentially Emily Litella question - don't multicast IP
> applications bind to multicast IP addresses and not interfaces? That is to say,
> doesn't the first datagram completed get delivered to all applications on the
> host which have bound to the corresponding multicast IP (and port number...) ?
I actually don't know who Emily Litella is until today. This mailing
list is great not just for learning networking stuff :). In the test
code I received, one of the step to setup is to configure the IP address
of the interface that the application is expecting the packet. It
appears to bind on interface based on that casual observation. I'll
have to study the code in detail to be able to say for sure.
Regards,
Steve
next prev parent reply other threads:[~2009-10-28 18:32 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-27 22:46 [PATCH] Multicast packet reassembly can fail Steve Chen
2009-10-27 23:22 ` Rick Jones
2009-10-28 13:29 ` Steve Chen
2009-10-28 16:55 ` Mark Huth
2009-10-28 17:18 ` Rick Jones
2009-10-28 17:50 ` Steve Chen
2009-10-28 18:10 ` Rick Jones
2009-10-28 18:40 ` Steve Chen [this message]
2009-10-29 18:04 ` Herbert Xu
2009-10-29 18:33 ` Steve Chen
2009-11-02 18:36 ` Steve Chen
2009-10-28 10:18 ` Eric Dumazet
2009-10-28 13:32 ` Steve Chen
2009-10-28 13:30 ` Eric Dumazet
2009-10-29 4:57 ` David Miller
2009-10-29 5:31 ` Eric Dumazet
2009-10-28 20:12 ` David Stevens
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=1256755214.3153.489.camel@linux-1lbu \
--to=schen@mvista.com \
--cc=mhuth@mvista.com \
--cc=netdev@vger.kernel.org \
--cc=rick.jones2@hp.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).