diff --git a/[refs] b/[refs] index 3322a1dff1e1..95789f9d1d78 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 022c3f7d82f0f1c68018696f2f027b87b9bb45c2 +refs/heads/master: 0c3adfb8ec9f85a63556b70f11e0fcf280545951 diff --git a/trunk/include/net/dst.h b/trunk/include/net/dst.h index 720d90653a8e..6377ab2feba9 100644 --- a/trunk/include/net/dst.h +++ b/trunk/include/net/dst.h @@ -111,6 +111,12 @@ dst_metric(const struct dst_entry *dst, int metric) return dst->metrics[metric-1]; } +static inline u32 +dst_feature(const struct dst_entry *dst, u32 feature) +{ + return dst_metric(dst, RTAX_FEATURES) & feature; +} + static inline u32 dst_mtu(const struct dst_entry *dst) { u32 mtu = dst_metric(dst, RTAX_MTU); @@ -136,7 +142,7 @@ static inline void set_dst_metric_rtt(struct dst_entry *dst, int metric, static inline u32 dst_allfrag(const struct dst_entry *dst) { - int ret = dst_metric(dst, RTAX_FEATURES) & RTAX_FEATURE_ALLFRAG; + int ret = dst_feature(dst, RTAX_FEATURE_ALLFRAG); /* Yes, _exactly_. This is paranoia. */ barrier(); return ret;