git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
include
/
net
/
dsfield.h
diff --git
a/include/net/dsfield.h
b/include/net/dsfield.h
index
a79c9e0
..
eb65bf2
100644
(file)
--- a/
include/net/dsfield.h
+++ b/
include/net/dsfield.h
@@
-20,14
+20,14
@@
static inline __u8 ipv4_get_dsfield(struct iphdr *iph)
static inline __u8 ipv6_get_dsfield(struct ipv6hdr *ipv6h)
{
static inline __u8 ipv6_get_dsfield(struct ipv6hdr *ipv6h)
{
- return ntohs(*(__
u
16 *) ipv6h) >> 4;
+ return ntohs(*(__
be
16 *) ipv6h) >> 4;
}
static inline void ipv4_change_dsfield(struct iphdr *iph,__u8 mask,
__u8 value)
{
}
static inline void ipv4_change_dsfield(struct iphdr *iph,__u8 mask,
__u8 value)
{
- __u32 check = ntohs(iph->check);
+ __u32 check = ntohs(
(__force __be16)
iph->check);
__u8 dsfield;
dsfield = (iph->tos & mask) | value;
__u8 dsfield;
dsfield = (iph->tos & mask) | value;
@@
-35,7
+35,7
@@
static inline void ipv4_change_dsfield(struct iphdr *iph,__u8 mask,
if ((check+1) >> 16) check = (check+1) & 0xffff;
check -= dsfield;
check += check >> 16; /* adjust carry */
if ((check+1) >> 16) check = (check+1) & 0xffff;
check -= dsfield;
check += check >> 16; /* adjust carry */
- iph->check = htons(check);
+ iph->check =
(__force __sum16)
htons(check);
iph->tos = dsfield;
}
iph->tos = dsfield;
}
@@
-45,9
+45,9
@@
static inline void ipv6_change_dsfield(struct ipv6hdr *ipv6h,__u8 mask,
{
__u16 tmp;
{
__u16 tmp;
- tmp = ntohs(*(__
u
16 *) ipv6h);
+ tmp = ntohs(*(__
be
16 *) ipv6h);
tmp = (tmp & ((mask << 4) | 0xf00f)) | (value << 4);
tmp = (tmp & ((mask << 4) | 0xf00f)) | (value << 4);
- *(__
u
16 *) ipv6h = htons(tmp);
+ *(__
be
16 *) ipv6h = htons(tmp);
}
}