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

Reply via email to