dscp_policy - use a more efficient v6_equal()
This is meant to optimize dscp_policy bpf verifier time at boot. Bug: 230585250 Test: TreeHugger Signed-off-by: Maciej Żenczykowski <maze@google.com> Change-Id: I1ecd61db80919e2fa1fcbac00348f10a80b77620
This commit is contained in:
parent
af7101ff0f
commit
3fc472dd39
1 changed files with 5 additions and 6 deletions
|
|
@ -26,12 +26,11 @@
|
|||
|
||||
#define STRUCT_SIZE(name, size) _Static_assert(sizeof(name) == (size), "Incorrect struct size.")
|
||||
|
||||
#ifndef v6_equal
|
||||
#define v6_equal(a, b) (a.s6_addr32[0] == b.s6_addr32[0] && \
|
||||
a.s6_addr32[1] == b.s6_addr32[1] && \
|
||||
a.s6_addr32[2] == b.s6_addr32[2] && \
|
||||
a.s6_addr32[3] == b.s6_addr32[3])
|
||||
#endif
|
||||
#define v6_equal(a, b) \
|
||||
(((a.s6_addr32[0] ^ b.s6_addr32[0]) | \
|
||||
(a.s6_addr32[1] ^ b.s6_addr32[1]) | \
|
||||
(a.s6_addr32[2] ^ b.s6_addr32[2]) | \
|
||||
(a.s6_addr32[3] ^ b.s6_addr32[3])) == 0)
|
||||
|
||||
// TODO: these are already defined in packages/modules/Connectivity/bpf_progs/bpf_net_helpers.h.
|
||||
// smove to common location in future.
|
||||
|
|
|
|||
Loading…
Reference in a new issue