On Jul 15, 2013, at 9:27 PM 7/15/13, Alexander Aring <alex.ar...@gmail.com> 
wrote:

Some protocolls has a unspecific address as source address like
"Multicast Listener Report Message v2" or "Neighbor Soliciation"
decode the SAC bit as :: address.

I read RFC 6282 as specifying unspecified address with SAC == 1, SAM == 00.

Relevant code snippet from my other stack:

switch (ihc1 >> 4 & 7) {
/* snip */
case 4: /* SAC == 1, SAM == 0 */
 memset (iptr->net_ipsrc, 0, 16);
 break;

case 5: /* SAC == 1, SAM == 1 */
 /* Context and 64 bits inline */
 #ifdef DEBUG_RADIO
 kprintf("no context-based address compression\n");
 #endif
 bptr += 8;
 break;
snip

- Ralph


The header create part set this bit when a :: address is used.

Signed-off-by: Alexander Aring <alex.ar...@gmail.com>
---
net/ieee802154/6lowpan.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
index 80f6f7b..197185c 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -958,11 +958,16 @@ lowpan_process_data(struct sk_buff *skb)
/* Extract SAM to the tmp variable */
tmp = ((iphc1 & LOWPAN_IPHC_SAM) >> LOWPAN_IPHC_SAM_BIT) & 0x03;

- /* Source address uncompression */
- pr_debug("source address stateless compression\n");
- err = lowpan_uncompress_addr(skb, &hdr.saddr, tmp, _saddr);
- if (err)
- goto drop;
+ if (iphc1 & LOWPAN_IPHC_SAC) {
+ /* TODO: implement this */
+ pr_debug("SAC bit is set. Set source address to: ::.\n");
+ } else {
+ /* Source address uncompression */
+ pr_debug("source address stateless compression\n");
+ err = lowpan_uncompress_addr(skb, &hdr.saddr, tmp, _saddr);
+ if (err)
+ goto drop;
+ }

/* Extract DAM to the tmp variable */
tmp = ((iphc1 & LOWPAN_IPHC_DAM_11) >> LOWPAN_IPHC_DAM_BIT) & 0x03;
--
1.8.3.2


------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Linux-zigbee-devel mailing list
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Linux-zigbee-devel mailing list
Linux-zigbee-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-zigbee-devel

Reply via email to