ipv6: Use ipv6_get_dsfield() instead of ipv6_tclass().
Subsystems (3)
PATCH 3/7 ipv6: Use ipv6_get_dsfield() instead of ipv6_tclass().
Commit 7a3198a8 ("ipv6: helper function to get tclass") introduced ipv6_tclass(), but similar function is already available as ipv6_get_dsfield().
We might be able to call ipv6_tclass() from ipv6_get_dsfield(), but it is confusing to have two versions.
Signed-off-by YOSHIFUJI Hideaki <[email protected]>
--- include/linux/ipv6.h | 5 ----- net/ipv6/datagram.c | 3 ++- net/ipv6/tcp_ipv6.c | 6 +++--- 3 files changed, 5 insertions(+), 9 deletions(-)
include/linux/ipv6.h +0 -5
@@ -77,11 +77,6 @@ static inline struct ipv6hdr *ipipv6_hdr(const struct sk_buff *skb)return (struct ipv6hdr *)skb_transport_header (skb); } -static inline __u8 ipv6_tclass (const struct ipv6hdr *iph) -{ -return (ntohl (*(__be32 *)iph) >>20 ) &0xff ; -} -/* This structure contains results of exthdrs parsing as offsets from skb->nh.
net/ipv6/datagram.c +2 -1
@@ -30,6 +30,7 @@#include <net/transp_v6.h> #include <net/ip6_route.h> #include <net/tcp_states.h> +#include <net/dsfield.h> #include <linux/errqueue.h> #include <asm/uaccess.h>
@@ -487,7 +488,7 @@ int datagram_recv_ctl(struct sock *sk, struct msghdr *msg, struct sk_buff *skb) }if (np->rxopt.bits.rxtclass) { -int tclass =ipv6_tclass (ipv6_hdr (skb)); +int tclass =ipv6_get_dsfield (ipv6_hdr (skb));put_cmsg (msg,SOL_IPV6 ,IPV6_TCLASS ,sizeof (tclass), &tclass); }
net/ipv6/tcp_ipv6.c +3 -3
@@ -1163,7 +1163,7 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, newnp->opt =NULL ; newnp->mcast_oif =inet6_iif (skb); newnp->mcast_hops =ipv6_hdr (skb)->hop_limit; - newnp->rcv_tclass =ipv6_tclass (ipv6_hdr (skb)); + newnp->rcv_tclass =ipv6_get_dsfield (ipv6_hdr (skb));/* * No need to charge this sock to the relevant IPv6 refcnt debug socks count
@@ -1243,7 +1243,7 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, newnp->opt =NULL ; newnp->mcast_oif =inet6_iif (skb); newnp->mcast_hops =ipv6_hdr (skb)->hop_limit; - newnp->rcv_tclass =ipv6_tclass (ipv6_hdr (skb)); + newnp->rcv_tclass =ipv6_get_dsfield (ipv6_hdr (skb));/* Clone native IPv6 options from listening socket (if any)
@@ -1456,7 +1456,7 @@ ipv6_pktoptions:if (np->rxopt.bits.rxhlim || np->rxopt.bits.rxohlim) np->mcast_hops =ipv6_hdr (opt_skb)->hop_limit;if (np->rxopt.bits.rxtclass) - np->rcv_tclass =ipv6_tclass (ipv6_hdr (skb)); + np->rcv_tclass =ipv6_get_dsfield (ipv6_hdr (skb));if (ipv6_opt_accepted (sk, opt_skb)) {skb_set_owner_r (opt_skb, sk); opt_skb =xchg (&np->pktoptions, opt_skb);
Signature · 1 line
1.7.9.5