cfm: Cleanup output of ovs-appctl "cfm/show" command.
[openvswitch] / lib / netlink.c
index 725bba02f203324e679be9c3fe01f638f7f72318..b4de3ed7cf408cab076cb0c310fdf52a478c9d51 100644 (file)
@@ -25,6 +25,7 @@
 #include "netlink-protocol.h"
 #include "ofpbuf.h"
 #include "timeval.h"
+#include "unaligned.h"
 #include "vlog.h"
 
 VLOG_DEFINE_THIS_MODULE(netlink);
@@ -435,7 +436,8 @@ nl_attr_get_u32(const struct nlattr *nla)
 uint64_t
 nl_attr_get_u64(const struct nlattr *nla)
 {
-    return NL_ATTR_GET_AS(nla, uint64_t);
+    const ovs_32aligned_u64 *x = nl_attr_get_unspec(nla, sizeof *x);
+    return get_32aligned_u64(x);
 }
 
 /* Returns the 16-bit network byte order value in 'nla''s payload.
@@ -462,7 +464,8 @@ nl_attr_get_be32(const struct nlattr *nla)
 ovs_be64
 nl_attr_get_be64(const struct nlattr *nla)
 {
-    return NL_ATTR_GET_AS(nla, ovs_be64);
+    const ovs_32aligned_be64 *x = nl_attr_get_unspec(nla, sizeof *x);
+    return get_32aligned_be64(x);
 }
 
 /* Returns the null-terminated string value in 'nla''s payload.
@@ -612,7 +615,7 @@ nl_parse_nested(const struct nlattr *nla, const struct nl_policy policy[],
     return nl_policy_parse(&buf, 0, policy, attrs, n_attrs);
 }
 
-static const struct nlattr *
+const struct nlattr *
 nl_attr_find__(const struct nlattr *attrs, size_t size, uint16_t type)
 {
     const struct nlattr *nla;