[From nobody Sun May 29 05:38:44 2016
Received: from zmta01.collab.prod.int.phx2.redhat.com (LHLO
 zmta01.collab.prod.int.phx2.redhat.com) (10.5.81.8) by
 zmail21.collab.prod.int.phx2.redhat.com with LMTP; Mon, 2 Nov 2015 17:12:46
 -0500 (EST)
Received: from int-mx10.intmail.prod.int.phx2.redhat.com
 (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by
 zmta01.collab.prod.int.phx2.redhat.com (Postfix) with ESMTP id 25E531854EF
 for &lt;thaller@mail.corp.redhat.com&gt;; Mon,  2 Nov 2015 17:12:46 -0500 (EST)
Received: from mx1.redhat.com (ext-mx08.extmail.prod.ext.phx2.redhat.com
 [10.5.110.32]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4)
 with ESMTP id tA2MCkeo006153 (version=TLSv1/SSLv3
 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for
 &lt;thaller@redhat.com&gt;; Mon, 2 Nov 2015 17:12:46 -0500
Received: from mail-pa0-f41.google.com (mail-pa0-f41.google.com
 [209.85.220.41]) by mx1.redhat.com (Postfix) with ESMTPS id 6013DC0AEE53
 for &lt;thaller@redhat.com&gt;; Mon,  2 Nov 2015 22:12:45 +0000 (UTC)
Received: by pacfv9 with SMTP id fv9so167336060pac.3 for
 &lt;thaller@redhat.com&gt;; Mon, 02 Nov 2015 14:12:44 -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=oHyIkk/mEdLb/JgB9O0vLd2k2YwhgbgeCdd5QM+FEtA=;
 b=RWMz8sHsUtJ0On6tZmw8jN/hD1ptAeT3v2Omqxx9+Nbf/5aNwq6IcH6GtcgqMFO73x
 WZ0cL41vb1A1ZojICnp392hDBG4ZhKMUX0iJKnDSD4sTOacKK9CsLJ1VY2DKBXegzf5B
 OcjSFvx9awYGarj3gYjW5UUUD73b5etoNb3SI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net;
 s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id;
 bh=oHyIkk/mEdLb/JgB9O0vLd2k2YwhgbgeCdd5QM+FEtA=;
 b=NaeT60VgyCN95gOzR60P2fH2yjRmVzN9CjmiJAKy4ROISqM444qMYdu2YCm4ojJNlc
 atBnNgx20lJ8L7EHnT0vGlJGKEjURTi6PpxOJP2PVEhuCGhbzaad2ewHwSTQpcWGYoX4
 4IEU34j/61FwvInN867afPpVhv6s543qcczqH/p0Wo7GVcMlgJD9YkqPQXFX+ngqnf4p
 lH/27gWNAc87s5wz6EJ6HuC9c9CgRrj0GglJ80QIbnnwVCvvLks+Yfaqhqj+FwZz+7tw
 8aihSL9A//qUiR3tDFlL6Dz3JPAIT37RHyYa3fSP4UEDawkkK2jUdvH7Lbo31+SCfEwM TXUw==
X-Gm-Message-State: ALoCoQkBBJWQQ0YLkbg7rTAj31aJpUfay853n945J6vv5+bCP31MNF3JYTKnnzthFy2wbLAk3SB/
X-Received: by 10.68.179.101 with SMTP id
 df5mr29541134pbc.73.1446501936841; Mon, 02 Nov 2015 14:05:36 -0800 (PST)
Received: from hydra-01.cumulusnetworks.com ([216.129.126.126]) by
 smtp.googlemail.com with ESMTPSA id bz1sm25892966pab.20.2015.11.02.14.05.36
 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 02
 Nov 2015 14:05:36 -0800 (PST)
From: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
X-Google-Original-From: Roopa Prabhu
To: libnl@lists.infradead.org
Cc: thaller@redhat.com, roopa@cumulusnetworks.com
Subject: [PATCH 1/6] nl_object: add new ce_msgflags field to nl_object
Date: Mon,  2 Nov 2015 14:05:24 -0800
Message-Id: &lt;1446501929-32003-2-git-send-email-roopa@cumulusnetworks.com&gt;
X-RedHat-Spam-Score: 2.08 **
 (ANY_BOUNCE_MESSAGE, BAYES_50, BOUNCE_MESSAGE, DCC_REPUT_13_19, DKIM_SIGNED,
 DKIM_VALID, DKIM_VALID_AU, DSN_NO_MIMEVERSION, RCVD_IN_DNSWL_LOW,
 RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, URIBL_BLOCKED)
 209.85.220.41 mail-pa0-f41.google.com 209.85.220.41 mail-pa0-f41.google.com
 &lt;&gt;
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23
X-Scanned-By: MIMEDefang 2.78 on 10.5.110.32
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable

From: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;

This patch adds a new flag ce_msgflags to nl_object and
adds a first user of this flag, the route object.

This enables the route cache to make proper cache inclusion
decisions based on netlink msg flags like NLM_F_APPEND,
NLM_F_REPLACE

Signed-off-by: Roopa Prabhu &lt;roopa@cumulusnetworks.com&gt;
---
 include/netlink-private/object-api.h |    1 +
 lib/route/route_obj.c                |    1 +
 2 files changed, 2 insertions(+)

diff --git a/include/netlink-private/object-api.h b/include/netlink-private=
/object-api.h
index f4fd71e..aaade6c 100644
--- a/include/netlink-private/object-api.h
+++ b/include/netlink-private/object-api.h
@@ -188,6 +188,7 @@ extern &quot;C&quot; {
 	struct nl_cache *	ce_cache;	\
 	struct nl_list_head	ce_list;	\
 	int			ce_msgtype;	\
+	int			ce_msgflags;	\
 	int			ce_flags;	\
 	uint32_t		ce_mask;
=20
diff --git a/lib/route/route_obj.c b/lib/route/route_obj.c
index 4063c6f..1d7ce57 100644
--- a/lib/route/route_obj.c
+++ b/lib/route/route_obj.c
@@ -1020,6 +1020,7 @@ int rtnl_route_parse(struct nlmsghdr *nlh, struct rtn=
l_route **result)
 	}
=20
 	route-&gt;ce_msgtype =3D nlh-&gt;nlmsg_type;
+	route-&gt;ce_msgflags =3D nlh-&gt;nlmsg_flags;
=20
 	err =3D nlmsg_parse(nlh, sizeof(struct rtmsg), tb, RTA_MAX, route_policy)=
;
 	if (err &lt; 0)
--=20
1.7.10.4

]