xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Killian De Volder <killian.de.volder@scarlet.be>
To: xen-devel@lists.xen.org
Subject: TCP Segment offloading + DF
Date: Tue, 13 Nov 2012 15:22:16 +0100	[thread overview]
Message-ID: <50A25798.90100@scarlet.be> (raw)

Hello,

I don't know if TCO is supported for XEN_NETDEV_FRONTED in kernel 3.1.6,
however I found an issue.

I had to track down an issue today:
Packet from a local machine didn't get routed to the internet.
After long searching I found the issue:

The TCP-Segmentation-offloading assembles fragments with Do Not Fragment set.
This introduces issues when the packet is to be rerouted trough a router.

Situation:

DOM0
  |->Bridge 1 - MTU 1500
  |    |-> PHY - eth0
  |    |-> VIF - Dom1
  |    \-> VIF - Dom2 (router)
  |
  \->Bridge 2 - MTU 1500
       |-> PHY - eth1
       \-> VIF - Dom2 (router)

Dom 1 <-> VIF <--(bridge 1)--> VIF <-> dom2 <-> VIF <--(bridge 2)-->

Practical example:
Dom1 generate 2 packet to be routed to bridge 2 from bridge 1.
Packet 1: 1300 bytes DF (TCP)
Packet 2: 400 bytes DF (TCP)

The TCP-offloading throws them together and passes 1 packet: 1700 bytes DF (TCP).
Smart thing to do, reduces load etc.

HOWEVER
Then it arrives at dom2, it looks at the packets, sees a 1700 byte packet, and sees the DF.
Dom2 would put it on the bridge 2 network, fragmented, but it's not allowed, so instead it drops the packet.

I'm not sure if it's "working as designed" or if this is an unfortunate side effect.

Feedback welcome,
(even "You are an idiot, of course it's  going to fail !" :) )
Killian De Volder

             reply	other threads:[~2012-11-13 14:22 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-13 14:22 Killian De Volder [this message]
2012-11-30 16:33 ` TCP Segment offloading + DF Konrad Rzeszutek Wilk

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=50A25798.90100@scarlet.be \
    --to=killian.de.volder@scarlet.be \
    --cc=xen-devel@lists.xen.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 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).