[IPV6]: endianness bug in ip6_tunnel
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 22 Jul 2007 02:09:41 +0000 (19:09 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 22 Jul 2007 02:09:41 +0000 (19:09 -0700)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_tunnel.c

index 281aee42d3f0d9c35e26c1dac4863f59628c8b62..df30976f6dfd196c7f40511356131c1f9a11c09a 100644 (file)
@@ -962,8 +962,8 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
        dsfield = ipv4_get_dsfield(iph);
 
        if ((t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS))
-               fl.fl6_flowlabel |= ntohl(((__u32)iph->tos << IPV6_TCLASS_SHIFT)
-                                         & IPV6_TCLASS_MASK);
+               fl.fl6_flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT)
+                                         & IPV6_TCLASS_MASK;
 
        err = ip6_tnl_xmit2(skb, dev, dsfield, &fl, encap_limit, &mtu);
        if (err != 0) {