From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.s-osg.org ([54.187.51.154]:57291 "EHLO lists.s-osg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751001AbbHLItf (ORCPT ); Wed, 12 Aug 2015 04:49:35 -0400 From: Stefan Schmidt Subject: Re: [RFC 01/16] ieee802154: 6lowpan: change dev vars to wdev and ldev References: <1438583035-6287-1-git-send-email-alex.aring@gmail.com> <1438583035-6287-2-git-send-email-alex.aring@gmail.com> Message-ID: <55CB089A.3030000@osg.samsung.com> Date: Wed, 12 Aug 2015 10:49:30 +0200 MIME-Version: 1.0 In-Reply-To: <1438583035-6287-2-git-send-email-alex.aring@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-wpan-owner@vger.kernel.org List-ID: To: Alexander Aring , linux-wpan@vger.kernel.org Cc: kernel@pengutronix.de Hello. On 03/08/15 08:23, Alexander Aring wrote: > Inside the IEEE 802.15.4 6LoWPAN subsystem we use two interfaces which > are wpan and lowpan interfaces. Instead of using always the variable > name "dev" for both we rename the "dev" variable to wdev which means the > wpan net_device and ldev which means a lowpan net_device. This avoids > confusing and always looking back to see which net_device is meant by > the variable name "dev". > > Signed-off-by: Alexander Aring > --- > net/ieee802154/6lowpan/6lowpan_i.h | 2 +- > net/ieee802154/6lowpan/core.c | 85 ++++++++++++++++++------------------- > net/ieee802154/6lowpan/reassembly.c | 14 +++--- > net/ieee802154/6lowpan/rx.c | 20 ++++----- > net/ieee802154/6lowpan/tx.c | 39 +++++++++-------- > 5 files changed, 79 insertions(+), 81 deletions(-) > > diff --git a/net/ieee802154/6lowpan/6lowpan_i.h b/net/ieee802154/6lowpan/6lowpan_i.h > index ff727aa..d62046e 100644 > --- a/net/ieee802154/6lowpan/6lowpan_i.h > +++ b/net/ieee802154/6lowpan/6lowpan_i.h > @@ -40,7 +40,7 @@ static inline u32 ieee802154_addr_hash(const struct ieee802154_addr *a) > > /* private device info */ > struct lowpan_dev_info { > - struct net_device *real_dev; /* real WPAN device ptr */ > + struct net_device *wdev; /* real WPAN device ptr */ Maybe remove the real also from the comment here. > u16 fragment_tag; > }; > > diff --git a/net/ieee802154/6lowpan/core.c b/net/ieee802154/6lowpan/core.c > index ef17c6a..46efaca 100644 > --- a/net/ieee802154/6lowpan/core.c > +++ b/net/ieee802154/6lowpan/core.c > @@ -59,7 +59,7 @@ static struct header_ops lowpan_header_ops = { > static struct lock_class_key lowpan_tx_busylock; > static struct lock_class_key lowpan_netdev_xmit_lock_key; > > -static void lowpan_set_lockdep_class_one(struct net_device *dev, > +static void lowpan_set_lockdep_class_one(struct net_device *ldev, > struct netdev_queue *txq, > void *_unused) > { > @@ -67,10 +67,10 @@ static void lowpan_set_lockdep_class_one(struct net_device *dev, > &lowpan_netdev_xmit_lock_key); > } > > -static int lowpan_dev_init(struct net_device *dev) > +static int lowpan_dev_init(struct net_device *ldev) > { > - netdev_for_each_tx_queue(dev, lowpan_set_lockdep_class_one, NULL); > - dev->qdisc_tx_busylock = &lowpan_tx_busylock; > + netdev_for_each_tx_queue(ldev, lowpan_set_lockdep_class_one, NULL); > + ldev->qdisc_tx_busylock = &lowpan_tx_busylock; > return 0; > } > > @@ -79,23 +79,23 @@ static const struct net_device_ops lowpan_netdev_ops = { > .ndo_start_xmit = lowpan_xmit, > }; > > -static void lowpan_setup(struct net_device *dev) > +static void lowpan_setup(struct net_device *ldev) > { > - dev->addr_len = IEEE802154_ADDR_LEN; > - memset(dev->broadcast, 0xff, IEEE802154_ADDR_LEN); > - dev->type = ARPHRD_6LOWPAN; > + ldev->addr_len = IEEE802154_ADDR_LEN; > + memset(ldev->broadcast, 0xff, IEEE802154_ADDR_LEN); > + ldev->type = ARPHRD_6LOWPAN; > /* Frame Control + Sequence Number + Address fields + Security Header */ > - dev->hard_header_len = 2 + 1 + 20 + 14; > - dev->needed_tailroom = 2; /* FCS */ > - dev->mtu = IPV6_MIN_MTU; > - dev->tx_queue_len = 0; > - dev->flags = IFF_BROADCAST | IFF_MULTICAST; > - dev->watchdog_timeo = 0; > - > - dev->netdev_ops = &lowpan_netdev_ops; > - dev->header_ops = &lowpan_header_ops; > - dev->destructor = free_netdev; > - dev->features |= NETIF_F_NETNS_LOCAL; > + ldev->hard_header_len = 2 + 1 + 20 + 14; > + ldev->needed_tailroom = 2; /* FCS */ > + ldev->mtu = IPV6_MIN_MTU; > + ldev->tx_queue_len = 0; > + ldev->flags = IFF_BROADCAST | IFF_MULTICAST; > + ldev->watchdog_timeo = 0; > + > + ldev->netdev_ops = &lowpan_netdev_ops; > + ldev->header_ops = &lowpan_header_ops; > + ldev->destructor = free_netdev; > + ldev->features |= NETIF_F_NETNS_LOCAL; > } > > static int lowpan_validate(struct nlattr *tb[], struct nlattr *data[]) > @@ -107,10 +107,10 @@ static int lowpan_validate(struct nlattr *tb[], struct nlattr *data[]) > return 0; > } > > -static int lowpan_newlink(struct net *src_net, struct net_device *dev, > +static int lowpan_newlink(struct net *src_net, struct net_device *ldev, > struct nlattr *tb[], struct nlattr *data[]) > { > - struct net_device *real_dev; > + struct net_device *wdev; > int ret; > > ASSERT_RTNL(); > @@ -118,48 +118,47 @@ static int lowpan_newlink(struct net *src_net, struct net_device *dev, > pr_debug("adding new link\n"); > > if (!tb[IFLA_LINK] || > - !net_eq(dev_net(dev), &init_net)) > + !net_eq(dev_net(ldev), &init_net)) > return -EINVAL; > /* find and hold real wpan device */ > - real_dev = dev_get_by_index(dev_net(dev), nla_get_u32(tb[IFLA_LINK])); > - if (!real_dev) > + wdev = dev_get_by_index(dev_net(ldev), nla_get_u32(tb[IFLA_LINK])); > + if (!wdev) > return -ENODEV; > - if (real_dev->type != ARPHRD_IEEE802154) { > - dev_put(real_dev); > + if (wdev->type != ARPHRD_IEEE802154) { > + dev_put(wdev); > return -EINVAL; > } > > - if (real_dev->ieee802154_ptr->lowpan_dev) { > - dev_put(real_dev); > + if (wdev->ieee802154_ptr->lowpan_dev) { > + dev_put(wdev); > return -EBUSY; > } > > - lowpan_dev_info(dev)->real_dev = real_dev; > + lowpan_dev_info(ldev)->wdev = wdev; > /* Set the lowpan hardware address to the wpan hardware address. */ > - memcpy(dev->dev_addr, real_dev->dev_addr, IEEE802154_ADDR_LEN); > + memcpy(ldev->dev_addr, wdev->dev_addr, IEEE802154_ADDR_LEN); > > - lowpan_priv(dev)->lltype = LOWPAN_LLTYPE_IEEE802154; > + lowpan_priv(ldev)->lltype = LOWPAN_LLTYPE_IEEE802154; > > - ret = register_netdevice(dev); > + ret = register_netdevice(ldev); > if (ret >= 0) { > - real_dev->ieee802154_ptr->lowpan_dev = dev; > + wdev->ieee802154_ptr->lowpan_dev = ldev; > lowpan_rx_init(); > } > > return ret; > } > > -static void lowpan_dellink(struct net_device *dev, struct list_head *head) > +static void lowpan_dellink(struct net_device *ldev, struct list_head *head) > { > - struct lowpan_dev_info *lowpan_dev = lowpan_dev_info(dev); > - struct net_device *real_dev = lowpan_dev->real_dev; > + struct net_device *wdev = lowpan_dev_info(ldev)->wdev; > > ASSERT_RTNL(); > > lowpan_rx_exit(); > - real_dev->ieee802154_ptr->lowpan_dev = NULL; > - unregister_netdevice(dev); > - dev_put(real_dev); > + wdev->ieee802154_ptr->lowpan_dev = NULL; > + unregister_netdevice(ldev); > + dev_put(wdev); > } > > static struct rtnl_link_ops lowpan_link_ops __read_mostly = { > @@ -185,9 +184,9 @@ static inline void lowpan_netlink_fini(void) > static int lowpan_device_event(struct notifier_block *unused, > unsigned long event, void *ptr) > { > - struct net_device *dev = netdev_notifier_info_to_dev(ptr); > + struct net_device *wdev = netdev_notifier_info_to_dev(ptr); > > - if (dev->type != ARPHRD_IEEE802154) > + if (wdev->type != ARPHRD_IEEE802154) > goto out; > > switch (event) { > @@ -196,8 +195,8 @@ static int lowpan_device_event(struct notifier_block *unused, > * also delete possible lowpan interfaces which belongs > * to the wpan interface. > */ > - if (dev->ieee802154_ptr && dev->ieee802154_ptr->lowpan_dev) > - lowpan_dellink(dev->ieee802154_ptr->lowpan_dev, NULL); > + if (wdev->ieee802154_ptr && wdev->ieee802154_ptr->lowpan_dev) > + lowpan_dellink(wdev->ieee802154_ptr->lowpan_dev, NULL); > break; > default: > break; > diff --git a/net/ieee802154/6lowpan/reassembly.c b/net/ieee802154/6lowpan/reassembly.c > index f46e4d1..c9f77f7 100644 > --- a/net/ieee802154/6lowpan/reassembly.c > +++ b/net/ieee802154/6lowpan/reassembly.c > @@ -46,7 +46,7 @@ static struct lowpan_frag_info *lowpan_cb(struct sk_buff *skb) > static struct inet_frags lowpan_frags; > > static int lowpan_frag_reasm(struct lowpan_frag_queue *fq, > - struct sk_buff *prev, struct net_device *dev); > + struct sk_buff *prev, struct net_device *ldev); > > static unsigned int lowpan_hash_frag(u16 tag, u16 d_size, > const struct ieee802154_addr *saddr, > @@ -141,7 +141,7 @@ static int lowpan_frag_queue(struct lowpan_frag_queue *fq, > struct sk_buff *skb, const u8 frag_type) > { > struct sk_buff *prev, *next; > - struct net_device *dev; > + struct net_device *ldev; > int end, offset; > > if (fq->q.flags & INET_FRAG_COMPLETE) > @@ -195,8 +195,8 @@ found: > else > fq->q.fragments = skb; > > - dev = skb->dev; > - if (dev) > + ldev = skb->dev; > + if (ldev) > skb->dev = NULL; > > fq->q.stamp = skb->tstamp; > @@ -215,7 +215,7 @@ found: > unsigned long orefdst = skb->_skb_refdst; > > skb->_skb_refdst = 0UL; > - res = lowpan_frag_reasm(fq, prev, dev); > + res = lowpan_frag_reasm(fq, prev, ldev); > skb->_skb_refdst = orefdst; > return res; > } > @@ -235,7 +235,7 @@ err: > * the last and the first frames arrived and all the bits are here. > */ > static int lowpan_frag_reasm(struct lowpan_frag_queue *fq, struct sk_buff *prev, > - struct net_device *dev) > + struct net_device *ldev) > { > struct sk_buff *fp, *head = fq->q.fragments; > int sum_truesize; > @@ -313,7 +313,7 @@ static int lowpan_frag_reasm(struct lowpan_frag_queue *fq, struct sk_buff *prev, > sub_frag_mem_limit(&fq->q, sum_truesize); > > head->next = NULL; > - head->dev = dev; > + head->dev = ldev; > head->tstamp = fq->q.stamp; > > fq->q.fragments = NULL; > diff --git a/net/ieee802154/6lowpan/rx.c b/net/ieee802154/6lowpan/rx.c > index d6f5e8e..6302b94 100644 > --- a/net/ieee802154/6lowpan/rx.c > +++ b/net/ieee802154/6lowpan/rx.c > @@ -16,9 +16,9 @@ > #include "6lowpan_i.h" > > static int lowpan_give_skb_to_device(struct sk_buff *skb, > - struct net_device *dev) > + struct net_device *wdev) > { > - skb->dev = dev->ieee802154_ptr->lowpan_dev; > + skb->dev = wdev->ieee802154_ptr->lowpan_dev; > skb->protocol = htons(ETH_P_IPV6); > skb->pkt_type = PACKET_HOST; > > @@ -61,8 +61,8 @@ iphc_decompress(struct sk_buff *skb, const struct ieee802154_hdr *hdr) > IEEE802154_ADDR_LEN, iphc0, iphc1); > } > > -static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev, > - struct packet_type *pt, struct net_device *orig_dev) > +static int lowpan_rcv(struct sk_buff *skb, struct net_device *wdev, > + struct packet_type *pt, struct net_device *orig_wdev) > { > struct ieee802154_hdr hdr; > int ret; > @@ -71,13 +71,13 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev, > if (!skb) > goto drop; > > - if (!netif_running(dev)) > + if (!netif_running(wdev)) > goto drop_skb; > > if (skb->pkt_type == PACKET_OTHERHOST) > goto drop_skb; > > - if (dev->type != ARPHRD_IEEE802154) > + if (wdev->type != ARPHRD_IEEE802154) > goto drop_skb; > > if (ieee802154_hdr_peek_addrs(skb, &hdr) < 0) > @@ -87,7 +87,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev, > if (skb->data[0] == LOWPAN_DISPATCH_IPV6) { > /* Pull off the 1-byte of 6lowpan header. */ > skb_pull(skb, 1); > - return lowpan_give_skb_to_device(skb, dev); > + return lowpan_give_skb_to_device(skb, wdev); > } else { > switch (skb->data[0] & 0xe0) { > case LOWPAN_DISPATCH_IPHC: /* ipv6 datagram */ > @@ -95,7 +95,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev, > if (ret < 0) > goto drop_skb; > > - return lowpan_give_skb_to_device(skb, dev); > + return lowpan_give_skb_to_device(skb, wdev); > case LOWPAN_DISPATCH_FRAG1: /* first fragment header */ > ret = lowpan_frag_rcv(skb, LOWPAN_DISPATCH_FRAG1); > if (ret == 1) { > @@ -103,7 +103,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev, > if (ret < 0) > goto drop_skb; > > - return lowpan_give_skb_to_device(skb, dev); > + return lowpan_give_skb_to_device(skb, wdev); > } else if (ret == -1) { > return NET_RX_DROP; > } else { > @@ -116,7 +116,7 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *dev, > if (ret < 0) > goto drop_skb; > > - return lowpan_give_skb_to_device(skb, dev); > + return lowpan_give_skb_to_device(skb, wdev); > } else if (ret == -1) { > return NET_RX_DROP; > } else { > diff --git a/net/ieee802154/6lowpan/tx.c b/net/ieee802154/6lowpan/tx.c > index 1bf4a30..564e973 100644 > --- a/net/ieee802154/6lowpan/tx.c > +++ b/net/ieee802154/6lowpan/tx.c > @@ -36,7 +36,7 @@ lowpan_addr_info *lowpan_skb_priv(const struct sk_buff *skb) > sizeof(struct lowpan_addr_info)); > } > > -int lowpan_header_create(struct sk_buff *skb, struct net_device *dev, > +int lowpan_header_create(struct sk_buff *skb, struct net_device *ldev, > unsigned short type, const void *_daddr, > const void *_saddr, unsigned int len) > { > @@ -51,7 +51,7 @@ int lowpan_header_create(struct sk_buff *skb, struct net_device *dev, > return 0; > > if (!saddr) > - saddr = dev->dev_addr; > + saddr = ldev->dev_addr; > > raw_dump_inline(__func__, "saddr", (unsigned char *)saddr, 8); > raw_dump_inline(__func__, "daddr", (unsigned char *)daddr, 8); > @@ -73,22 +73,21 @@ static struct sk_buff* > lowpan_alloc_frag(struct sk_buff *skb, int size, > const struct ieee802154_hdr *master_hdr) > { > - struct net_device *real_dev = lowpan_dev_info(skb->dev)->real_dev; > + struct net_device *wdev = lowpan_dev_info(skb->dev)->wdev; > struct sk_buff *frag; > int rc; > > - frag = alloc_skb(real_dev->hard_header_len + > - real_dev->needed_tailroom + size, > + frag = alloc_skb(wdev->hard_header_len + wdev->needed_tailroom + size, > GFP_ATOMIC); > > if (likely(frag)) { > - frag->dev = real_dev; > + frag->dev = wdev; > frag->priority = skb->priority; > - skb_reserve(frag, real_dev->hard_header_len); > + skb_reserve(frag, wdev->hard_header_len); > skb_reset_network_header(frag); > *mac_cb(frag) = *mac_cb(skb); > > - rc = dev_hard_header(frag, real_dev, 0, &master_hdr->dest, > + rc = dev_hard_header(frag, wdev, 0, &master_hdr->dest, > &master_hdr->source, size); > if (rc < 0) { > kfree_skb(frag); > @@ -123,7 +122,7 @@ lowpan_xmit_fragment(struct sk_buff *skb, const struct ieee802154_hdr *wpan_hdr, > } > > static int > -lowpan_xmit_fragmented(struct sk_buff *skb, struct net_device *dev, > +lowpan_xmit_fragmented(struct sk_buff *skb, struct net_device *ldev, > const struct ieee802154_hdr *wpan_hdr) > { > u16 dgram_size, dgram_offset; > @@ -134,8 +133,8 @@ lowpan_xmit_fragmented(struct sk_buff *skb, struct net_device *dev, > > dgram_size = lowpan_uncompress_size(skb, &dgram_offset) - > skb->mac_len; > - frag_tag = htons(lowpan_dev_info(dev)->fragment_tag); > - lowpan_dev_info(dev)->fragment_tag++; > + frag_tag = htons(lowpan_dev_info(ldev)->fragment_tag); > + lowpan_dev_info(ldev)->fragment_tag++; > > frag_hdr[0] = LOWPAN_DISPATCH_FRAG1 | ((dgram_size >> 8) & 0x07); > frag_hdr[1] = dgram_size & 0xff; > @@ -188,9 +187,9 @@ err: > return rc; > } > > -static int lowpan_header(struct sk_buff *skb, struct net_device *dev) > +static int lowpan_header(struct sk_buff *skb, struct net_device *ldev) > { > - struct wpan_dev *wpan_dev = lowpan_dev_info(dev)->real_dev->ieee802154_ptr; > + struct wpan_dev *wpan_dev = lowpan_dev_info(ldev)->wdev->ieee802154_ptr; > struct ieee802154_addr sa, da; > struct ieee802154_mac_cb *cb = mac_cb_init(skb); > struct lowpan_addr_info info; > @@ -202,7 +201,7 @@ static int lowpan_header(struct sk_buff *skb, struct net_device *dev) > daddr = &info.daddr.u.extended_addr; > saddr = &info.saddr.u.extended_addr; > > - lowpan_header_compress(skb, dev, ETH_P_IPV6, daddr, saddr, skb->len); > + lowpan_header_compress(skb, ldev, ETH_P_IPV6, daddr, saddr, skb->len); > > cb->type = IEEE802154_FC_TYPE_DATA; > > @@ -227,11 +226,11 @@ static int lowpan_header(struct sk_buff *skb, struct net_device *dev) > cb->ackreq = wpan_dev->ackreq; > } > > - return dev_hard_header(skb, lowpan_dev_info(dev)->real_dev, > - ETH_P_IPV6, (void *)&da, (void *)&sa, 0); > + return dev_hard_header(skb, lowpan_dev_info(ldev)->wdev, ETH_P_IPV6, > + (void *)&da, (void *)&sa, 0); > } > > -netdev_tx_t lowpan_xmit(struct sk_buff *skb, struct net_device *dev) > +netdev_tx_t lowpan_xmit(struct sk_buff *skb, struct net_device *ldev) > { > struct ieee802154_hdr wpan_hdr; > int max_single, ret; > @@ -245,7 +244,7 @@ netdev_tx_t lowpan_xmit(struct sk_buff *skb, struct net_device *dev) > if (!skb) > return NET_XMIT_DROP; > > - ret = lowpan_header(skb, dev); > + ret = lowpan_header(skb, ldev); > if (ret < 0) { > kfree_skb(skb); > return NET_XMIT_DROP; > @@ -259,13 +258,13 @@ netdev_tx_t lowpan_xmit(struct sk_buff *skb, struct net_device *dev) > max_single = ieee802154_max_payload(&wpan_hdr); > > if (skb_tail_pointer(skb) - skb_network_header(skb) <= max_single) { > - skb->dev = lowpan_dev_info(dev)->real_dev; > + skb->dev = lowpan_dev_info(ldev)->wdev; > return dev_queue_xmit(skb); > } else { > netdev_tx_t rc; > > pr_debug("frame is too big, fragmentation is needed\n"); > - rc = lowpan_xmit_fragmented(skb, dev, &wpan_hdr); > + rc = lowpan_xmit_fragmented(skb, ldev, &wpan_hdr); > > return rc < 0 ? NET_XMIT_DROP : rc; > } Reviewed-by: Stefan Schmidt regards Stefan Schmidt