From 98df0c81dac41bcd4ccad67ec6886dab25825be0 Mon Sep 17 00:00:00 2001 From: Roman Mashak Date: Wed, 16 Nov 2016 17:30:20 -0500 Subject: [PATCH] tc: distinguish Add/Replace filter operations Signed-off-by: Roman Mashak Signed-off-by: Jamal Hadi Salim --- tc/tc_filter.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tc/tc_filter.c b/tc/tc_filter.c index 932677a0..ff8713b9 100644 --- a/tc/tc_filter.c +++ b/tc/tc_filter.c @@ -226,6 +226,16 @@ int print_filter(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) if (n->nlmsg_type == RTM_DELTFILTER) fprintf(fp, "deleted "); + if (n->nlmsg_type == RTM_NEWTFILTER && + (n->nlmsg_flags & NLM_F_CREATE) && + !(n->nlmsg_flags & NLM_F_EXCL)) + fprintf(fp, "replaced "); + + if (n->nlmsg_type == RTM_NEWTFILTER && + (n->nlmsg_flags & NLM_F_CREATE) && + (n->nlmsg_flags & NLM_F_EXCL)) + fprintf(fp, "added "); + fprintf(fp, "filter "); if (!filter_ifindex || filter_ifindex != t->tcm_ifindex) fprintf(fp, "dev %s ", ll_index_to_name(t->tcm_ifindex));