OSDN Git Service

Add dst_feature to query route entry features
authorGilad Ben-Yossef <gilad@codefidence.com>
Wed, 28 Oct 2009 04:15:23 +0000 (04:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Oct 2009 08:28:42 +0000 (01:28 -0700)
Adding an accessor to existing  dst_entry feautres field and
refactor the only supported feature (allfrag) to use it.

Signed-off-by: Gilad Ben-Yossef <gilad@codefidence.com>
Sigend-off-by: Ori Finkelman <ori@comsleep.com>
Sigend-off-by: Yony Amit <yony@comsleep.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/dst.h

index 720d906..6377ab2 100644 (file)
@@ -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;