diff options
author | Tony Cheneau <tony.cheneau@amnesiak.org> | 2013-03-25 17:59:23 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-26 12:37:55 -0400 |
commit | f333a15a3eaf831067f9bfed35f1bb5fe0670b9f (patch) | |
tree | a7dc580f5f2941c179d179c23e4724ebd6a3b341 /net | |
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')
-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, mac_cb(skb)->flags = IEEE802154_FC_TYPE_DATA; + /* request acknowledgment when possible */ + if (!lowpan_is_addr_broadcast(daddr)) + mac_cb(skb)->flags |= MAC_CB_FLAG_ACKREQ; + return dev_hard_header(skb, lowpan_dev_info(dev)->real_dev, type, (void *)&da, (void *)&sa, skb->len); } |