Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c3adfb8 authored by Gilad Ben-Yossef's avatar Gilad Ben-Yossef Committed by David S. Miller
Browse files

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: default avatarGilad Ben-Yossef <gilad@codefidence.com>
Sigend-off-by: default avatarOri Finkelman <ori@comsleep.com>
Sigend-off-by: default avatarYony Amit <yony@comsleep.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 022c3f7d
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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;