From patchwork Thu Mar 1 21:49:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Tu X-Patchwork-Id: 880140 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="SCJ7h1j0"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zsmMV4mPgz9s4v for ; Fri, 2 Mar 2018 08:50:46 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1162326AbeCAVu3 (ORCPT ); Thu, 1 Mar 2018 16:50:29 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:45485 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1162173AbeCAVuZ (ORCPT ); Thu, 1 Mar 2018 16:50:25 -0500 Received: by mail-pg0-f66.google.com with SMTP id i133so2874220pgc.12 for ; Thu, 01 Mar 2018 13:50:25 -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=Mjr0qLmHFijP2y2e+zL/pkTuMqfv0/fjCTd2ct1p+ck=; b=SCJ7h1j03v1LHHD7sBXIU2GjZuwcvzOeyEbN4nUjEJLlp0DK0VdTZ+96DGZuil1uOb YxlB4TZw+QGp7Uq+O9fM5k358eXTExsoztPivwn4eCVgy73Vt+AV528c6uhWdVO3ZOcN Qap7XKjGt9vbake4m+7VoMLdlWMkhku07S0OJml7aAckUzLtWVsMrU4+y8bPuVsECgAZ 3fRxLRRYWTwKcJuU/UA7PRz8SRsrryGWac6Hxs1euR5nL75xY9P+GNlUBm7w9RyIuq6C 57EpolZaT4I/DGd22bbAqUBEfnaxRKG2w9R6HDal0NvbXYXvB8rci7RxBBMeBOOB18n/ UpAw== 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=Mjr0qLmHFijP2y2e+zL/pkTuMqfv0/fjCTd2ct1p+ck=; b=sSoDdFmgPX2aFD9NcAU4FRDViFcfG1KgadZ4c+YNtNxq0NsfdNmjxSX29b2Er5efQO 55rDz1OnTowwssweSrldi5N+wGMfUFSmf3CbBXcULz0pvT9kDp2ncZvBL5pCwdUR3ENl zBHeF53d1W/i8ZCYFyg+J60r6Zw5uNktXTxGgYKRtJE7NTlbMeAvCi/znGaxN099Yzd5 WQoqJ/hBFbzXuYz2r4FV4ss/9cSrP68VJDbBO/cNx4v/zT91nTGr6zHhQx5IDpglwO/2 DtqpVd79NJGDbx+z29z5d8Uf9Zhali5pRGgJ5ZvVTCtJo9VNj6bSPVpiGjnHPD1/pNed MPew== X-Gm-Message-State: APf1xPB4bh3cI3XsQql9fjStwdDsXPU7YxXzKXMDc1RpHVMtqmQMtOHS K4QV0f1AnIcs4t5jok9Yh0gkLmb0 X-Google-Smtp-Source: AG47ELuo407VIphXzSTfcuVjzN0zPm4e4/ocyuFT4GV1BdabCU7+A65/f5H7tertTo5p2Z4MwqH8UA== X-Received: by 10.99.191.15 with SMTP id v15mr2711338pgf.396.1519941024950; Thu, 01 Mar 2018 13:50:24 -0800 (PST) Received: from sc9-mailhost2.vmware.com ([24.5.191.4]) by smtp.gmail.com with ESMTPSA id l26sm10447074pfj.112.2018.03.01.13.50.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 01 Mar 2018 13:50:24 -0800 (PST) From: William Tu To: netdev@vger.kernel.org Cc: daniel@iogearbox.net, ast@kernel.org Subject: [PATCHv2 net-next 0/2] gre: add sequence number for collect md mode. Date: Thu, 1 Mar 2018 13:49:56 -0800 Message-Id: <1519940998-3885-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_SEQ_NUMBER' is added. --- v1->v2: rename BPF_F_GRE_SEQ to BPF_F_SEQ_NUMBER suggested by Daniel -- 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 | 5 +++-- 6 files changed, 24 insertions(+), 12 deletions(-)