From: Phil Sutter <[email protected]>
Date: Tue, 19 Dec 2017 15:17:13 +0100

> The recently added fib_metrics_match() causes a regression for routes
> with both RTAX_FEATURES and RTAX_CC_ALGO if the latter has
> TCP_CONG_NEEDS_ECN flag set:
> 
> | # ip link add d0 type dummy
> | # ip link set d0 up
> | # ip route add 172.29.29.0/24 dev d0 features ecn congctl dctcp
> | # ip route del 172.29.29.0/24 dev d0 features ecn congctl dctcp
> | RTNETLINK answers: No such process
> 
> During route insertion, fib_convert_metrics() detects that the given CC
> algo requires ECN and hence sets DST_FEATURE_ECN_CA bit in
> RTAX_FEATURES.
> 
> During route deletion though, fib_metrics_match() compares stored
> RTAX_FEATURES value with that from userspace (which obviously has no
> knowledge about DST_FEATURE_ECN_CA) and fails.
> 
> Fixes: 5f9ae3d9e7e4a ("ipv4: do metrics match when looking up and deleting a 
> route")
> Signed-off-by: Phil Sutter <[email protected]>

Good catch, applied and queued up for -stable.

Reply via email to