提交 0c3adfb8 编写于 作者: G Gilad Ben-Yossef 提交者: David S. Miller

Add dst_feature to query route entry features

Adding an accessor to existing  dst_entry feautres field and
refactor the only supported feature (allfrag) to use it.
Signed-off-by: NGilad Ben-Yossef <gilad@codefidence.com>
Sigend-off-by: NOri Finkelman <ori@comsleep.com>
Sigend-off-by: NYony Amit <yony@comsleep.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 022c3f7d
...@@ -111,6 +111,12 @@ dst_metric(const struct dst_entry *dst, int metric) ...@@ -111,6 +111,12 @@ dst_metric(const struct dst_entry *dst, int metric)
return dst->metrics[metric-1]; 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) static inline u32 dst_mtu(const struct dst_entry *dst)
{ {
u32 mtu = dst_metric(dst, RTAX_MTU); u32 mtu = dst_metric(dst, RTAX_MTU);
...@@ -136,7 +142,7 @@ static inline void set_dst_metric_rtt(struct dst_entry *dst, int metric, ...@@ -136,7 +142,7 @@ static inline void set_dst_metric_rtt(struct dst_entry *dst, int metric,
static inline u32 static inline u32
dst_allfrag(const struct dst_entry *dst) 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. */ /* Yes, _exactly_. This is paranoia. */
barrier(); barrier();
return ret; return ret;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册