diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c index 9e98c6e..6dd569b 100644 --- a/net/sched/cls_u32.c +++ b/net/sched/cls_u32.c @@ -93,7 +93,7 @@ static __inline__ unsigned u32_hash_fold(u32 key, struct tc_u32_sel *sel, u8 fsh { unsigned h = (key & sel->hmask)>>fshift; - return h; + return ntohl(h); } static int u32_classify(struct sk_buff *skb, struct tcf_proto *tp, struct tcf_result *res) @@ -615,7 +615,7 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle, n->handle = handle; { u8 i = 0; - u32 mask = s->hmask; + u32 mask = ntohl(s->hmask); if (mask) { while (!(mask & 1)) { i++;