br_nf_pre_routing_finish
函数会调用ip_route_input函数,判断ip_route_input
的返回值是否等于EHOSTUNREACH
。但我进一步发现ip_route_input
似乎并没有返回EHOSTUNREACH
。谁能指出这是否是一个错误或者我是否错过了一些要点? linux版本是v6.8。 https://elixir.bootlin.com/linux/v6.8/source/net/bridge/br_netfilter_hooks.c#L388
ip_route_input
确实返回EHOSTUNREACH
。实际上,如果你仔细查看它的函数调用,你会注意到 ip_route_input_slow
有时会返回 EHOSTUNREACH
。这是以下代码路径:
br_nf_pre_routing_finish
ip_route_input
ip_route_input_noref
ip_route_input_rcu
ip_route_input_slow