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

Commit 5170ae82 authored by David S. Miller's avatar David S. Miller
Browse files

net: Abstract RTAX_HOPLIMIT metric accesses behind helper.

parent abbf46ae
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -277,7 +277,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
	iph->tos      = 0;
	iph->daddr    = rt->rt_dst;
	iph->saddr    = rt->rt_src;
	iph->ttl      = dst_metric(&rt->dst, RTAX_HOPLIMIT);
	iph->ttl      = dst_metric_hoplimit(&rt->dst);
	iph->tot_len  = htons(skb->len);

	skb_dst_drop(skb);
+14 −1
Original line number Diff line number Diff line
@@ -104,11 +104,24 @@ struct dst_entry {
#ifdef __KERNEL__

static inline u32
dst_metric(const struct dst_entry *dst, int metric)
dst_metric_raw(const struct dst_entry *dst, const int metric)
{
	return dst->_metrics[metric-1];
}

static inline u32
dst_metric(const struct dst_entry *dst, const int metric)
{
	WARN_ON_ONCE(metric == RTAX_HOPLIMIT);
	return dst_metric_raw(dst, metric);
}

static inline u32
dst_metric_hoplimit(const struct dst_entry *dst)
{
	return dst_metric_raw(dst, RTAX_HOPLIMIT);
}

static inline void dst_metric_set(struct dst_entry *dst, int metric, u32 val)
{
	dst->_metrics[metric-1] = val;
+1 −1
Original line number Diff line number Diff line
@@ -890,7 +890,7 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
			iph->ttl = ((struct ipv6hdr *)old_iph)->hop_limit;
#endif
		else
			iph->ttl = dst_metric(&rt->dst, RTAX_HOPLIMIT);
			iph->ttl = dst_metric_hoplimit(&rt->dst);
	}

	((__be16 *)(iph + 1))[0] = tunnel->parms.o_flags;
+1 −1
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
	int ttl = inet->uc_ttl;

	if (ttl < 0)
		ttl = dst_metric(dst, RTAX_HOPLIMIT);
		ttl = dst_metric_hoplimit(dst);
	return ttl;
}

+1 −1
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ static void send_reset(struct sk_buff *oldskb, int hook)
	if (ip_route_me_harder(nskb, addr_type))
		goto free_nskb;

	niph->ttl	= dst_metric(skb_dst(nskb), RTAX_HOPLIMIT);
	niph->ttl	= dst_metric_hoplimit(skb_dst(nskb));

	/* "Never happens" */
	if (nskb->len > dst_mtu(skb_dst(nskb)))
Loading