From 9836c76ae048698e4f7dab21e3be37313e8392ae Mon Sep 17 00:00:00 2001 From: brunoerg Date: Mon, 3 Apr 2023 15:42:15 -0300 Subject: [PATCH 1/2] net: add `GetMappedAS` in `CConnman` --- src/net.cpp | 7 ++++++- src/net.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index 7023cb0f49..d020fe9ea0 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2598,6 +2598,11 @@ size_t CConnman::GetNodeCount(ConnectionDirection flags) const return nNum; } +uint32_t CConnman::GetMappedAS(const CNetAddr& addr) const +{ + return m_netgroupman.GetMappedAS(addr); +} + void CConnman::GetNodeStats(std::vector& vstats) const { vstats.clear(); @@ -2606,7 +2611,7 @@ void CConnman::GetNodeStats(std::vector& vstats) const for (CNode* pnode : m_nodes) { vstats.emplace_back(); pnode->CopyStats(vstats.back()); - vstats.back().m_mapped_as = m_netgroupman.GetMappedAS(pnode->addr); + vstats.back().m_mapped_as = GetMappedAS(pnode->addr); } } diff --git a/src/net.h b/src/net.h index 9b939aea5c..908b16f35e 100644 --- a/src/net.h +++ b/src/net.h @@ -851,6 +851,7 @@ public: bool AddConnection(const std::string& address, ConnectionType conn_type) EXCLUSIVE_LOCKS_REQUIRED(!m_unused_i2p_sessions_mutex); size_t GetNodeCount(ConnectionDirection) const; + uint32_t GetMappedAS(const CNetAddr& addr) const; void GetNodeStats(std::vector& vstats) const; bool DisconnectNode(const std::string& node); bool DisconnectNode(const CSubNet& subnet); From 0076bed45eb2b42111fa3f4c95181393c685a42e Mon Sep 17 00:00:00 2001 From: brunoerg Date: Mon, 3 Apr 2023 17:09:30 -0300 Subject: [PATCH 2/2] logging: log ASN when using `-asmap` When using `-asmap`, it will log the ASN from the peer on some logs (e.g. when a new outbound peer has been connected). --- src/net_processing.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 2348f6c059..2d75c67345 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -3367,10 +3367,11 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, if (fLogIPs) remoteAddr = ", peeraddr=" + pfrom.addr.ToStringAddrPort(); - LogPrint(BCLog::NET, "receive version message: %s: version %d, blocks=%d, us=%s, txrelay=%d, peer=%d%s\n", + const auto mapped_as{m_connman.GetMappedAS(pfrom.addr)}; + LogPrint(BCLog::NET, "receive version message: %s: version %d, blocks=%d, us=%s, txrelay=%d, peer=%d%s%s\n", cleanSubVer, pfrom.nVersion, peer->m_starting_height, addrMe.ToStringAddrPort(), fRelay, pfrom.GetId(), - remoteAddr); + remoteAddr, (mapped_as ? strprintf(", mapped_as=%d", mapped_as) : "")); int64_t nTimeOffset = nTime - GetTime(); pfrom.nTimeOffset = nTimeOffset; @@ -3410,9 +3411,11 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type, } if (!pfrom.IsInboundConn()) { - LogPrintf("New outbound peer connected: version: %d, blocks=%d, peer=%d%s (%s)\n", + const auto mapped_as{m_connman.GetMappedAS(pfrom.addr)}; + LogPrintf("New outbound peer connected: version: %d, blocks=%d, peer=%d%s%s (%s)\n", pfrom.nVersion.load(), peer->m_starting_height, pfrom.GetId(), (fLogIPs ? strprintf(", peeraddr=%s", pfrom.addr.ToStringAddrPort()) : ""), + (mapped_as ? strprintf(", mapped_as=%d", mapped_as) : ""), pfrom.ConnectionTypeAsString()); }