android_kernel_motorola_sm6225/net/mac802154
Alexander Aring 838b83d63d ieee802154: introduce wpan_dev_header_ops
The current header_ops callback structure of net device are used mostly
from 802.15.4 upper-layers. Because this callback structure is a very
generic one, which is also used by e.g. DGRAM AF_PACKET sockets, we
can't make this callback structure 802.15.4 specific which is currently
is.

I saw the smallest "constraint" for calling this callback with
dev_hard_header/dev_parse_header by AF_PACKET which assign a 8 byte
array for address void pointers. Currently 802.15.4 specific protocols
like af802154 and 6LoWPAN will assign the "struct ieee802154_addr" as
these parameters which is greater than 8 bytes. The current callback
implementation for header_ops.create assumes always a complete
"struct ieee802154_addr" which AF_PACKET can't never handled and is
greater than 8 bytes.

For that reason we introduce now a "generic" create/parse header_ops
callback which allows handling with intra-pan extended addresses only.
This allows a small use-case with AF_PACKET to send "somehow" a valid
dataframe over DGRAM.

To keeping the current dev_hard_header behaviour we introduce a similar
callback structure "wpan_dev_header_ops" which contains 802.15.4 specific
upper-layer header creation functionality, which can be called by
wpan_dev_hard_header.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2015-09-22 11:51:20 +02:00
..
cfg.c ieee802154: add ack request default handling 2015-08-10 20:43:06 +02:00
cfg.h mac802154: introduce mac802154_config_ops 2014-11-02 04:51:06 +01:00
driver-ops.h mac802154: add trace functionality for driver ops 2015-06-02 19:21:09 +02:00
ieee802154_i.h mac802154: Fix memory corruption with global deferred transmit state. 2015-07-30 14:08:55 +02:00
iface.c ieee802154: introduce wpan_dev_header_ops 2015-09-22 11:51:20 +02:00
Kconfig mac802154: select CRYPTO when needed 2015-05-19 19:35:48 +02:00
llsec.c mac802154: llsec: fix device deletion from list 2015-09-22 11:51:19 +02:00
llsec.h mac802154: add llsec decryption method 2014-05-16 17:23:41 -04:00
mac_cmd.c mac802154: mac802154_mlme_start_req() optimisation. 2015-05-26 20:26:10 +02:00
main.c mac802154: change frame_retries behaviour 2015-08-10 20:43:06 +02:00
Makefile mac802154: add trace functionality for driver ops 2015-06-02 19:21:09 +02:00
mib.c mac802154: remove mib lock 2015-05-23 17:57:08 +02:00
rx.c mac802154: fix ieee802154_rx handling 2015-07-23 17:10:50 +02:00
trace.c mac802154: add trace functionality for driver ops 2015-06-02 19:21:09 +02:00
trace.h mac802154: add trace functionality for driver ops 2015-06-02 19:21:09 +02:00
tx.c mac802154: Fix memory corruption with global deferred transmit state. 2015-07-30 14:08:55 +02:00
util.c mac802154: util: add stop_device utility function 2015-07-23 17:10:49 +02:00