16 Commits

Author SHA1 Message Date
Davide Della Giustina
8cf7625cc2
ip_addrs field of an interface is now a heapless::Vec (one test still failing) 2022-12-20 12:02:10 +00:00
Thibaut Vandervelden
fe26f462dd Better names for buffers (#653) 2022-09-21 23:11:35 +02:00
Thibaut Vandervelden
f04a44d6bc Update 6lowpan example 2022-06-16 15:44:09 +02:00
Dario Nieuwenhuis
9e18ca127e socket_set: add get_mut, make get immutable. 2022-06-06 02:26:45 +02:00
Dario Nieuwenhuis
d703a66d1d iface: borrow the device instead of owning it. 2022-06-06 02:26:45 +02:00
Dario Nieuwenhuis
b71ffcb6cc iface: borrow the SocketSet instead of owning. 2022-06-06 01:14:53 +02:00
Thibaut Vandervelden
f3310e63f4 refactor 6LoWPAN fragmentation 2022-06-01 12:27:11 +02:00
AntoonBeres
c11e4bb6a7 added sixlowpan fragmentation benchmark 2022-05-24 10:24:53 +02:00
Thibaut Vandervelden
adf56a1701 sixlowpan: add fragmentation logic in interface 2022-05-23 15:44:20 +02:00
Dario Nieuwenhuis
72a9ee46ce socket: reorganize module structure, with one module per protocol. 2022-05-20 02:18:00 +02:00
Dario Nieuwenhuis
9a2093e39e Remove braces that were previously needed to workaround SocketRef borrow issues. 2021-11-03 23:32:32 +01:00
Dario Nieuwenhuis
ef213fa772 socket: remove SocketRef.
The intent was to run custom code after the user is done modifying the socket,
for example to update a (not yet existing) port->socket map in SocketSet. However
this wouldn't work, since the SocketRef would have to borrow the SocketSet at
the same time as the Socket to be able to notify the SocketSet.

I believe such indexing can be achieved by setting a "dirty" bit *before* giving
the socket to the user, then on poll() reindexing all dirty sockets. This could
even be faster: if user gets a socket multiple times between polls, it'd be reindexed
only once.
2021-11-03 23:32:32 +01:00
Dario Nieuwenhuis
bde881d2f9 iface: own the SocketSet instead of borrowing it 2021-11-03 23:32:32 +01:00
Thibaut Vandervelden
f67f024882 Use one PAN ID for source and destination
Also check for the correct destination PAN id when receiving a frame (as
discussed). Linux does this as well.
However, hardware implementations also can drop those packets.
2021-10-21 01:25:13 +02:00
Dario Nieuwenhuis
b74cd58036 example/6lowpan: expand readme, do not use monitor interface.
Using a raw socket on `monitor0` causes weird results: packets we receive
include FCS, packets we send are parsed as if they didn't have FCS, except
by wireshark which always expects a FCS??

Turns out the sane way is to use raw sockets on normal `wpanX` interfaces,
in which case all packets we send/receive are without FCS.
2021-10-21 01:25:13 +02:00
Thibaut Vandervelden
3d782f19cd Add support for 802.15.4 and 6LoWPAN 2021-10-21 01:25:12 +02:00