net: blackhole route should always be recalculated
Blackhole routes are used when xfrm_lookup() returns -EREMOTE (error
triggered by IKE for example), hence this kind of route is always
temporary and so we should check if a better route exists for next
packets.
Bug has been introduced by commit d11a4dc18b.
Signed-off-by: Jianzhao Wang <jianzhao.wang@6wind.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
			
			
This commit is contained in:
		
							parent
							
								
									f6b085b69d
								
							
						
					
					
						commit
						ae2688d59b
					
				| @ -2738,6 +2738,11 @@ slow_output: | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(__ip_route_output_key); | ||||
| 
 | ||||
| static struct dst_entry *ipv4_blackhole_dst_check(struct dst_entry *dst, u32 cookie) | ||||
| { | ||||
| 	return NULL; | ||||
| } | ||||
| 
 | ||||
| static void ipv4_rt_blackhole_update_pmtu(struct dst_entry *dst, u32 mtu) | ||||
| { | ||||
| } | ||||
| @ -2746,7 +2751,7 @@ static struct dst_ops ipv4_dst_blackhole_ops = { | ||||
| 	.family			=	AF_INET, | ||||
| 	.protocol		=	cpu_to_be16(ETH_P_IP), | ||||
| 	.destroy		=	ipv4_dst_destroy, | ||||
| 	.check			=	ipv4_dst_check, | ||||
| 	.check			=	ipv4_blackhole_dst_check, | ||||
| 	.update_pmtu		=	ipv4_rt_blackhole_update_pmtu, | ||||
| 	.entries		=	ATOMIC_INIT(0), | ||||
| }; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user