GNRC fragmentation extension definitions. More...
GNRC fragmentation extension definitions.
Definition in file frag.h.
#include <stdbool.h>#include <stdint.h>#include "clist.h"#include "net/gnrc/pkt.h"#include "net/gnrc/pktbuf.h"#include "net/ipv6/hdr.h"
Include dependency graph for frag.h:Go to the source code of this file.
Data Structures | |
| struct | gnrc_ipv6_ext_frag_limits |
| Data type to describe limits of a single fragment in the reassembly buffer. More... | |
| struct | gnrc_ipv6_ext_frag_send_t |
| Fragmentation send buffer type. More... | |
| struct | gnrc_ipv6_ext_frag_rbuf_t |
| A reassembly buffer entry. More... | |
| struct | gnrc_ipv6_ext_frag_stats_t |
| Statistics on reassembly and reassembly. More... | |
Macros | |
| #define | GNRC_IPV6_EXT_FRAG_RBUF_GC (0xfe00U) |
| Message type to time reassembly buffer garbage collection. | |
| #define | GNRC_IPV6_EXT_FRAG_CONTINUE (0xfe01U) |
| Message type to continue fragmenting a datagram from a given fragmentation send buffer. More... | |
| #define | GNRC_IPV6_EXT_FRAG_SEND (0xfe02U) |
| Message type to send a fragment of an IPv6 datagram. More... | |
Typedefs | |
| typedef struct gnrc_ipv6_ext_frag_limits | gnrc_ipv6_ext_frag_limits_t |
| Data type to describe limits of a single fragment in the reassembly buffer. | |
Functions | |
| void | gnrc_ipv6_ext_frag_init (void) |
| Initializes IPv6 fragmentation and reassembly. | |
| void | gnrc_ipv6_ext_frag_send_pkt (gnrc_pktsnip_t *pkt, unsigned path_mtu) |
| Send an IPv6 packet fragmented. More... | |
| void | gnrc_ipv6_ext_frag_send (gnrc_ipv6_ext_frag_send_t *snd_buf) |
| (Continue to) fragment packet already in fragmentation send buffer More... | |
| gnrc_pktsnip_t * | gnrc_ipv6_ext_frag_reass (gnrc_pktsnip_t *pkt) |
| Reassemble fragmented IPv6 packet. More... | |
| gnrc_ipv6_ext_frag_stats_t * | gnrc_ipv6_ext_frag_stats (void) |
| Get the current statistics on reassembly and fragmentation. More... | |
Reassembly buffer operations | |
| gnrc_ipv6_ext_frag_rbuf_t * | gnrc_ipv6_ext_frag_rbuf_get (ipv6_hdr_t *ipv6, uint32_t id) |
| Get a reassembly buffer by the identifying parameters. | |
| void | gnrc_ipv6_ext_frag_rbuf_free (gnrc_ipv6_ext_frag_rbuf_t *rbuf) |
| Frees a reassembly buffer entry (but does not release its gnrc_ipv6_ext_frag_rbuf_t::pkt) More... | |
| static void | gnrc_ipv6_ext_frag_rbuf_del (gnrc_ipv6_ext_frag_rbuf_t *rbuf) |
| Delete a reassembly buffer entry (and release its gnrc_ipv6_ext_frag_rbuf_t::pkt) More... | |
| void | gnrc_ipv6_ext_frag_rbuf_gc (void) |
| Garbage-collect reassembly buffer. More... | |