2016-02-24 11:01:03

by Alexander Aring

[permalink] [raw]
Subject: [PATCH bluetooth-next] 6lowpan: iphc: fix stateful multicast compression

In case of multicast address we need to set always the LOWPAN_IPHC_M bit
and if a destination context identifier was found for a multicast
address then we need to set the LOWPAN_IPHC_DAC as well.

Signed-off-by: Alexander Aring <[email protected]>
---
net/6lowpan/iphc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/6lowpan/iphc.c b/net/6lowpan/iphc.c
index 0fe954f..06287ac 100644
--- a/net/6lowpan/iphc.c
+++ b/net/6lowpan/iphc.c
@@ -1118,12 +1118,13 @@ int lowpan_header_compress(struct sk_buff *skb, const struct net_device *dev,
/* destination address compression */
if (ipv6_daddr_type & IPV6_ADDR_MULTICAST) {
pr_debug("destination address is multicast: ");
+ iphc1 |= LOWPAN_IPHC_M;
if (dci) {
iphc1 |= lowpan_iphc_mcast_ctx_addr_compress(&hc_ptr,
&dci_entry,
&hdr->daddr);
+ iphc1 |= LOWPAN_IPHC_DAC;
} else {
- iphc1 |= LOWPAN_IPHC_M;
iphc1 |= lowpan_iphc_mcast_addr_compress(&hc_ptr,
&hdr->daddr);
}
--
2.7.1



2016-02-24 15:16:40

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH bluetooth-next] 6lowpan: iphc: fix stateful multicast compression

Hi Alex,

> In case of multicast address we need to set always the LOWPAN_IPHC_M bit
> and if a destination context identifier was found for a multicast
> address then we need to set the LOWPAN_IPHC_DAC as well.
>
> Signed-off-by: Alexander Aring <[email protected]>
> ---
> net/6lowpan/iphc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)

patch has been applied to bluetooth-next tree.

Regards

Marcel