From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [PATCH 2/2] ipmonitor: decode DELNETCONF message Date: Wed, 15 Aug 2018 14:29:42 -0700 Message-ID: <20180815212942.25276-3-stephen@networkplumber.org> References: <20180815212942.25276-1-stephen@networkplumber.org> Cc: Stephen Hemminger , Stephen Hemminger To: netdev@vger.kernel.org Return-path: Received: from mail-pg1-f196.google.com ([209.85.215.196]:37243 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726763AbeHPAXo (ORCPT ); Wed, 15 Aug 2018 20:23:44 -0400 Received: by mail-pg1-f196.google.com with SMTP id n7-v6so1051263pgq.4 for ; Wed, 15 Aug 2018 14:29:48 -0700 (PDT) In-Reply-To: <20180815212942.25276-1-stephen@networkplumber.org> Sender: netdev-owner@vger.kernel.org List-ID: From: Stephen Hemminger When device is deleted DELNETCONF is sent, but ipmonitor was unable to decode it. Signed-off-by: Stephen Hemminger --- ip/ipmonitor.c | 1 + ip/ipnetconf.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ip/ipmonitor.c b/ip/ipmonitor.c index 5552d98ee9e5..a93b62cd6624 100644 --- a/ip/ipmonitor.c +++ b/ip/ipmonitor.c @@ -133,6 +133,7 @@ static int accept_msg(const struct sockaddr_nl *who, return 0; case RTM_NEWNETCONF: + case RTM_DELNETCONF: print_headers(fp, "[NETCONF]", ctrl); print_netconf(who, ctrl, n, arg); return 0; diff --git a/ip/ipnetconf.c b/ip/ipnetconf.c index 03f98ace9145..afce982ced37 100644 --- a/ip/ipnetconf.c +++ b/ip/ipnetconf.c @@ -66,7 +66,8 @@ int print_netconf(const struct sockaddr_nl *who, struct rtnl_ctrl_data *ctrl, if (n->nlmsg_type == NLMSG_ERROR) return -1; - if (n->nlmsg_type != RTM_NEWNETCONF) { + + if (n->nlmsg_type != RTM_NEWNETCONF && n->nlmsg_type != RTM_DELNETCONF) { fprintf(stderr, "Not RTM_NEWNETCONF: %08x %08x %08x\n", n->nlmsg_len, n->nlmsg_type, n->nlmsg_flags); @@ -91,6 +92,9 @@ int print_netconf(const struct sockaddr_nl *who, struct rtnl_ctrl_data *ctrl, return 0; open_json_object(NULL); + if (n->nlmsg_type == RTM_DELNETCONF) + print_bool(PRINT_ANY, "deleted", "Deleted ", true); + print_string(PRINT_ANY, "family", "%s ", family_name(ncm->ncm_family)); -- 2.18.0