[Rtg-dt-encap-considerations] Alignment and Ethernet encapsulation

Tom Herbert <tom@herbertland.com> Tue, 20 September 2016 16:13 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: rtg-dt-encap-considerations@ietfa.amsl.com
Delivered-To: rtg-dt-encap-considerations@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6D6A812B2E9 for <rtg-dt-encap-considerations@ietfa.amsl.com>; Tue, 20 Sep 2016 09:13:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nKCG9sc0KnHg for <rtg-dt-encap-considerations@ietfa.amsl.com>; Tue, 20 Sep 2016 09:13:29 -0700 (PDT)
Received: from mail-qk0-x230.google.com (mail-qk0-x230.google.com [IPv6:2607:f8b0:400d:c09::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C9E312B261 for <rtg-dt-encap-considerations@ietf.org>; Tue, 20 Sep 2016 09:13:29 -0700 (PDT)
Received: by mail-qk0-x230.google.com with SMTP id t7so19964915qkh.2 for <rtg-dt-encap-considerations@ietf.org>; Tue, 20 Sep 2016 09:13:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=CrVxf3n3HZBZOeGj4C6ipVrkS6kLkIa4I57wHjhUX1E=; b=MTDa0zCKAKqWl1+O+CKAHySZRIybyFA6tVk1owDvcMBfdhhMx69ceFqwF1BMHbOaX1 uFxLWZ5/HHnoFbOkd28aaV/50C0QRsyCmfpaBxCF6zr+QEWyC3QMZjTWaiK6tcvkx9hk S7E/LyeULHjlT6WujHWh/NWkZWnmLi66EXU46g2GQkiSBTFi73VQhW2s6hxCVj9iYir1 Vkjw50oagg2dW5gVXIfKdFnpZhO0tDb/93ueYlBPNIS704AnHASo3YuKpKqA3HBqvfXy 0XI9xEQ92rdbFMHqWyp33k3OxMH1D8A6Ad89sDfgubNSILH1J2mSt+n7HL3jZmiBdG8Z 42jg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=CrVxf3n3HZBZOeGj4C6ipVrkS6kLkIa4I57wHjhUX1E=; b=DnJEOlL2J46MaVJ6Pf1LwQBouAE/+q2d8Enx//s2glcEnMB2C93nVd+svhNEhltP0V Q+hhFJ0N/ORLAY/AuHRXcU0b7yK/4IQVKXdOE1i63Q8fi690oheISqLgRSRyLApOR1uU UNN6KW9bICiC7tzYCIQmf6FhkQRzm6hIYtsczVvpse73UIFX1Uzq40G2FSUkghK2HGaS 95oGR+j5kl05o4BOyUlViK2DbsIZcIlfBNhiE/Heq56mkyHXy2tfvNuT26EWb6+nWFd9 jCrqKJvsFrC4dKPFmgbyphDVlg8Fi7auH9JwtkraZKGXBRbfahLrSNWHsfnEP0hDFeZT Unnw==
X-Gm-Message-State: AE9vXwMiZLLdpSDRBjOwXCMcTdgRJdWCZjK0vJ0HkegWzqjvrzYHckWhjlYpASVDR0wwgRNSTA/5etpIzLyFmQ==
X-Received: by 10.233.222.69 with SMTP id s66mr38701515qkf.102.1474388007869; Tue, 20 Sep 2016 09:13:27 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.200.43.164 with HTTP; Tue, 20 Sep 2016 09:13:27 -0700 (PDT)
From: Tom Herbert <tom@herbertland.com>
Date: Tue, 20 Sep 2016 09:13:27 -0700
Message-ID: <CALx6S375-k7hEbC5YMsehWuCTczd=NzwCF8PdYew=vT_Ep+2-g@mail.gmail.com>
To: "nvo3@ietf.org" <nvo3@ietf.org>, "rtg-dt-encap-considerations@ietf.org" <rtg-dt-encap-considerations@ietf.org>, Sowmini Varadhan <sowmini.varadhan@oracle.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtg-dt-encap-considerations/XR56K1CUVxzXFtt1gKacaTkMq5M>
Subject: [Rtg-dt-encap-considerations] Alignment and Ethernet encapsulation
X-BeenThere: rtg-dt-encap-considerations@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Routing Area Design Team on Encapsulation Considerations discussion list <rtg-dt-encap-considerations.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-dt-encap-considerations>, <mailto:rtg-dt-encap-considerations-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtg-dt-encap-considerations/>
List-Post: <mailto:rtg-dt-encap-considerations@ietf.org>
List-Help: <mailto:rtg-dt-encap-considerations-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-dt-encap-considerations>, <mailto:rtg-dt-encap-considerations-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Sep 2016 16:13:30 -0000

Hello,

This issue came up on the Linux netdev list. The Oracle engineers are
trying to deal with the ramifications of unaligned IP headers (not
aligned to four bytes) when doing Ethernet encapsulation (VXLAN, GRE
with TEB for instance). The problem is that certain CPU architectures,
such as SPARC (and maybe PowerPC?), do not handle unaligned accesses
very well. Every unaligned access causes a trap to software which
kills any semblance of performance. x86 has shift logic so we don't
see any issues there (except for unaligned accesses across a page
boundary).

The Linux stack is written to assume that IP protocols are properly
four byte aligned and in non-encapsulation cases Ethernet headers are
padded to be 16 bytes. The problem seems to be specific when
performing Ethernet header encapsulation and there is no padding of
the inner Ethernet header like would be done in ETHERIP. Either the
outer or the inner IP headers will be misaligned. There does not seem
to be an easy fix for this without rewriting the stack or doing copies
on every packet.

For new encapsulation protocols please consider the effects of IP
header alignment in the presence of Ethernet encapsulation. Defining
Ethernet encapsulation with the two byte padding like in ETHERIP may
help a lot to make implementation of Ethernet encapsulation feasible
on CPU HW.

Thanks,
Tom