Skip to content

Commit

Permalink
ieee802154: rename struct ieee802154_addr to *_sa
Browse files Browse the repository at this point in the history
The struct as currently defined uses host byte order for some fields,
and most big endian/EUI display byte order for other fields. Inside the
stack, endianness should ideally match network byte order where possible
to minimize the number of byteswaps done in critical paths, but this
patch does not address this; it is only preparatory.

Signed-off-by: Phoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Phoebe Buckheister authored and davem330 committed Mar 15, 2014
1 parent 1779432 commit 376b7bd
Show file tree
Hide file tree
Showing 13 changed files with 49 additions and 48 deletions.
14 changes: 7 additions & 7 deletions drivers/net/ieee802154/fakehard.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ static u8 fake_get_dsn(const struct net_device *dev)
* 802.15.4-2006 document.
*/
static int fake_assoc_req(struct net_device *dev,
struct ieee802154_addr *addr, u8 channel, u8 page, u8 cap)
struct ieee802154_addr_sa *addr, u8 channel, u8 page, u8 cap)
{
struct wpan_phy *phy = fake_to_phy(dev);

Expand Down Expand Up @@ -149,7 +149,7 @@ static int fake_assoc_req(struct net_device *dev,
* 802.15.4-2006 document.
*/
static int fake_assoc_resp(struct net_device *dev,
struct ieee802154_addr *addr, u16 short_addr, u8 status)
struct ieee802154_addr_sa *addr, u16 short_addr, u8 status)
{
return 0;
}
Expand All @@ -167,7 +167,7 @@ static int fake_assoc_resp(struct net_device *dev,
* document, with the reason described in 7.3.3.2.
*/
static int fake_disassoc_req(struct net_device *dev,
struct ieee802154_addr *addr, u8 reason)
struct ieee802154_addr_sa *addr, u8 reason)
{
return ieee802154_nl_disassoc_confirm(dev, IEEE802154_SUCCESS);
}
Expand All @@ -191,10 +191,10 @@ static int fake_disassoc_req(struct net_device *dev,
* Note: This is in section 7.5.2.3 of the IEEE 802.15.4-2006
* document, with 7.3.8 describing coordinator realignment.
*/
static int fake_start_req(struct net_device *dev, struct ieee802154_addr *addr,
u8 channel, u8 page,
u8 bcn_ord, u8 sf_ord, u8 pan_coord, u8 blx,
u8 coord_realign)
static int fake_start_req(struct net_device *dev,
struct ieee802154_addr_sa *addr, u8 channel, u8 page,
u8 bcn_ord, u8 sf_ord, u8 pan_coord, u8 blx,
u8 coord_realign)
{
struct wpan_phy *phy = fake_to_phy(dev);

Expand Down
4 changes: 2 additions & 2 deletions include/net/af_ieee802154.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ enum {
/* address length, octets */
#define IEEE802154_ADDR_LEN 8

struct ieee802154_addr {
struct ieee802154_addr_sa {
int addr_type;
u16 pan_id;
union {
Expand All @@ -51,7 +51,7 @@ struct ieee802154_addr {

struct sockaddr_ieee802154 {
sa_family_t family; /* AF_IEEE802154 */
struct ieee802154_addr addr;
struct ieee802154_addr_sa addr;
};

/* get/setsockopt */
Expand Down
12 changes: 6 additions & 6 deletions include/net/ieee802154_netdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ struct ieee802154_frag_info {
*/
struct ieee802154_mac_cb {
u8 lqi;
struct ieee802154_addr sa;
struct ieee802154_addr da;
struct ieee802154_addr_sa sa;
struct ieee802154_addr_sa da;
u8 flags;
u8 seq;
struct ieee802154_frag_info frag_info;
Expand Down Expand Up @@ -95,16 +95,16 @@ struct ieee802154_mlme_ops {
/* The following fields are optional (can be NULL). */

int (*assoc_req)(struct net_device *dev,
struct ieee802154_addr *addr,
struct ieee802154_addr_sa *addr,
u8 channel, u8 page, u8 cap);
int (*assoc_resp)(struct net_device *dev,
struct ieee802154_addr *addr,
struct ieee802154_addr_sa *addr,
u16 short_addr, u8 status);
int (*disassoc_req)(struct net_device *dev,
struct ieee802154_addr *addr,
struct ieee802154_addr_sa *addr,
u8 reason);
int (*start_req)(struct net_device *dev,
struct ieee802154_addr *addr,
struct ieee802154_addr_sa *addr,
u8 channel, u8 page, u8 bcn_ord, u8 sf_ord,
u8 pan_coord, u8 blx, u8 coord_realign);
int (*scan_req)(struct net_device *dev,
Expand Down
6 changes: 3 additions & 3 deletions include/net/nl802154.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#define IEEE802154_NL_H

struct net_device;
struct ieee802154_addr;
struct ieee802154_addr_sa;

/**
* ieee802154_nl_assoc_indic - Notify userland of an association request.
Expand All @@ -37,7 +37,7 @@ struct ieee802154_addr;
* Note: This is in section 7.3.1 of the IEEE 802.15.4-2006 document.
*/
int ieee802154_nl_assoc_indic(struct net_device *dev,
struct ieee802154_addr *addr, u8 cap);
struct ieee802154_addr_sa *addr, u8 cap);

/**
* ieee802154_nl_assoc_confirm - Notify userland of association.
Expand Down Expand Up @@ -65,7 +65,7 @@ int ieee802154_nl_assoc_confirm(struct net_device *dev,
* Note: This is in section 7.3.3 of the IEEE 802.15.4 document.
*/
int ieee802154_nl_disassoc_indic(struct net_device *dev,
struct ieee802154_addr *addr, u8 reason);
struct ieee802154_addr_sa *addr, u8 reason);

/**
* ieee802154_nl_disassoc_confirm - Notify userland of disassociation
Expand Down
4 changes: 2 additions & 2 deletions net/ieee802154/6lowpan_rtnl.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ static int lowpan_header_create(struct sk_buff *skb,
{
const u8 *saddr = _saddr;
const u8 *daddr = _daddr;
struct ieee802154_addr sa, da;
struct ieee802154_addr_sa sa, da;

/* TODO:
* if this package isn't ipv6 one, where should it be routed?
Expand Down Expand Up @@ -171,7 +171,7 @@ static int lowpan_give_skb_to_devices(struct sk_buff *skb,
static int process_data(struct sk_buff *skb)
{
u8 iphc0, iphc1;
const struct ieee802154_addr *_saddr, *_daddr;
const struct ieee802154_addr_sa *_saddr, *_daddr;

raw_dump_table(__func__, "raw skb data dump", skb->data, skb->len);
/* at least two bytes will be used for the encoding */
Expand Down
2 changes: 1 addition & 1 deletion net/ieee802154/af802154.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@ extern struct proto ieee802154_dgram_prot;
void ieee802154_raw_deliver(struct net_device *dev, struct sk_buff *skb);
int ieee802154_dgram_deliver(struct net_device *dev, struct sk_buff *skb);
struct net_device *ieee802154_get_dev(struct net *net,
struct ieee802154_addr *addr);
struct ieee802154_addr_sa *addr);

#endif
2 changes: 1 addition & 1 deletion net/ieee802154/af_ieee802154.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
* Utility function for families
*/
struct net_device *ieee802154_get_dev(struct net *net,
struct ieee802154_addr *addr)
struct ieee802154_addr_sa *addr)
{
struct net_device *dev = NULL;
struct net_device *tmp;
Expand Down
8 changes: 4 additions & 4 deletions net/ieee802154/dgram.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ static DEFINE_RWLOCK(dgram_lock);
struct dgram_sock {
struct sock sk;

struct ieee802154_addr src_addr;
struct ieee802154_addr dst_addr;
struct ieee802154_addr_sa src_addr;
struct ieee802154_addr_sa dst_addr;

unsigned int bound:1;
unsigned int want_ack:1;
Expand Down Expand Up @@ -113,7 +113,7 @@ static int dgram_bind(struct sock *sk, struct sockaddr *uaddr, int len)
goto out_put;
}

memcpy(&ro->src_addr, &addr->addr, sizeof(struct ieee802154_addr));
memcpy(&ro->src_addr, &addr->addr, sizeof(struct ieee802154_addr_sa));

ro->bound = 1;
err = 0;
Expand Down Expand Up @@ -181,7 +181,7 @@ static int dgram_connect(struct sock *sk, struct sockaddr *uaddr,
goto out;
}

memcpy(&ro->dst_addr, &addr->addr, sizeof(struct ieee802154_addr));
memcpy(&ro->dst_addr, &addr->addr, sizeof(struct ieee802154_addr_sa));

out:
release_sock(sk);
Expand Down
12 changes: 6 additions & 6 deletions net/ieee802154/nl-mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
#include "ieee802154.h"

int ieee802154_nl_assoc_indic(struct net_device *dev,
struct ieee802154_addr *addr, u8 cap)
struct ieee802154_addr_sa *addr, u8 cap)
{
struct sk_buff *msg;

Expand Down Expand Up @@ -99,7 +99,7 @@ int ieee802154_nl_assoc_confirm(struct net_device *dev, u16 short_addr,
EXPORT_SYMBOL(ieee802154_nl_assoc_confirm);

int ieee802154_nl_disassoc_indic(struct net_device *dev,
struct ieee802154_addr *addr, u8 reason)
struct ieee802154_addr_sa *addr, u8 reason)
{
struct sk_buff *msg;

Expand Down Expand Up @@ -304,7 +304,7 @@ static struct net_device *ieee802154_nl_get_dev(struct genl_info *info)
int ieee802154_associate_req(struct sk_buff *skb, struct genl_info *info)
{
struct net_device *dev;
struct ieee802154_addr addr;
struct ieee802154_addr_sa addr;
u8 page;
int ret = -EOPNOTSUPP;

Expand Down Expand Up @@ -351,7 +351,7 @@ int ieee802154_associate_req(struct sk_buff *skb, struct genl_info *info)
int ieee802154_associate_resp(struct sk_buff *skb, struct genl_info *info)
{
struct net_device *dev;
struct ieee802154_addr addr;
struct ieee802154_addr_sa addr;
int ret = -EOPNOTSUPP;

if (!info->attrs[IEEE802154_ATTR_STATUS] ||
Expand Down Expand Up @@ -383,7 +383,7 @@ int ieee802154_associate_resp(struct sk_buff *skb, struct genl_info *info)
int ieee802154_disassociate_req(struct sk_buff *skb, struct genl_info *info)
{
struct net_device *dev;
struct ieee802154_addr addr;
struct ieee802154_addr_sa addr;
int ret = -EOPNOTSUPP;

if ((!info->attrs[IEEE802154_ATTR_DEST_HW_ADDR] &&
Expand Down Expand Up @@ -425,7 +425,7 @@ int ieee802154_disassociate_req(struct sk_buff *skb, struct genl_info *info)
int ieee802154_start_req(struct sk_buff *skb, struct genl_info *info)
{
struct net_device *dev;
struct ieee802154_addr addr;
struct ieee802154_addr_sa addr;

u8 channel, bcn_ord, sf_ord;
u8 page;
Expand Down
6 changes: 3 additions & 3 deletions net/ieee802154/reassembly.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ static int lowpan_frag_reasm(struct lowpan_frag_queue *fq,
struct sk_buff *prev, struct net_device *dev);

static unsigned int lowpan_hash_frag(__be16 tag, u16 d_size,
const struct ieee802154_addr *saddr,
const struct ieee802154_addr *daddr)
const struct ieee802154_addr_sa *saddr,
const struct ieee802154_addr_sa *daddr)
{
u32 c;

Expand Down Expand Up @@ -103,7 +103,7 @@ static void lowpan_frag_expire(unsigned long data)

static inline struct lowpan_frag_queue *
fq_find(struct net *net, const struct ieee802154_frag_info *frag_info,
const struct ieee802154_addr *src, const struct ieee802154_addr *dst)
const struct ieee802154_addr_sa *src, const struct ieee802154_addr_sa *dst)
{
struct inet_frag_queue *q;
struct lowpan_create_arg arg;
Expand Down
15 changes: 8 additions & 7 deletions net/ieee802154/reassembly.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
struct lowpan_create_arg {
__be16 tag;
u16 d_size;
const struct ieee802154_addr *src;
const struct ieee802154_addr *dst;
const struct ieee802154_addr_sa *src;
const struct ieee802154_addr_sa *dst;
};

/* Equivalent of ipv4 struct ip
Expand All @@ -17,11 +17,11 @@ struct lowpan_frag_queue {

__be16 tag;
u16 d_size;
struct ieee802154_addr saddr;
struct ieee802154_addr daddr;
struct ieee802154_addr_sa saddr;
struct ieee802154_addr_sa daddr;
};

static inline u32 ieee802154_addr_hash(const struct ieee802154_addr *a)
static inline u32 ieee802154_addr_hash(const struct ieee802154_addr_sa *a)
{
switch (a->addr_type) {
case IEEE802154_ADDR_LONG:
Expand All @@ -34,8 +34,9 @@ static inline u32 ieee802154_addr_hash(const struct ieee802154_addr *a)
}
}

static inline bool ieee802154_addr_addr_equal(const struct ieee802154_addr *a1,
const struct ieee802154_addr *a2)
static inline bool
ieee802154_addr_addr_equal(const struct ieee802154_addr_sa *a1,
const struct ieee802154_addr_sa *a2)
{
if (a1->pan_id != a2->pan_id)
return false;
Expand Down
2 changes: 1 addition & 1 deletion net/mac802154/mac_cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include "mac802154.h"

static int mac802154_mlme_start_req(struct net_device *dev,
struct ieee802154_addr *addr,
struct ieee802154_addr_sa *addr,
u8 channel, u8 page,
u8 bcn_ord, u8 sf_ord,
u8 pan_coord, u8 blx,
Expand Down
10 changes: 5 additions & 5 deletions net/mac802154/wpan.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,9 @@ static int mac802154_header_create(struct sk_buff *skb,
const void *_saddr,
unsigned len)
{
const struct ieee802154_addr *saddr = _saddr;
const struct ieee802154_addr *daddr = _daddr;
struct ieee802154_addr dev_addr;
const struct ieee802154_addr_sa *saddr = _saddr;
const struct ieee802154_addr_sa *daddr = _daddr;
struct ieee802154_addr_sa dev_addr;
struct mac802154_sub_if_data *priv = netdev_priv(dev);
int pos = 2;
u8 head[MAC802154_FRAME_HARD_HEADER_LEN];
Expand Down Expand Up @@ -219,7 +219,7 @@ mac802154_header_parse(const struct sk_buff *skb, unsigned char *haddr)
{
const u8 *hdr = skb_mac_header(skb);
const u8 *tail = skb_tail_pointer(skb);
struct ieee802154_addr *addr = (struct ieee802154_addr *)haddr;
struct ieee802154_addr_sa *addr = (struct ieee802154_addr_sa *)haddr;
u16 fc;
int da_type;

Expand Down Expand Up @@ -304,7 +304,7 @@ mac802154_header_parse(const struct sk_buff *skb, unsigned char *haddr)
goto malformed;
}

return sizeof(struct ieee802154_addr);
return sizeof(struct ieee802154_addr_sa);

malformed:
pr_debug("malformed packet\n");
Expand Down

0 comments on commit 376b7bd

Please sign in to comment.