Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Missing drop implementations in netdev_driver_t::recv #10410

@maribu

Description

@maribu

Description

Some implementations of netdev_driver_t::recv(netdev_t *dev, void *buf, size_t len, void *info) do not implement the drop case ((buf == NULL) && (len != 0)). This issue should track the effort to provide the missing implementations.

In case the upper layer used for the driver never uses the drop feature of recv, an implementation of the drop feature is not required, if instead corresponding assert()s are added and this is documented properly.

Tracking

Driver State Pull Request
ata8520e Not affected (*) -
at86rf2xx Fixed, backport in progress #10285
cc110x Rewrite contains fix #10340
cc2420 Fix merged #10416
cc2538_rf Not affected
enc28j60 Fix merged #9806
encx24j600 Fix merged #10415
esp32/esp-eth Not affected -
esp32/esp-now Not affected -
esp32/esp-wifi Not affected -
esp8266 Not affected -
ethos Not affected -
kw2xrf Fixed 4ebcd7c
kw41zrf (#7107) Not affected -
mrf24j40 Fixed, PR merged #9562
netdev_tun Not affected
nrfble asserts present, doc requried
nrfmin Not affected -
rn2xx3 Not affected (*) -
slipdev Not affected
sx127x AFFECTED
socket_zep Fixed fa2d9bd
w5100 Fix merged #10412
xbee Not affected -

(*) Driver does not use the netdev_driver_t API, so it cannot be affected.


Update 1: Fixed typo
Update 2: Updated state of mrf24j40
Update 3: Added kw41zrf
Update 4: Cleaned up legend
Update 5: Added link to PR for w5100 fix
Update 6: Added link to PR for encx24j600, updated state of encx24j600 & w5100
Update 7: Added link to PR for cc2420 and updated its state
Update 8: Added esp32 netdev_driver_t implementations
Update 9: Added esp8266, confirmed that ata8520e and rn2xx3 are not using the netdev_driver_t API (yet) and are, thus, unaffected
Update 10: Corrected state for at86rf2xx
Update 11: enc28j60 and cc2420 are now fixed
Update 12: w5100 is now fixed
Update 13: encx24j600 fix merged
Update 14: Added cc2538_rf and netdev_tun
Update 15: After looking more closely into cc2538_rf, the error handling in the drop case with pkt_len > CC2538_RF_MAX_DATA_LEN is just fine. So cc2538_rf is not affected

Metadata

Metadata

Assignees

Labels

Area: driversArea: Device driversArea: networkArea: NetworkingType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)Type: trackingThe issue tracks and organizes the sub-tasks of a larger effort

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions