From patchwork Mon Oct 2 16:41:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Craig Gallek X-Patchwork-Id: 820624 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3y5Sbz1HBxz9s5L for ; Tue, 3 Oct 2017 03:41:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751741AbdJBQlc (ORCPT ); Mon, 2 Oct 2017 12:41:32 -0400 Received: from mail-qt0-f182.google.com ([209.85.216.182]:52103 "EHLO mail-qt0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751061AbdJBQlb (ORCPT ); Mon, 2 Oct 2017 12:41:31 -0400 Received: by mail-qt0-f182.google.com with SMTP id q4so8015919qtq.8 for ; Mon, 02 Oct 2017 09:41:31 -0700 (PDT) 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=tBJ+41YCzTmx1bGXhwzhOzqHm2cJ8KCKidGSdKhoayQ=; b=RshIlKK2cUZ/oX2jUdu2RcfeV/QsxZK1kWbgZNq3EqajmBjOsQCYjrncfRYgUmzpV4 XU4ne4jlD5N3b6F774uLoNM4fiDTVVbRUlKijKwitF5qHxJt7BFzGOgTjIYcnpXcMj27 yDbiQtpAZ8DUOZRZmw+hx/Vh8qHdI8oDE2aYRWrQHPDWUBJTHmr753eMc6F43ytXjURm DtWe2sAeCWFEmo/cWdjpgIk3IICAkwfbCzSLPnYGwtVWj1i+KpisrPh1QZCAykylWt7y nZsc9Z7vNktfiBQnahkCTxdGIGdZngXhZrrfQl6DBe52ZrFM764h//MFmyaZhYNUR17Z Saaw== X-Gm-Message-State: AMCzsaUbeMQpcgeXMMfIQgjLkZsWGBjD/Crn6XgAYEgayw57QNuRmfH7 b0TpldKDZGxZTzQCBNGoOx4U7w== X-Google-Smtp-Source: AOwi7QCSdPQq57FaTwC7X8ixamNs03LEdvexPBjDoJBFEe+SvDbDSH2frTXRNGc39nZQn5FQv3CFgg== X-Received: by 10.200.4.16 with SMTP id v16mr20508644qtg.265.1506962490848; Mon, 02 Oct 2017 09:41:30 -0700 (PDT) Received: from monkey.nyc.corp.google.com ([100.101.213.10]) by smtp.gmail.com with ESMTPSA id o71sm2309662qka.79.2017.10.02.09.41.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 02 Oct 2017 09:41:30 -0700 (PDT) From: Craig Gallek To: Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , "David S . Miller" Cc: Chonggang Li , netdev@vger.kernel.org Subject: [PATCH net-next v2 0/2] libbpf: support more map options Date: Mon, 2 Oct 2017 12:41:27 -0400 Message-Id: <20171002164129.47986-1-kraigatgoog@gmail.com> X-Mailer: git-send-email 2.14.2.822.g60be5d43e6-goog Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Craig Gallek The functional change to this series is the ability to use flags when creating maps from object files loaded by libbpf. In order to do this, the first patch updates the library to handle map definitions that differ in size from libbpf's struct bpf_map_def. For object files with a larger map definition, libbpf will continue to load if the unknown fields are all zero, otherwise the map is rejected. If the map definition in the object file is smaller than expected, libbpf will use zero as a default value in the missing fields. Craig Gallek (2): libbpf: parse maps sections of varying size libbpf: use map_flags when creating maps tools/lib/bpf/libbpf.c | 56 ++++++++++++++++++++++++++++++++++++++++++-------- tools/lib/bpf/libbpf.h | 1 + 2 files changed, 48 insertions(+), 9 deletions(-)