diff options
author | Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de> | 2014-03-14 16:24:02 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-14 22:15:26 -0400 |
commit | ae531b9475f62c5e1863508604cd6b3faf362d56 (patch) | |
tree | c719f25779f44c4241d799e44c8fc2c8c8065957 /net/ieee802154/reassembly.h | |
parent | e6278d92005e9d6e374f269b4ce39c908a68ad5d (diff) |
ieee802154: use ieee802154_addr instead of *_sa variants
Change all internal uses of ieee802154_addr_sa to ieee802154_addr,
except for those instances that communicate directly with userspace.
Signed-off-by: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ieee802154/reassembly.h')
-rw-r--r-- | net/ieee802154/reassembly.h | 42 |
1 files changed, 8 insertions, 34 deletions
diff --git a/net/ieee802154/reassembly.h b/net/ieee802154/reassembly.h index 895721ae71e1..74e4a7c98191 100644 --- a/net/ieee802154/reassembly.h +++ b/net/ieee802154/reassembly.h | |||
@@ -6,8 +6,8 @@ | |||
6 | struct lowpan_create_arg { | 6 | struct lowpan_create_arg { |
7 | __be16 tag; | 7 | __be16 tag; |
8 | u16 d_size; | 8 | u16 d_size; |
9 | const struct ieee802154_addr_sa *src; | 9 | const struct ieee802154_addr *src; |
10 | const struct ieee802154_addr_sa *dst; | 10 | const struct ieee802154_addr *dst; |
11 | }; | 11 | }; |
12 | 12 | ||
13 | /* Equivalent of ipv4 struct ip | 13 | /* Equivalent of ipv4 struct ip |
@@ -17,16 +17,16 @@ struct lowpan_frag_queue { | |||
17 | 17 | ||
18 | __be16 tag; | 18 | __be16 tag; |
19 | u16 d_size; | 19 | u16 d_size; |
20 | struct ieee802154_addr_sa saddr; | 20 | struct ieee802154_addr saddr; |
21 | struct ieee802154_addr_sa daddr; | 21 | struct ieee802154_addr daddr; |
22 | }; | 22 | }; |
23 | 23 | ||
24 | static inline u32 ieee802154_addr_hash(const struct ieee802154_addr_sa *a) | 24 | static inline u32 ieee802154_addr_hash(const struct ieee802154_addr *a) |
25 | { | 25 | { |
26 | switch (a->addr_type) { | 26 | switch (a->mode) { |
27 | case IEEE802154_ADDR_LONG: | 27 | case IEEE802154_ADDR_LONG: |
28 | return (__force u32)((((u32 *)a->hwaddr))[0] ^ | 28 | return (((__force u64)a->extended_addr) >> 32) ^ |
29 | ((u32 *)(a->hwaddr))[1]); | 29 | (((__force u64)a->extended_addr) & 0xffffffff); |
30 | case IEEE802154_ADDR_SHORT: | 30 | case IEEE802154_ADDR_SHORT: |
31 | return (__force u32)(a->short_addr); | 31 | return (__force u32)(a->short_addr); |
32 | default: | 32 | default: |
@@ -34,32 +34,6 @@ static inline u32 ieee802154_addr_hash(const struct ieee802154_addr_sa *a) | |||
34 | } | 34 | } |
35 | } | 35 | } |
36 | 36 | ||
37 | static inline bool | ||
38 | ieee802154_addr_addr_equal(const struct ieee802154_addr_sa *a1, | ||
39 | const struct ieee802154_addr_sa *a2) | ||
40 | { | ||
41 | if (a1->pan_id != a2->pan_id) | ||
42 | return false; | ||
43 | |||
44 | if (a1->addr_type != a2->addr_type) | ||
45 | return false; | ||
46 | |||
47 | switch (a1->addr_type) { | ||
48 | case IEEE802154_ADDR_LONG: | ||
49 | if (memcmp(a1->hwaddr, a2->hwaddr, IEEE802154_ADDR_LEN)) | ||
50 | return false; | ||
51 | break; | ||
52 | case IEEE802154_ADDR_SHORT: | ||
53 | if (a1->short_addr != a2->short_addr) | ||
54 | return false; | ||
55 | break; | ||
56 | default: | ||
57 | return false; | ||
58 | } | ||
59 | |||
60 | return true; | ||
61 | } | ||
62 | |||
63 | int lowpan_frag_rcv(struct sk_buff *skb, const u8 frag_type); | 37 | int lowpan_frag_rcv(struct sk_buff *skb, const u8 frag_type); |
64 | void lowpan_net_frag_exit(void); | 38 | void lowpan_net_frag_exit(void); |
65 | int lowpan_net_frag_init(void); | 39 | int lowpan_net_frag_init(void); |