summaryrefslogtreecommitdiffstats
path: root/lib/route/tc.c
diff options
context:
space:
mode:
authorDavid Ahern <dsa@cumulusnetworks.com>2015-12-18 17:50:03 (GMT)
committerThomas Haller <thaller@redhat.com>2016-02-12 17:09:04 (GMT)
commita09b8558148b31e469d463907d103fa78d81612c (patch)
tree0ecd7ff2d09af28256b69d612beea3f0a6aff3ca /lib/route/tc.c
parent58396ae2ae7c91fb95d1de9654be5b12fd2343d2 (diff)
downloadlibnl-a09b8558148b31e469d463907d103fa78d81612c.zip
libnl-a09b8558148b31e469d463907d103fa78d81612c.tar.gz
libnl-a09b8558148b31e469d463907d103fa78d81612c.tar.bz2
lib: update ce-mask to uint64_t
lib/route/link.c already defines 32 attributes which fills the current uint32_t used for ce_mask. To accommodate more attributes the mask needs to be expanded. This patch updates the definition to uint64_t. The nl_object_diff API is maintained for ABI with existing users. A new nl_object_diff64 API is added for the expanded attribute list. The MSB of the 32-bit API is used to indicate if higher order attributes had a mismatch. (Suggested by Thomas). Note that LINK_ATTR_LINK_NETNSID changes. But since the attribute flags are not public API it shouldn't be a problem. http://lists.infradead.org/pipermail/libnl/2015-December/002078.html http://lists.infradead.org/pipermail/libnl/2015-December/002083.html Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: Thomas Haller <thaller@redhat.com>
Diffstat (limited to 'lib/route/tc.c')
-rw-r--r--lib/route/tc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/route/tc.c b/lib/route/tc.c
index 35daf15..384e857 100644
--- a/lib/route/tc.c
+++ b/lib/route/tc.c
@@ -932,12 +932,12 @@ void rtnl_tc_dump_stats(struct nl_object *obj, struct nl_dump_params *p)
tc->tc_stats[RTNL_TC_RATE_PPS]);
}
-int rtnl_tc_compare(struct nl_object *aobj, struct nl_object *bobj,
- uint32_t attrs, int flags)
+uint64_t rtnl_tc_compare(struct nl_object *aobj, struct nl_object *bobj,
+ uint64_t attrs, int flags)
{
struct rtnl_tc *a = TC_CAST(aobj);
struct rtnl_tc *b = TC_CAST(bobj);
- int diff = 0;
+ uint64_t diff = 0;
#define TC_DIFF(ATTR, EXPR) ATTR_DIFF(attrs, TCA_ATTR_##ATTR, a, b, EXPR)