* [v3 RFC PATCH 4/8] netlink: Add NLM_F_NOREPLY flags.
@ 2011-03-03 1:02 David Miller
0 siblings, 0 replies; only message in thread
From: David Miller @ 2011-03-03 1:02 UTC (permalink / raw)
To: netdev
It is used to bypass the response generation for "GET" type
operations.
This mechanism can then be used to allow a query operation to be used
in a "benchmarking" role, since the actual overhead of the netlink
communications will be muted.
The first query to support this is inet_rtm_getroute().
Signed-off-by: David S. Miller <davem@davemloft.net>
---
include/linux/netlink.h | 2 ++
net/ipv4/route.c | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/include/linux/netlink.h b/include/linux/netlink.h
index e2b9e63..a4bc8d2 100644
--- a/include/linux/netlink.h
+++ b/include/linux/netlink.h
@@ -61,6 +61,8 @@ struct nlmsghdr {
#define NLM_F_CREATE 0x400 /* Create, if it does not exist */
#define NLM_F_APPEND 0x800 /* Add to end of list */
+#define NLM_F_NOREPLY 0x1000 /* Do not generate reply */
+
/*
4.4BSD ADD NLM_F_CREATE|NLM_F_EXCL
4.4BSD CHANGE NLM_F_REPLACE
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index efefefa..e59241f 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -2110,6 +2110,9 @@ static int inet_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr* nlh, void
goto errout_free;
skb_dst_set(skb, &rt->dst);
+ if (nlh->nlmsg_flags & NLM_F_NOREPLY)
+ goto errout_free;
+
if (rtm->rtm_flags & RTM_F_NOTIFY)
rt->rt_flags |= RTCF_NOTIFY;
--
1.7.4.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2011-03-03 1:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-03 1:02 [v3 RFC PATCH 4/8] netlink: Add NLM_F_NOREPLY flags David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).