All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2 net-next] ipv6: helper function to get tclass
@ 2012-02-09 19:34 Jiri Benc
  2012-02-09 19:35 ` [PATCH 2/2 net-next] net: implement IP_RECVTOS for IP_PKTOPTIONS Jiri Benc
  2012-02-13  5:49 ` [PATCH 1/2 net-next] ipv6: helper function to get tclass David Miller
  0 siblings, 2 replies; 4+ messages in thread
From: Jiri Benc @ 2012-02-09 19:34 UTC (permalink / raw)
  To: netdev

Implement helper inline function to get traffic class from IPv6 header.

Signed-off-by: Jiri Benc <jbenc@redhat.com>

---
 include/linux/ipv6.h |    5 +++++
 net/ipv6/datagram.c  |    2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
@@ -233,6 +233,11 @@ static inline struct ipv6hdr *ipipv6_hdr
 	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.
--- a/net/ipv6/datagram.c
+++ b/net/ipv6/datagram.c
@@ -485,7 +485,7 @@ int datagram_recv_ctl(struct sock *sk, s
 	}
 
 	if (np->rxopt.bits.rxtclass) {
-		int tclass = (ntohl(*(__be32 *)ipv6_hdr(skb)) >> 20) & 0xff;
+		int tclass = ipv6_tclass(ipv6_hdr(skb));
 		put_cmsg(msg, SOL_IPV6, IPV6_TCLASS, sizeof(tclass), &tclass);
 	}
 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-02-13  5:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-09 19:34 [PATCH 1/2 net-next] ipv6: helper function to get tclass Jiri Benc
2012-02-09 19:35 ` [PATCH 2/2 net-next] net: implement IP_RECVTOS for IP_PKTOPTIONS Jiri Benc
2012-02-13  5:49   ` David Miller
2012-02-13  5:49 ` [PATCH 1/2 net-next] ipv6: helper function to get tclass David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.