Message ID | 153356387977.6981.12236150594041620482.stgit@kernel |
---|---|
Headers | show
Return-Path: <netdev-owner@vger.kernel.org> X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@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=<UNKNOWN>) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=polito.it Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41kg1D1wC3z9s0R for <patchwork-incoming-netdev@ozlabs.org>; Tue, 7 Aug 2018 00:25:52 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731523AbeHFQfK (ORCPT <rfc822;patchwork-incoming-netdev@ozlabs.org>); Mon, 6 Aug 2018 12:35:10 -0400 Received: from fm2nodo5.polito.it ([130.192.180.19]:59198 "EHLO fm2nodo5.polito.it" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727451AbeHFQfK (ORCPT <rfc822;netdev@vger.kernel.org>); Mon, 6 Aug 2018 12:35:10 -0400 X-Greylist: delayed 1630 seconds by postgrey-1.27 at vger.kernel.org; Mon, 06 Aug 2018 12:35:09 EDT Received: from polito.it (frontmail2.polito.it [130.192.180.42]) by fm2nodo5.polito.it with ESMTP id w76DwMTR023180-w76DwMTT023180 (version=TLSv1.0 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=CAFAIL); Mon, 6 Aug 2018 15:58:22 +0200 X-ExtScanner: Niversoft's FindAttachments (free) Received: from [130.192.225.196] (account d040768@polito.it HELO [127.0.1.1]) by polito.it (CommuniGate Pro SMTP 6.2.5) with ESMTPSA id 78232773; Mon, 06 Aug 2018 15:58:22 +0200 Subject: [PATCH bpf-next 0/3] Implement bpf map queue From: Mauricio Vasquez B <mauricio.vasquez@polito.it> To: Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net> Cc: netdev@vger.kernel.org Date: Mon, 06 Aug 2018 15:58:22 +0200 Message-ID: <153356387977.6981.12236150594041620482.stgit@kernel> User-Agent: StGit/unknown-version MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: <netdev.vger.kernel.org> X-Mailing-List: netdev@vger.kernel.org |
Series |
Implement bpf map queue
|
expand
|
Bpf queue map is a new kind of map that provides a LIFO/FIFO queue implementation. In some applications, like a SNAT, it is necessary to keep track of a pool of free elemenets, network ports in this case, then a queue can be used for that purpose. Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it> --- Mauricio Vasquez B (3): bpf: add bpf queue map selftests/bpf: add test cases for BPF_MAP_TYPE_QUEUE bpf: add sample for BPF_MAP_TYPE_QUEUE include/linux/bpf_types.h | 1 include/uapi/linux/bpf.h | 5 + kernel/bpf/Makefile | 2 kernel/bpf/queuemap.c | 287 +++++++++++++++++++++++++++++++ kernel/bpf/syscall.c | 61 +++++-- kernel/bpf/verifier.c | 16 +- samples/bpf/.gitignore | 1 samples/bpf/Makefile | 3 samples/bpf/test_map_in_map_user.c | 9 - samples/bpf/test_queuemap.sh | 37 ++++ samples/bpf/test_queuemap_kern.c | 51 ++++++ samples/bpf/test_queuemap_user.c | 53 ++++++ tools/include/uapi/linux/bpf.h | 5 + tools/testing/selftests/bpf/test_maps.c | 72 ++++++++ 14 files changed, 577 insertions(+), 26 deletions(-) create mode 100644 kernel/bpf/queuemap.c create mode 100755 samples/bpf/test_queuemap.sh create mode 100644 samples/bpf/test_queuemap_kern.c create mode 100644 samples/bpf/test_queuemap_user.c --