-
- Downloads
You need to sign in or sign up before continuing.
gnrc_sixlowpan_frag: add asynchronous rbuf GC
While the current approach for garbage collection in the 6Lo reassembly buffer is good for best-effort handling of *fragmented* packets and nicely RAM saving, it has the problem that incomplete, huge datagrams can basically DoS a node, if no further fragmented datagram is received for a while (since the packet buffer is full and GC is not triggered). This change adds a asynchronous GC (utilizing the existing functionality) to the reassembly buffer, so that even if there is no new fragmented packet received, fragments older than `RBUF_TIMEOUT` will be removed from the reassembly buffer, freeing up the otherwise wasted packet buffer space.
Showing
- sys/include/net/gnrc/sixlowpan/frag.h 16 additions, 1 deletionsys/include/net/gnrc/sixlowpan/frag.h
- sys/net/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c 5 additions, 0 deletions...t/gnrc/network_layer/sixlowpan/frag/gnrc_sixlowpan_frag.c
- sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c 13 additions, 4 deletionssys/net/gnrc/network_layer/sixlowpan/frag/rbuf.c
- sys/net/gnrc/network_layer/sixlowpan/frag/rbuf.h 5 additions, 0 deletionssys/net/gnrc/network_layer/sixlowpan/frag/rbuf.h
- sys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c 4 additions, 0 deletionssys/net/gnrc/network_layer/sixlowpan/gnrc_sixlowpan.c
Please register or sign in to comment