From patchwork Thu Mar 1 00:11:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Tu X-Patchwork-Id: 879503 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="muuBRSuO"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zsCY73tqrz9s1B for ; Thu, 1 Mar 2018 11:12:11 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965244AbeCAAMI (ORCPT ); Wed, 28 Feb 2018 19:12:08 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:39117 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965166AbeCAAMH (ORCPT ); Wed, 28 Feb 2018 19:12:07 -0500 Received: by mail-pg0-f68.google.com with SMTP id w16so705000pgv.6 for ; Wed, 28 Feb 2018 16:12:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=t+M/DS0upFokX+tXdXBvhFuoO4KWQ3gxjyJ90O+bwc4=; b=muuBRSuOO/6/LdtOCciiImMH2VaIa032JIf7nHNq+Y8phzxqtsNmR5ecuwDo6kVGkV VhLRm7TQhkirMCemGP/SHetBcGX4pN8lJViEDVMJ06sMvJjm3SY61c96IDf/gTXP2hRN NW2NWSbvNp++s6KyqwotO5U4CUgJZkPjIWAfo4inAb5fbZ9LsIyDLSaloqoNzhSKbqOi XpEBUx1a5P9mSkbruGiYE8ZaFmXlr75YQkwWjeD7ZYmWiafG9RncTqCT03LphaAUlD54 lSw66h6T2w23CtrQalxod7QGBUlZrenOB0phi02l/7A3HpKxm165vGK4rXf4IYRr3xpe cfYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=t+M/DS0upFokX+tXdXBvhFuoO4KWQ3gxjyJ90O+bwc4=; b=fUC1ltAEt+qTqD3b4GbuQJoCf965KXee8zhxpkGsHkHGx8AxeDy67umL03yT3VfZEg 9Xad3evRiPJx9s3RYCtrmL4UM38SglDICDbgLHsFjw+n94RK5KZ6vVhR7OSXBKwtCDFB j8J/PVxl4Jmg6EUdqFlHIrQ7KxTRQKXgkKoBYqFGtsCw2kAQnDyKaRRfLwpF2uqlQhB1 +QST0pgdvaCKpZt3asEN9AI153doNKC99KAiB7+mDaYIMCYvSHePF57JV31xUEJl++Hu tRnjIYvRA8e2fXdua8lP4oRPwCWUzZtb3r+btpzEcXRhJJClE4s9425mc/GEb0H3lzb0 z5Dg== X-Gm-Message-State: APf1xPAyaQmNmm11xj+QIzgNH6TsWGAY9vTuH93bkpmxvCiz1ll24peA vb1y6gl+OTx8zbpqsQrc4MVS516M X-Google-Smtp-Source: AH8x226ui8uMyBUsASXB+AOr9H1VCkVEuO4XcMClsOQaqmKGMC4egh2yrCPYzTX533Zx9aP2ad8gMw== X-Received: by 10.98.89.85 with SMTP id n82mr19241990pfb.233.1519863127009; Wed, 28 Feb 2018 16:12:07 -0800 (PST) Received: from sc9-mailhost3.vmware.com ([66.170.99.2]) by smtp.gmail.com with ESMTPSA id u133sm4158057pgc.93.2018.02.28.16.12.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 28 Feb 2018 16:12:06 -0800 (PST) From: William Tu To: netdev@vger.kernel.org Cc: daniel@iogearbox.net, ast@kernel.org Subject: [PATCH net-next 0/2] gre: add sequence number for collect md mode. Date: Wed, 28 Feb 2018 16:11:39 -0800 Message-Id: <1519863101-112083-1-git-send-email-u9012063@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Currently GRE sequence number can only be used in native tunnel mode. The first patch adds sequence number support for gre collect metadata mode, and the second patch tests it using BPF. RFC2890 defines GRE sequence number to be specific to the traffic flow identified by the key. However, this patch does not implement per-key seqno. The sequence number is shared in the same tunnel device. That is, different tunnel keys using the same collect_md tunnel share single sequence number. A new BFP uapi tunnel flag 'BPF_F_GRE_SEQ' is added. I name it since GRE is the only tunnel type having sequence number. William Tu (2): gre: add sequence number for collect md mode. samples/bpf: add gre sequence number test. include/uapi/linux/bpf.h | 1 + net/core/filter.c | 4 +++- net/ipv4/ip_gre.c | 7 +++++-- net/ipv6/ip6_gre.c | 13 ++++++++----- samples/bpf/tcbpf2_kern.c | 6 ++++-- samples/bpf/test_tunnel_bpf.sh | 4 ++-- 6 files changed, 23 insertions(+), 12 deletions(-)