From patchwork Wed Nov 21 01:33:42 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: 1000825 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="uwFmfraW"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 4304qG12Fhz9s3C for ; Wed, 21 Nov 2018 12:34:02 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726090AbeKUMGH (ORCPT ); Wed, 21 Nov 2018 07:06:07 -0500 Received: from mail-pl1-f171.google.com ([209.85.214.171]:37733 "EHLO mail-pl1-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725913AbeKUMGH (ORCPT ); Wed, 21 Nov 2018 07:06:07 -0500 Received: by mail-pl1-f171.google.com with SMTP id b5so2967792plr.4 for ; Tue, 20 Nov 2018 17:33:59 -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=RzTc0SgElGPiRhC1NtPLmOi4laHmrgxvFE/SSHGarSU=; b=uwFmfraWY0OqlOdW//QZ7PcCKLWG8aU8mk/YiEMWqkl3sNqv1Nij8RrE/P/q3+oPJp OZgBZy5I/dtJjy0idv9xKeX9vNUII5aOoy0omDk1BkPTfSgzR9ZsKT8AZ/8arWEn3/LR DOfhHKyUP/UwbA9iNdNYFB3oAGmOG/4ugyxiVOMKIUZ9/NoVsLcEzwnJqBeR/S5UDdWv nCthmi7XSB2psxS2lkfC76/KbYVvq6xiITaHcSYZYQLP+d1V4W7ZZVztFnb6qA3fuazZ 7Xw76qtgo3wXQkJ12mtk+i9Idi7i7raZbHOADbWszkZ9Xz0dvfE9/FAJHHCj6EFBbhwI fl5Q== 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=RzTc0SgElGPiRhC1NtPLmOi4laHmrgxvFE/SSHGarSU=; b=Yhtf3NhQWUpbrTscUwSzBavZnJQZmfmDCEv9d7Eg4mu1biqSTFUla/uySTf9jCo4kN jXWgnV4ohNnudKWQ0/6dLGXejB3LJxu1ALJ65zuDehwbhIGSaNfDoHqdk27bFAMtWlMX n6mSRgPwNtrjOun8tqFes4cLxnzq+EITINeN7CvM9dQwQBcSwRreR6ZjEAqStCUEF78M caiPgxzjIex6dLg//nkNbQn7760Mu0A0W2SCeUKjVk377TFa+EWDy5Z7NcbCHJ121cPm 3/Z5loUGrQLAazxoJR1WQxl8TsFTVjUdZGFTdaIzUn2+HjtKey8yYGBswMrUxH86E/bw hGgw== X-Gm-Message-State: AA+aEWZxysT4rWg2fWnD+zdoozwB0XNJpWNlHBkhsq8EIa2/DcrO+oqd ev8RBSkFwJyVolXh5VXlaCGdcw== X-Google-Smtp-Source: AFSGD/UgZh6iuqqqPjYtNYXi/409RteD7RQCKoyVmHBl+vFLiq5FRECaVHAE0cQk3M+77X/1IzwgbQ== X-Received: by 2002:a63:990a:: with SMTP id d10mr4097983pge.279.1542764039215; Tue, 20 Nov 2018 17:33:59 -0800 (PST) Received: from maindev.thefacebook.com ([199.201.64.4]) by smtp.gmail.com with ESMTPSA id 69sm36517065pgg.86.2018.11.20.17.33.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Nov 2018 17:33:58 -0800 (PST) From: "Nikita V. Shirokov" To: Alexei Starovoitov , Daniel Borkmann , Jakub Kicinski Cc: netdev@vger.kernel.org, "Nikita V. Shirokov" Subject: [PATCH v4 bpf-next 0/2] bpf: adding support for mapinmap in libbpf Date: Tue, 20 Nov 2018 17:33:42 -0800 Message-Id: <20181121013344.11006-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 v3->v4: - renamed helper to set_inner_map_fd - now we set this value only if it haven't been set before and only for (array|hash) of maps 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 | 33 +++++++++--- 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, 162 insertions(+), 7 deletions(-) create mode 100644 tools/testing/selftests/bpf/test_mapinmap.c