From patchwork Fri Jun 7 22:38:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 1112331 X-Patchwork-Delegate: dsahern@gmail.com 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=pass (p=none dis=none) header.from=kernel.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="uHszTUxI"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 45LHVw1rQdz9s9y for ; Sat, 8 Jun 2019 08:38:32 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731786AbfFGWiW (ORCPT ); Fri, 7 Jun 2019 18:38:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:48612 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731749AbfFGWiT (ORCPT ); Fri, 7 Jun 2019 18:38:19 -0400 Received: from kenny.it.cumulusnetworks.com. (fw.cumulusnetworks.com [216.129.126.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3DB952146F; Fri, 7 Jun 2019 22:38:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1559947099; bh=n8IBK3dCAN27MQYAkoLRDxbNXvETLAbr5HekssFqeRQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uHszTUxI4KZYnWs7soAfXacPosn+IvU07F3g3oNOMgiSrWaN7DUfQ4W6bh6eibw4y emheRzsPMJfbMFAM9uYUsPsVncpircp1wQhzPVY6g1LF08pp/TX5qB5SWcZRWH1uoO VqlaetRq18AM2mTyVhph5gnt9sVc7X3HPKIth/50= From: David Ahern To: stephen@networkplumber.org Cc: netdev@vger.kernel.org, David Ahern Subject: [PATCH v2 iproute-next 03/10] libnetlink: Add helper to add a group via setsockopt Date: Fri, 7 Jun 2019 15:38:09 -0700 Message-Id: <20190607223816.27512-4-dsahern@kernel.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190607223816.27512-1-dsahern@kernel.org> References: <20190607223816.27512-1-dsahern@kernel.org> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: David Ahern groups > 31 have to be joined using the setsockopt. Since the nexthop group is 32, add a helper to allow 'ip monitor' to listen for nexthop messages. Signed-off-by: David Ahern --- include/libnetlink.h | 3 ++- lib/libnetlink.c | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/libnetlink.h b/include/libnetlink.h index 503b3ec11bb6..599b2c592f68 100644 --- a/include/libnetlink.h +++ b/include/libnetlink.h @@ -45,7 +45,8 @@ int rtnl_open(struct rtnl_handle *rth, unsigned int subscriptions) int rtnl_open_byproto(struct rtnl_handle *rth, unsigned int subscriptions, int protocol) __attribute__((warn_unused_result)); - +int rtnl_add_nl_group(struct rtnl_handle *rth, unsigned int group) + __attribute__((warn_unused_result)); void rtnl_close(struct rtnl_handle *rth); void rtnl_set_strict_dump(struct rtnl_handle *rth); diff --git a/lib/libnetlink.c b/lib/libnetlink.c index 6ae51a9dba14..eb85bbdf01ee 100644 --- a/lib/libnetlink.c +++ b/lib/libnetlink.c @@ -173,6 +173,12 @@ void rtnl_set_strict_dump(struct rtnl_handle *rth) rth->flags |= RTNL_HANDLE_F_STRICT_CHK; } +int rtnl_add_nl_group(struct rtnl_handle *rth, unsigned int group) +{ + return setsockopt(rth->fd, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP, + &group, sizeof(group)); +} + void rtnl_close(struct rtnl_handle *rth) { if (rth->fd >= 0) {