]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ipv6: Add ipv6_addr_{cpu_to_be32,be32_to_cpu} helpers
authorSimon Horman <horms@kernel.org>
Tue, 13 Aug 2024 13:33:47 +0000 (14:33 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 16 Aug 2024 17:27:48 +0000 (10:27 -0700)
Add helpers to convert an ipv6 addr, expressed as an array
of words, from CPU to big-endian byte order, and vice versa.

No functional change intended.
Compile tested only.

Suggested-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/netdev/c7684349-535c-45a4-9a74-d47479a50020@lunn.ch/
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240813-ipv6_addr-helpers-v2-1-5c974f8cca3e@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/ipv6.h

index 88a8e554f7a126a1d817c0cc3bb947c7a43c5cdf..e7113855a10fd0b31dcc913c183f9997e9cdc3f5 100644 (file)
@@ -1365,4 +1365,16 @@ static inline void ip6_sock_set_recvpktinfo(struct sock *sk)
        release_sock(sk);
 }
 
+#define IPV6_ADDR_WORDS 4
+
+static inline void ipv6_addr_cpu_to_be32(__be32 *dst, const u32 *src)
+{
+       cpu_to_be32_array(dst, src, IPV6_ADDR_WORDS);
+}
+
+static inline void ipv6_addr_be32_to_cpu(u32 *dst, const __be32 *src)
+{
+       be32_to_cpu_array(dst, src, IPV6_ADDR_WORDS);
+}
+
 #endif /* _NET_IPV6_H */