Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b963dc1df78399a2166c2e6e3eb726a2dc98cf11
Commit:     b963dc1df78399a2166c2e6e3eb726a2dc98cf11
Parent:     53c03f5c9e3c05a2484ad6bb1d88c0aa54befa47
Author:     Al Viro <[EMAIL PROTECTED]>
AuthorDate: Thu Aug 23 02:55:33 2007 -0400
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Wed Oct 10 16:52:04 2007 -0700

    pppoe: endianness
    
    Signed-off-by: Al Viro <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/net/pppoe.c      |   18 +++++++++---------
 include/linux/if_pppox.h |   12 ++++++------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c
index ba2eb04..d48b7b7 100644
--- a/drivers/net/pppoe.c
+++ b/drivers/net/pppoe.c
@@ -103,7 +103,7 @@ static inline int cmp_2_addr(struct pppoe_addr *a, struct 
pppoe_addr *b)
                (memcmp(a->remote, b->remote, ETH_ALEN) == 0));
 }
 
-static inline int cmp_addr(struct pppoe_addr *a, unsigned long sid, char *addr)
+static inline int cmp_addr(struct pppoe_addr *a, __be16 sid, char *addr)
 {
        return (a->sid == sid &&
                (memcmp(a->remote,addr,ETH_ALEN) == 0));
@@ -113,7 +113,7 @@ static inline int cmp_addr(struct pppoe_addr *a, unsigned 
long sid, char *addr)
 #error 8 must be a multiple of PPPOE_HASH_BITS
 #endif
 
-static int hash_item(unsigned int sid, unsigned char *addr)
+static int hash_item(__be16 sid, unsigned char *addr)
 {
        unsigned char hash = 0;
        unsigned int i;
@@ -122,7 +122,7 @@ static int hash_item(unsigned int sid, unsigned char *addr)
                hash ^= addr[i];
        }
        for (i = 0 ; i < sizeof(sid_t)*8 ; i += 8 ){
-               hash ^= sid>>i;
+               hash ^= (__force __u32)sid>>i;
        }
        for (i = 8 ; (i>>=1) >= PPPOE_HASH_BITS ; ) {
                hash ^= hash>>i;
@@ -139,7 +139,7 @@ static struct pppox_sock *item_hash_table[PPPOE_HASH_SIZE];
  *  Set/get/delete/rehash items  (internal versions)
  *
  **********************************************************************/
-static struct pppox_sock *__get_item(unsigned long sid, unsigned char *addr, 
int ifindex)
+static struct pppox_sock *__get_item(__be16 sid, unsigned char *addr, int 
ifindex)
 {
        int hash = hash_item(sid, addr);
        struct pppox_sock *ret;
@@ -171,7 +171,7 @@ static int __set_item(struct pppox_sock *po)
        return 0;
 }
 
-static struct pppox_sock *__delete_item(unsigned long sid, char *addr, int 
ifindex)
+static struct pppox_sock *__delete_item(__be16 sid, char *addr, int ifindex)
 {
        int hash = hash_item(sid, addr);
        struct pppox_sock *ret, **src;
@@ -197,7 +197,7 @@ static struct pppox_sock *__delete_item(unsigned long sid, 
char *addr, int ifind
  *  Set/get/delete/rehash items
  *
  **********************************************************************/
-static inline struct pppox_sock *get_item(unsigned long sid,
+static inline struct pppox_sock *get_item(__be16 sid,
                                         unsigned char *addr, int ifindex)
 {
        struct pppox_sock *po;
@@ -224,7 +224,7 @@ static inline struct pppox_sock *get_item_by_addr(struct 
sockaddr_pppox *sp)
        return get_item(sp->sa_addr.pppoe.sid, sp->sa_addr.pppoe.remote, 
ifindex);
 }
 
-static inline struct pppox_sock *delete_item(unsigned long sid, char *addr, 
int ifindex)
+static inline struct pppox_sock *delete_item(__be16 sid, char *addr, int 
ifindex)
 {
        struct pppox_sock *ret;
 
@@ -400,7 +400,7 @@ static int pppoe_rcv(struct sk_buff *skb,
 
        ph = pppoe_hdr(skb);
 
-       po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source, 
dev->ifindex);
+       po = get_item(ph->sid, eth_hdr(skb)->h_source, dev->ifindex);
        if (po != NULL)
                return sk_receive_skb(sk_pppox(po), skb, 0);
 drop:
@@ -437,7 +437,7 @@ static int pppoe_disc_rcv(struct sk_buff *skb,
        if (ph->code != PADT_CODE)
                goto abort;
 
-       po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source, 
dev->ifindex);
+       po = get_item(ph->sid, eth_hdr(skb)->h_source, dev->ifindex);
        if (po) {
                struct sock *sk = sk_pppox(po);
 
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h
index 43cfc9f..40743e0 100644
--- a/include/linux/if_pppox.h
+++ b/include/linux/if_pppox.h
@@ -40,7 +40,7 @@
 /************************************************************************ 
  * PPPoE addressing definition 
  */ 
-typedef __u16 sid_t; 
+typedef __be16 sid_t;
 struct pppoe_addr{ 
        sid_t           sid;                    /* Session identifier */ 
        unsigned char   remote[ETH_ALEN];       /* Remote address */ 
@@ -90,8 +90,8 @@ struct sockaddr_pppol2tp {
 #define PADS_CODE      0x65
 #define PADT_CODE      0xa7
 struct pppoe_tag {
-       __u16 tag_type;
-       __u16 tag_len;
+       __be16 tag_type;
+       __be16 tag_len;
        char tag_data[0];
 } __attribute ((packed));
 
@@ -118,8 +118,8 @@ struct pppoe_hdr {
 #error "Please fix <asm/byteorder.h>"
 #endif
        __u8 code;
-       __u16 sid;
-       __u16 length;
+       __be16 sid;
+       __be16 length;
        struct pppoe_tag tag[0];
 } __attribute__ ((packed));
 
@@ -152,7 +152,7 @@ struct pppox_sock {
        union {
                struct pppoe_opt pppoe;
        } proto;
-       unsigned short          num;
+       __be16                  num;
 };
 #define pppoe_dev      proto.pppoe.dev
 #define pppoe_ifindex  proto.pppoe.ifindex
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to