diff options
author | Tony Cheneau <tony.cheneau@amnesiak.org> | 2013-03-25 13:59:23 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-26 12:37:55 -0400 |
commit | f333a15a3eaf831067f9bfed35f1bb5fe0670b9f (patch) | |
tree | a7dc580f5f2941c179d179c23e4724ebd6a3b341 /net/ieee802154 | |
parent | f5c20f58d950002a4a5a77f60484a51e5af6498c (diff) |
6lowpan: always enable link-layer acknowledgments
This feature is especially important when using fragmentation, because
the reassembly mechanism cannot recover from the loss of a fragment.
Note that some hardware ignore this flag and not will not transmit
acknowledgments even if this is set.
Signed-off-by: Tony Cheneau <tony.cheneau@amnesiak.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ieee802154')
-rw-r--r-- | net/ieee802154/6lowpan.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c index 9f53904b5261..e7f61de2459a 100644 --- a/net/ieee802154/6lowpan.c +++ b/net/ieee802154/6lowpan.c | |||
@@ -584,6 +584,10 @@ static int lowpan_header_create(struct sk_buff *skb, | |||
584 | 584 | ||
585 | mac_cb(skb)->flags = IEEE802154_FC_TYPE_DATA; | 585 | mac_cb(skb)->flags = IEEE802154_FC_TYPE_DATA; |
586 | 586 | ||
587 | /* request acknowledgment when possible */ | ||
588 | if (!lowpan_is_addr_broadcast(daddr)) | ||
589 | mac_cb(skb)->flags |= MAC_CB_FLAG_ACKREQ; | ||
590 | |||
587 | return dev_hard_header(skb, lowpan_dev_info(dev)->real_dev, | 591 | return dev_hard_header(skb, lowpan_dev_info(dev)->real_dev, |
588 | type, (void *)&da, (void *)&sa, skb->len); | 592 | type, (void *)&da, (void *)&sa, skb->len); |
589 | } | 593 | } |