Reassembly buffer definitions. More...
Reassembly buffer definitions.
Definition in file rb.h.
#include <stdint.h>
#include <stdbool.h>
#include <stdalign.h>
#include "architecture.h"
#include "net/gnrc/netif/hdr.h"
#include "net/gnrc/pkt.h"
#include "net/gnrc/sixlowpan/config.h"
Go to the source code of this file.
Data Structures | |
struct | gnrc_sixlowpan_frag_rb_int |
Fragment intervals to identify limits of fragments and duplicates. More... | |
struct | gnrc_sixlowpan_frag_rb_base_t |
Base class for both reassembly buffer and virtual reassembly buffer. More... | |
struct | gnrc_sixlowpan_frag_rb_t |
An entry in the 6LoWPAN reassembly buffer. More... | |
Macros | |
#define | GNRC_SIXLOWPAN_FRAG_RB_GC_MSG (0x0226) |
Message type for triggering garbage collection reassembly buffer. | |
Typedefs | |
typedef struct gnrc_sixlowpan_frag_rb_int | gnrc_sixlowpan_frag_rb_int_t |
Fragment intervals to identify limits of fragments and duplicates. | |
Functions | |
gnrc_sixlowpan_frag_rb_t * | gnrc_sixlowpan_frag_rb_add (gnrc_netif_hdr_t *netif_hdr, gnrc_pktsnip_t *frag, size_t offset, unsigned page) |
Adds a new fragment to the reassembly buffer. | |
gnrc_sixlowpan_frag_rb_t * | gnrc_sixlowpan_frag_rb_get_by_datagram (const gnrc_netif_hdr_t *netif_hdr, uint16_t tag) |
Gets a reassembly buffer entry with a given link-layer address pair and tag. | |
bool | gnrc_sixlowpan_frag_rb_exists (const gnrc_netif_hdr_t *netif_hdr, uint16_t tag) |
Checks if a reassembly buffer entry with a given link-layer address pair and tag exists. | |
void | gnrc_sixlowpan_frag_rb_rm_by_datagram (const gnrc_netif_hdr_t *netif_hdr, uint16_t tag) |
Removes a reassembly buffer entry with a given link-layer address pair and tag. | |
static bool | gnrc_sixlowpan_frag_rb_entry_empty (const gnrc_sixlowpan_frag_rb_t *rbuf) |
Checks if a reassembly buffer entry is unset. | |
void | gnrc_sixlowpan_frag_rb_reset (void) |
Resets the packet buffer to a clean state. | |
const gnrc_sixlowpan_frag_rb_t * | gnrc_sixlowpan_frag_rb_array (void) |
Returns a pointer to the array representing the reassembly buffer. | |
void | gnrc_sixlowpan_frag_rb_base_rm (gnrc_sixlowpan_frag_rb_base_t *entry) |
Remove base entry. | |
void | gnrc_sixlowpan_frag_rb_gc (void) |
Garbage collect reassembly buffer. | |
int | gnrc_sixlowpan_frag_rb_dispatch_when_complete (gnrc_sixlowpan_frag_rb_t *rbuf, gnrc_netif_hdr_t *netif) |
Checks if a reassembly buffer entry is complete and dispatches it to the next layer if that is the case. | |
static void | gnrc_sixlowpan_frag_rb_remove (gnrc_sixlowpan_frag_rb_t *rbuf) |
Unsets a reassembly buffer entry (but does not free rbuf_t::super::pkt) | |
bool | gnrc_sixlowpan_frag_rb_ints_empty (void) |
Check if pool of fragment intervals is empty. | |