From patchwork Tue Feb 21 17:23:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 730701 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3vSS5W2KSZz9s73 for ; Wed, 22 Feb 2017 04:23:43 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="euIUj0z3"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754063AbdBURXm (ORCPT ); Tue, 21 Feb 2017 12:23:42 -0500 Received: from mail-pg0-f49.google.com ([74.125.83.49]:36204 "EHLO mail-pg0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753782AbdBURXj (ORCPT ); Tue, 21 Feb 2017 12:23:39 -0500 Received: by mail-pg0-f49.google.com with SMTP id s67so27422466pgb.3 for ; Tue, 21 Feb 2017 09:23:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:cc:subject:date:message-id; bh=HQyAfDInCa9E0/azBLYM554eSkvvxIurp4GxTP3wYpM=; b=euIUj0z36fyEGKqzaLi56iaoN/F8MhDiMFCkIgbgmXvg7/xqvZ9WZ1skLrHMeC4DfU nb0kKoNzo+NzDnbiufDmdF+UzPe5jZiyjbEGZestt9MlUz+NdD0yfjlQHhmVRz1lj30t vAVkGrS4xdaPbeKzS/302b8dWhZWf11SA9CjI= 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=HQyAfDInCa9E0/azBLYM554eSkvvxIurp4GxTP3wYpM=; b=nLmSj5Bf6UVENwfUoAdq6xoMTFtsTQxepfJKHJDrbHP1EF8pOe37xJOqcDJywYu8hv LyNjrJXKRmEXDwAw8c5HLj6sU6C1iFam6gOUqOat2ySk6CRIBXCSWpOv5Qgv7ySTw9uc 9+ORs99q025vmRwecKhZEP5Rh2x+7nfH9TFCLLh++s8VwVxA9PkEiqcyRU1FiJIyI8L5 tMhlgW4qaKJq3sWvT1WQZdTx3n/+Tuul/dFp7AI4etQ2G5FY8Jo7lOMwPYBGqR8sHLFz 5Le4SX/eKMu50pW/KQn38CmV+UO2nrQMlO6VM27yBGmPHPSMPXPg9tucivs4pbeQ2fnd RaHQ== X-Gm-Message-State: AMke39kokS9pEqD40S5kZQrIbDCncGnEw+ZmgUnN1XCQ0k8d0n1TfTU2nFVCP0kDCudy4aeX X-Received: by 10.99.54.15 with SMTP id d15mr26479pga.153.1487697817995; Tue, 21 Feb 2017 09:23:37 -0800 (PST) Received: from kenny.it.cumulusnetworks.com. ([216.129.126.126]) by smtp.googlemail.com with ESMTPSA id n70sm42224069pfg.34.2017.02.21.09.23.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 21 Feb 2017 09:23:37 -0800 (PST) From: David Ahern To: netdev@vger.kernel.org, stephen@networkplumber.org Cc: nicolas.dichtel@6wind.com, David Ahern Subject: [PATCH iproute2] ip: Add support for MPLS netconf Date: Tue, 21 Feb 2017 09:23:31 -0800 Message-Id: <1487697811-28638-1-git-send-email-dsa@cumulusnetworks.com> X-Mailer: git-send-email 2.1.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add support for MPLS netconf to ip monitor and ip netconf commands. Changes to header files not included as those are typically pulled in my a header sync with the kernel. Signed-off-by: David Ahern --- ip/ipmonitor.c | 3 +++ ip/ipnetconf.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/ip/ipmonitor.c b/ip/ipmonitor.c index c892b8f1c224..3171d4712887 100644 --- a/ip/ipmonitor.c +++ b/ip/ipmonitor.c @@ -176,6 +176,7 @@ int do_ipmonitor(int argc, char **argv) groups |= nl_mgrp(RTNLGRP_IPV4_RULE); groups |= nl_mgrp(RTNLGRP_IPV6_RULE); groups |= nl_mgrp(RTNLGRP_NSID); + groups |= nl_mgrp(RTNLGRP_MPLS_NETCONF); rtnl_close(&rth); @@ -271,6 +272,8 @@ int do_ipmonitor(int argc, char **argv) groups |= nl_mgrp(RTNLGRP_IPV4_NETCONF); if (!preferred_family || preferred_family == AF_INET6) groups |= nl_mgrp(RTNLGRP_IPV6_NETCONF); + if (!preferred_family || preferred_family == AF_MPLS) + groups |= nl_mgrp(RTNLGRP_MPLS_NETCONF); } if (lrule) { if (!preferred_family || preferred_family == AF_INET) diff --git a/ip/ipnetconf.c b/ip/ipnetconf.c index 50c4e33cfe93..af539f5e945c 100644 --- a/ip/ipnetconf.c +++ b/ip/ipnetconf.c @@ -83,6 +83,9 @@ int print_netconf(const struct sockaddr_nl *who, struct rtnl_ctrl_data *ctrl, case AF_INET6: fprintf(fp, "ipv6 "); break; + case AF_MPLS: + fprintf(fp, "mpls "); + break; default: fprintf(fp, "unknown "); break; @@ -131,6 +134,9 @@ int print_netconf(const struct sockaddr_nl *who, struct rtnl_ctrl_data *ctrl, print_onoff(fp, "ignore_routes_with_linkdown", rta_getattr_u32(tb[NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN])); + if (tb[NETCONFA_INPUT]) + print_onoff(fp, "input", rta_getattr_u32(tb[NETCONFA_INPUT])); + fprintf(fp, "\n"); fflush(fp); return 0;