From patchwork Tue Nov 20 06:42:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Nikita V. Shirokov" X-Patchwork-Id: 1000690 Return-Path: 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=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=tehnerd.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=tehnerd-com.20150623.gappssmtp.com header.i=@tehnerd-com.20150623.gappssmtp.com header.b="cpvdN7re"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42zxpG6Qbmz9s4s for ; Wed, 21 Nov 2018 07:17:42 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725998AbeKUGsf (ORCPT ); Wed, 21 Nov 2018 01:48:35 -0500 Received: from mail-io1-f45.google.com ([209.85.166.45]:33921 "EHLO mail-io1-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725865AbeKUGsf (ORCPT ); Wed, 21 Nov 2018 01:48:35 -0500 Received: by mail-io1-f45.google.com with SMTP id f6so2373064iob.1 for ; Tue, 20 Nov 2018 12:17:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tehnerd-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=iQ6RhHfzADyzIbxx+ypmhqUnklOwbFwn+moKxgTy0kw=; b=cpvdN7requVb6VbdPvW/hnfqQ9nfsL5/GqnCtXiCMkQItAeMor4BvspUyDtj7FLWew goiBFsfsK9z90qUNmxK8s2KKQVz3yvwdsd2iIGNV5k6b+rU+PDuXxueRjD/dXBke5fUM +Eg5jiKYLi+zwN46/jedIciKZgsL85+mAeeFTknYeyDYk9XiW64Vi7LuZ0LvxUojZLb9 jo9auz6cT6QOUOH/6DejuDAEcvymCxLDJpIsGug64L0RaC71Chl1RJ1tgTYXtwMLj6tC gtDqSb+1Kw5wQh6yFNGryQw4U1UJc9DkX+qIAK0lfVDQsaRlZ92D4cs8uGyRcifTGzhI ZRyQ== 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=iQ6RhHfzADyzIbxx+ypmhqUnklOwbFwn+moKxgTy0kw=; b=p2r5/7G6p/Ngkr+bYSMENncHK1tpi18OrJZUW0imBIsmBG1WvlOARggFt6S9/JYHK5 W67Ey36nJ1/8pqVElch8fGJhv3Vv4fqhRMZzNo9Z1msVz6pMX9CXKvPOpCAKOiRu66V9 usbMgQPsxjylWCBPT93Rv1MjHgOa4eJtJ/AghvxivT3yPsf3aZj8XAY8KQ+jM/Tvh/nJ 1mXsLlbfRjHaF6gGtISt0XalZygw1ZZNd6Qt/b2jwVivLeTJ8vTnUYVeKlsYx68Gz/rp E39Qq8xxm0sUYat3wlHcPuVdjZVQoYIkf0YvZqnUlKR6VC3dblu+D2GruWBQtcEcUYT0 k83g== X-Gm-Message-State: AA+aEWaZo3bp/IXNPYa76hSJi5r3htB0JC2zKuMJrFz75cLGuqPC4dxW EqURjutr3+QPWLl/UzBCmTgc2A== X-Google-Smtp-Source: AFSGD/UTT51btWpRCltC+deVa+BXP4c6HjYcjVca0GZWweNxzFmhlHxEeVsUHvrxzeOoVNZIlMtAEw== X-Received: by 2002:a5e:a619:: with SMTP id q25mr2706327ioi.82.1542745059907; Tue, 20 Nov 2018 12:17:39 -0800 (PST) Received: from maindev.thefacebook.com ([199.201.64.4]) by smtp.gmail.com with ESMTPSA id z186-v6sm14042000itd.43.2018.11.20.12.17.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Nov 2018 12:17:38 -0800 (PST) From: "Nikita V. Shirokov" To: Alexei Starovoitov , Daniel Borkmann , Jakub Kicinski Cc: netdev@vger.kernel.org, "Nikita V. Shirokov" Subject: [PATCH v3 bpf-next 0/2] bpf: adding support for mapinmap in libbpf Date: Mon, 19 Nov 2018 22:42:20 -0800 Message-Id: <20181120064222.5606-1-tehnerd@tehnerd.com> X-Mailer: git-send-email 2.15.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org in this patch series i'm adding a helper for libbpf which would allow it to load map-in-map(BPF_MAP_TYPE_ARRAY_OF_MAPS and BPF_MAP_TYPE_HASH_OF_MAPS). first patch contains new helper + explains proposed workflow second patch contains tests which also could be used as example of usage v2->v3: - fixing typo in patch description - initializing inner_map_fd to -1 by default v1->v2: - addressing nits - removing const identifier from fd in new helper - starting to check return val for bpf_map_update_elem Nikita V. Shirokov (2): bpf: adding support for map in map in libbpf bpf: adding tests for mapinmap helpber in libbpf tools/lib/bpf/libbpf.c | 11 +++- tools/lib/bpf/libbpf.h | 2 + tools/testing/selftests/bpf/Makefile | 3 +- tools/testing/selftests/bpf/test_mapinmap.c | 49 +++++++++++++++++ tools/testing/selftests/bpf/test_maps.c | 82 +++++++++++++++++++++++++++++ 5 files changed, 145 insertions(+), 2 deletions(-) create mode 100644 tools/testing/selftests/bpf/test_mapinmap.c