mirror of https://gitee.com/openkylin/linux.git
ipv6: Use ip6_dst_hoplimit() instead of direct dst_metric() calls.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1635953305
commit
abbf46ae0e
|
@ -124,7 +124,7 @@ static void send_reset(struct net *net, struct sk_buff *oldskb)
|
|||
skb_reset_network_header(nskb);
|
||||
ip6h = ipv6_hdr(nskb);
|
||||
ip6h->version = 6;
|
||||
ip6h->hop_limit = dst_metric(dst, RTAX_HOPLIMIT);
|
||||
ip6h->hop_limit = ip6_dst_hoplimit(dst);
|
||||
ip6h->nexthdr = IPPROTO_TCP;
|
||||
ipv6_addr_copy(&ip6h->saddr, &oip6h->daddr);
|
||||
ipv6_addr_copy(&ip6h->daddr, &oip6h->saddr);
|
||||
|
|
|
@ -1119,6 +1119,7 @@ int ip6_dst_hoplimit(struct dst_entry *dst)
|
|||
}
|
||||
return hoplimit;
|
||||
}
|
||||
EXPORT_SYMBOL(ip6_dst_hoplimit);
|
||||
|
||||
/*
|
||||
*
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <net/dsfield.h>
|
||||
#include <net/dst.h>
|
||||
#include <net/inet_ecn.h>
|
||||
#include <net/ip6_route.h>
|
||||
#include <net/ipv6.h>
|
||||
#include <net/xfrm.h>
|
||||
|
||||
|
@ -53,7 +54,7 @@ static int xfrm6_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
|
|||
if (x->props.flags & XFRM_STATE_NOECN)
|
||||
dsfield &= ~INET_ECN_MASK;
|
||||
ipv6_change_dsfield(top_iph, 0, dsfield);
|
||||
top_iph->hop_limit = dst_metric(dst->child, RTAX_HOPLIMIT);
|
||||
top_iph->hop_limit = ip6_dst_hoplimit(dst->child);
|
||||
ipv6_addr_copy(&top_iph->saddr, (struct in6_addr *)&x->props.saddr);
|
||||
ipv6_addr_copy(&top_iph->daddr, (struct in6_addr *)&x->id.daddr);
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue