diff --git a/src/init.cpp b/src/init.cpp --- a/src/init.cpp +++ b/src/init.cpp @@ -396,6 +396,8 @@ // Hidden Options std::vector hidden_args = { + // Don't apply addrman network group limit for outbound connections + "-bypassnetgrouplimit", "-dbcrashratio", "-forcecompactdb", "-maxaddrtosend", diff --git a/src/net.cpp b/src/net.cpp --- a/src/net.cpp +++ b/src/net.cpp @@ -2436,6 +2436,8 @@ int64_t nANow = GetAdjustedTime(); int nTries = 0; + const bool fBypassNetGroupLimit = + gArgs.GetBoolArg("-bypassnetgrouplimit", false); while (!interruptNet) { if (anchor && !m_anchors.empty()) { const CAddress addr = m_anchors.back(); @@ -2490,7 +2492,7 @@ // Require outbound connections, other than feelers, to be to // distinct network groups - if (!fFeeler && + if (!fFeeler && !fBypassNetGroupLimit && setConnected.count(addr.GetGroup(addrman.m_asmap))) { break; } diff --git a/test/lint/check-doc.py b/test/lint/check-doc.py --- a/test/lint/check-doc.py +++ b/test/lint/check-doc.py @@ -45,6 +45,7 @@ SET_FALSE_POSITIVE_UNDOCUMENTED = set([ '-help', '-h', + '-bypassnetgrouplimit', '-dbcrashratio', '-enableminerfund', '-forcecompactdb',