diff mbox

[iproute2] ip route: Add annotation for replaced routes

Message ID 1465502742-17289-1-git-send-email-dsa@cumulusnetworks.com
State Changes Requested, archived
Delegated to: stephen hemminger
Headers show

Commit Message

David Ahern June 9, 2016, 8:05 p.m. UTC
If NLM_F_REPLACE flag is set then a route is replacing an existing route.
Prepend "Replaced " to these routes similar to how "Deleted " is added
to deleted routes.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
 ip/iproute.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Stephen Hemminger June 14, 2016, 9:34 p.m. UTC | #1
On Thu,  9 Jun 2016 13:05:42 -0700
David Ahern <dsa@cumulusnetworks.com> wrote:

> If NLM_F_REPLACE flag is set then a route is replacing an existing route.
> Prepend "Replaced " to these routes similar to how "Deleted " is added
> to deleted routes.
> 
> Signed-off-by: David Ahern <dsa@cumulusnetworks.com>

Why just routes, there are several other places where Replaced entries could
be returned?
David Ahern June 14, 2016, 9:37 p.m. UTC | #2
On 6/14/16 3:34 PM, Stephen Hemminger wrote:
> On Thu,  9 Jun 2016 13:05:42 -0700
> David Ahern <dsa@cumulusnetworks.com> wrote:
>
>> If NLM_F_REPLACE flag is set then a route is replacing an existing route.
>> Prepend "Replaced " to these routes similar to how "Deleted " is added
>> to deleted routes.
>>
>> Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
>
> Why just routes, there are several other places where Replaced entries could
> be returned?
>

b/c that's the use case I was investigating. :-)

Will add the others.
diff mbox

Patch

diff --git a/ip/iproute.c b/ip/iproute.c
index 8224d7ffa94b..28b47bcb7312 100644
--- a/ip/iproute.c
+++ b/ip/iproute.c
@@ -363,6 +363,8 @@  int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 			return 0;
 	}
 
+	if (n->nlmsg_flags & NLM_F_REPLACE)
+		fprintf(fp, "Replaced ");
 	if (n->nlmsg_type == RTM_DELROUTE)
 		fprintf(fp, "Deleted ");
 	if ((r->rtm_type != RTN_UNICAST || show_details > 0) && !filter.type)