Hi Martin, now we have a problem here which I already told many times...
the IPHC code is shared between bluetooth and IEEE 802.15.4 and normally we need to send changes to net/ieee802154/6lowpan_iphc.c also to bluetooth. That's why I want a new branch net/6lowpan/ with the iphc implementation. Then we can set as mailinglist linux-wpan and bluetooth mailinglist in the MAINTAINERS file. For these changes in our current situation we need to split this patch: 1) one patch only for the 6lowpan_iphc.c file, because this is generic code. (then we can send it to our and bluetooth mailinglist and I think we need that, we can't send patches for this without review from the bluetooth community). 2) one patch for the rest. 3) you change the behaviour in net/ieee802154/6lowpan_iphc.c then you need also change it in the bluetooth 6lowpan implementation. Another question is on which branch this patch based? It doesn't based on net-next or "linux-wpan-next" (currently these branches are the same) and doesn't matter on which branch of these two based. It also doesn't apply on net or linux-wpan. I think we should base this on net-next because... we have no stable strategie at the moment. Sorry I told you last time "net". But this patch doesn't apply on both branches. I can't review it 100% without applying sorry, send a v2 which based on net-next. And please split into three patches one for 6lowpan_iphc.c and one for the rest of the changes. You also need a third patch for the 6lowpan implementation. It's very complicated to fix this issue currently, sorry. On Thu, Jul 10, 2014 at 04:49:57PM +0100, Martin Townsend wrote: > Alex, > > I've bitten the bullet and had an attempt at refactoring the receive path of > lowpan to > 1)Remove all use of error codes like -EINVAL as these are really part of the > UAPI and we are not propogating error codes to user space. > 2)Ensure skb is freed in one place at the top of the call stack, ie lowpan_rcv > 3)Removed unused parameter in lowpan_give_skb_to_devices > 4)Only call lowpan_give_skb_to_devices from lowpan_rcv, this means pasing the > ipv6_hdr down the call chain > 5)Refactored the dispatch processing a bit to reduce code duplication. > 6)lowpan_frag_rcv now returns <0 for errors, 0 for more fragments, and 1 for > all fragments received to aid lowpan_rcv > > > Sorry for the large patch file, I'm a bit pushed for time and wanted to get > some feedback first. > I'll roll out a proper patch series if it's acceptable. > max 80 chars width. please. > -Martin > > > --- > include/net/6lowpan.h | 4 +- > net/ieee802154/6lowpan_iphc.c | 91 > ++++++++++++++----------------------------- > net/ieee802154/6lowpan_rtnl.c | 86 +++++++++++++++++++++++++--------------- > net/ieee802154/reassembly.c | 4 +- > 4 files changed, 87 insertions(+), 98 deletions(-) > > diff --git a/include/net/6lowpan.h b/include/net/6lowpan.h > index f7d372b..f187b64 100644 > --- a/include/net/6lowpan.h > +++ b/include/net/6lowpan.h > @@ -423,10 +423,10 @@ lowpan_uncompress_size(const struct sk_buff *skb, u16 > *dgram_offset) > > typedef int (*skb_delivery_cb)(struct sk_buff *skb, struct net_device *dev); > > -int lowpan_process_data(struct sk_buff *skb, struct net_device *dev, > +int lowpan_process_data(struct sk_buff *skb, struct ipv6hdr *hdr, > const u8 *saddr, const u8 saddr_type, const u8 saddr_len, > const u8 *daddr, const u8 daddr_type, const u8 daddr_len, > - u8 iphc0, u8 iphc1, skb_delivery_cb skb_deliver); > + u8 iphc0, u8 iphc1); You can't remove this functionpointer this function is also used in bluetooth code look in linux-wpan-next/net-next in file "net/bluetooth/6lowpan.c" line 217. If you see that, then you know what I mean with "shared iphc implementation". My basic idea was to move the iphc code into "net/6lowpan" and then make a cleanup of the iphc implementation which also return a better error handling for 802.15.4 and bluetooth. Then fix error handling in "net/ieee802154/6lowpan_rtnl.c". Martin, I know you wait a long time for a fix for that... Sorry! :-( Try first to fix these issues (split patches, without breaking bluetooth), then I will take a closer look. - Alex ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ Linux-zigbee-devel mailing list Linux-zigbee-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel