projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vswitchd: Initialize configuration on active-backup bonds.
[openvswitch]
/
lib
/
netlink.c
diff --git
a/lib/netlink.c
b/lib/netlink.c
index 48a52ee343172766e89eb6bfa9619502b7932967..ec358495946b5364380236ea6566661a3ff8d6d3 100644
(file)
--- a/
lib/netlink.c
+++ b/
lib/netlink.c
@@
-25,6
+25,7
@@
#include "netlink-protocol.h"
#include "ofpbuf.h"
#include "timeval.h"
#include "netlink-protocol.h"
#include "ofpbuf.h"
#include "timeval.h"
+#include "unaligned.h"
#include "vlog.h"
VLOG_DEFINE_THIS_MODULE(netlink);
#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)
{
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.
}
/* 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)
{
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.
}
/* Returns the null-terminated string value in 'nla''s payload.
@@
-582,6
+585,9
@@
nl_policy_parse(const struct ofpbuf *msg, size_t nla_offset,
assert(n_required > 0);
--n_required;
}
assert(n_required > 0);
--n_required;
}
+ if (attrs[type]) {
+ VLOG_DBG_RL(&rl, "%zu: duplicate attr %"PRIu16, offset, type);
+ }
attrs[type] = nla;
} else {
/* Skip attribute type that we don't care about. */
attrs[type] = nla;
} else {
/* Skip attribute type that we don't care about. */