Skip to content

Conversation

@KanjiMonster
Copy link
Contributor

With libnl 3.12 the return code for -EHOSTUNREACH changed from -NLE_FAILURE to -NLE_HOSTUNREACH. This causes our code to assume something fatal broke, and terminate on unreachable:

baseboxd[1756]: F20251206 09:08:38.378911  1935 nl_route_query.h:95] query_route:%sHost is unreachable
baseboxd[1756]: *** Check failure stack trace: ***
baseboxd[1756]:     @     0x7fc6c510604d  google::LogMessage::Fail()
baseboxd[1756]:     @     0x7fc6c51085c6  google::LogMessage::SendToLog()
baseboxd[1756]:     @     0x7fc6c5105b8a  google::LogMessage::Flush()
baseboxd[1756]:     @     0x7fc6c5108c39  google::LogMessageFatal::~LogMessageFatal()
baseboxd[1756]:     @     0x55d9501e117e  (unknown)
baseboxd[1756]:     @     0x55d9501df17f  (unknown)
baseboxd[1756]:     @     0x55d9501ba68b  (unknown)
baseboxd[1756]:     @     0x7fc6c45b9083  rofl::cthread::handle_wakeup()
baseboxd[1756]:     @     0x7fc6c45b9718  rofl::cthread::run_loop()
baseboxd[1756]:     @     0x7fc6c3b8f5ea  (unknown)
baseboxd[1756]:     @     0x7fc6c3c11300  (unknown)

Fix this by checking for -NLE_HOSTUNREACH as well, and add a define in case we build against older libnl versions.

We still have to check for -NLE_FAILURE anyway.

Description

Motivation and Context

How Has This Been Tested?

With libnl 3.12 the return code for -EHOSTUNREACH changed from
-NLE_FAILURE to -NLE_HOSTUNREACH. This causes our code to assume
something fatal broke, and terminate on unreachable:

baseboxd[1756]: F20251206 09:08:38.378911  1935 nl_route_query.h:95] query_route:%sHost is unreachable
baseboxd[1756]: *** Check failure stack trace: ***
baseboxd[1756]:     @     0x7fc6c510604d  google::LogMessage::Fail()
baseboxd[1756]:     @     0x7fc6c51085c6  google::LogMessage::SendToLog()
baseboxd[1756]:     @     0x7fc6c5105b8a  google::LogMessage::Flush()
baseboxd[1756]:     @     0x7fc6c5108c39  google::LogMessageFatal::~LogMessageFatal()
baseboxd[1756]:     @     0x55d9501e117e  (unknown)
baseboxd[1756]:     @     0x55d9501df17f  (unknown)
baseboxd[1756]:     @     0x55d9501ba68b  (unknown)
baseboxd[1756]:     @     0x7fc6c45b9083  rofl::cthread::handle_wakeup()
baseboxd[1756]:     @     0x7fc6c45b9718  rofl::cthread::run_loop()
baseboxd[1756]:     @     0x7fc6c3b8f5ea  (unknown)
baseboxd[1756]:     @     0x7fc6c3c11300  (unknown)

Fix this by checking for -NLE_HOSTUNREACH as well, and add a define in
case we build against older libnl versions.

We still have to check for -NLE_FAILURE anyway.

Signed-off-by: Jonas Gorski <[email protected]>
@rubensfig rubensfig merged commit 938a59e into main Dec 10, 2025
4 checks passed
@rubensfig rubensfig deleted the jogo_libnl_3.12 branch December 10, 2025 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants