diff options
author | David Ahern <dsa@cumulusnetworks.com> | 2015-12-18 17:50:03 (GMT) |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-02-12 17:09:04 (GMT) |
commit | a09b8558148b31e469d463907d103fa78d81612c (patch) | |
tree | 0ecd7ff2d09af28256b69d612beea3f0a6aff3ca /lib/route/tc.c | |
parent | 58396ae2ae7c91fb95d1de9654be5b12fd2343d2 (diff) | |
download | libnl-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.c | 6 |
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) |