]> granicus.if.org Git - libnl/commit
lib: update ce-mask to uint64_t
authorDavid Ahern <dsa@cumulusnetworks.com>
Fri, 18 Dec 2015 17:50:03 +0000 (09:50 -0800)
committerThomas Haller <thaller@redhat.com>
Fri, 12 Feb 2016 17:09:04 +0000 (18:09 +0100)
commita09b8558148b31e469d463907d103fa78d81612c
tree0ecd7ff2d09af28256b69d612beea3f0a6aff3ca
parent58396ae2ae7c91fb95d1de9654be5b12fd2343d2
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>
25 files changed:
include/netlink-private/netlink.h
include/netlink-private/object-api.h
include/netlink-private/route/tc-api.h
include/netlink/object.h
lib/fib_lookup/lookup.c
lib/fib_lookup/request.c
lib/genl/family.c
lib/idiag/idiag_meminfo_obj.c
lib/idiag/idiag_msg_obj.c
lib/idiag/idiag_vegasinfo_obj.c
lib/netfilter/ct_obj.c
lib/netfilter/exp_obj.c
lib/netfilter/log_obj.c
lib/netfilter/queue_obj.c
lib/object.c
lib/route/addr.c
lib/route/link.c
lib/route/neigh.c
lib/route/neightbl.c
lib/route/route_obj.c
lib/route/rule.c
lib/route/tc.c
lib/xfrm/ae.c
lib/xfrm/sa.c
lib/xfrm/sp.c