From 35e4e8817bb0fd6d91cacc57830e0c4c0a50e3fb Mon Sep 17 00:00:00 2001 From: Jason Rhinelander Date: Wed, 28 Apr 2021 15:41:14 -0300 Subject: [PATCH] Add missing getIPv6 implementation --- llarp/net/sock_addr.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/llarp/net/sock_addr.cpp b/llarp/net/sock_addr.cpp index 3324493b3..85098d2ea 100644 --- a/llarp/net/sock_addr.cpp +++ b/llarp/net/sock_addr.cpp @@ -342,6 +342,17 @@ namespace llarp return {m_addr4.sin_addr.s_addr}; } + nuint128_t + SockAddr::getIPv6() const + { + nuint128_t a; + // Explicit cast to void* here to avoid non-trivial type copying warnings (technically this + // isn't trivial because of the zeroing default constructor, but it's trivial enough that this + // copy is safe). + std::memcpy(static_cast(&a), &m_addr.sin6_addr, 16); + return a; + } + void SockAddr::setIPv4(nuint32_t ip) {