[NET]: net/sched annotations.
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 21 Nov 2006 02:07:51 +0000 (18:07 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 3 Dec 2006 05:27:19 +0000 (21:27 -0800)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sch_generic.h
net/sched/cls_rsvp.h
net/sched/sch_api.c
net/sched/sch_dsmark.c

index b0e9108..6b38294 100644 (file)
@@ -144,7 +144,7 @@ struct tcf_proto
        void                    *root;
        int                     (*classify)(struct sk_buff*, struct tcf_proto*,
                                        struct tcf_result *);
-       u32                     protocol;
+       __be16                  protocol;
 
        /* All the rest */
        u32                     prio;
index 6e230ec..587b9ad 100644 (file)
@@ -77,7 +77,7 @@ struct rsvp_head
 struct rsvp_session
 {
        struct rsvp_session     *next;
-       u32                     dst[RSVP_DST_LEN];
+       __be32                  dst[RSVP_DST_LEN];
        struct tc_rsvp_gpi      dpi;
        u8                      protocol;
        u8                      tunnelid;
@@ -89,7 +89,7 @@ struct rsvp_session
 struct rsvp_filter
 {
        struct rsvp_filter      *next;
-       u32                     src[RSVP_DST_LEN];
+       __be32                  src[RSVP_DST_LEN];
        struct tc_rsvp_gpi      spi;
        u8                      tunnelhdr;
 
@@ -100,17 +100,17 @@ struct rsvp_filter
        struct rsvp_session     *sess;
 };
 
-static __inline__ unsigned hash_dst(u32 *dst, u8 protocol, u8 tunnelid)
+static __inline__ unsigned hash_dst(__be32 *dst, u8 protocol, u8 tunnelid)
 {
-       unsigned h = dst[RSVP_DST_LEN-1];
+       unsigned h = (__force __u32)dst[RSVP_DST_LEN-1];
        h ^= h>>16;
        h ^= h>>8;
        return (h ^ protocol ^ tunnelid) & 0xFF;
 }
 
-static __inline__ unsigned hash_src(u32 *src)
+static __inline__ unsigned hash_src(__be32 *src)
 {
-       unsigned h = src[RSVP_DST_LEN-1];
+       unsigned h = (__force __u32)src[RSVP_DST_LEN-1];
        h ^= h>>16;
        h ^= h>>8;
        h ^= h>>4;
@@ -138,7 +138,7 @@ static int rsvp_classify(struct sk_buff *skb, struct tcf_proto *tp,
        struct rsvp_session *s;
        struct rsvp_filter *f;
        unsigned h1, h2;
-       u32 *dst, *src;
+       __be32 *dst, *src;
        u8 protocol;
        u8 tunnelid = 0;
        u8 *xprt;
@@ -410,7 +410,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base,
        struct rtattr *tb[TCA_RSVP_MAX];
        struct tcf_exts e;
        unsigned h1, h2;
-       u32 *dst;
+       __be32 *dst;
        int err;
 
        if (opt == NULL)
index 0b64892..d99802f 100644 (file)
@@ -1112,7 +1112,7 @@ int tc_classify(struct sk_buff *skb, struct tcf_proto *tp,
        struct tcf_result *res)
 {
        int err = 0;
-       u32 protocol = skb->protocol;
+       __be16 protocol = skb->protocol;
 #ifdef CONFIG_NET_CLS_ACT
        struct tcf_proto *otp = tp;
 reclassify:
index 11c8a21..0b7c0e8 100644 (file)
@@ -307,7 +307,7 @@ static struct sk_buff *dsmark_dequeue(struct Qdisc *sch)
                        if (p->mask[index] != 0xff || p->value[index])
                                printk(KERN_WARNING "dsmark_dequeue: "
                                       "unsupported protocol %d\n",
-                                      htons(skb->protocol));
+                                      ntohs(skb->protocol));
                        break;
        };