ieee802154: document the skb->cb usage clearly.
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Wed, 19 Aug 2009 14:53:39 +0000 (18:53 +0400)
committerDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Wed, 19 Aug 2009 19:08:19 +0000 (23:08 +0400)
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Documentation/networking/ieee802154.txt

index 1c0c82c..23c995e 100644 (file)
@@ -56,8 +56,12 @@ HardMAC
 
 See the header include/net/ieee802154_netdev.h. You have to implement Linux
 net_device, with .type = ARPHRD_IEEE802154. Data is exchanged with socket family
-code via plain sk_buffs. The control block of sk_buffs will contain additional
-info as described in the struct ieee802154_mac_cb.
+code via plain sk_buffs. On skb reception skb->cb must contain additional
+info as described in the struct ieee802154_mac_cb. During packet transmission
+the skb->cb is used to provide additional data to device's header_ops->create
+function. Be aware, that this data can be overriden later (when socket code
+submits skb to qdisc), so if you need something from that cb later, you should
+store info in the skb->data on your own.
 
 To hook the MLME interface you have to populate the ml_priv field of your
 net_device with a pointer to struct ieee802154_mlme_ops instance. All fields are
@@ -73,3 +77,4 @@ We are going to provide intermediate layer implementing IEEE 802.15.4 MAC
 in software. This is currently WIP.
 
 See header include/net/mac802154.h and several drivers in drivers/ieee802154/.
+