GNRC implementation of IPv6 fragmentation extension.
More...
GNRC implementation of IPv6 fragmentation extension.
|
file | frag.h |
| GNRC fragmentation extension definitions.
|
|
◆ GNRC_IPV6_EXT_FRAG_CONTINUE
#define GNRC_IPV6_EXT_FRAG_CONTINUE (0xfe01U) |
Message type to continue fragmenting a datagram from a given fragmentation send buffer.
Expected type: gnrc_ipv6_ext_frag_send_t
Definition at line 46 of file frag.h.
◆ GNRC_IPV6_EXT_FRAG_SEND
#define GNRC_IPV6_EXT_FRAG_SEND (0xfe02U) |
Message type to send a fragment of an IPv6 datagram.
Expected type: gnrc_pktsnip_t
Definition at line 53 of file frag.h.
◆ gnrc_ipv6_ext_frag_rbuf_del()
Delete a reassembly buffer entry (and release its gnrc_ipv6_ext_frag_rbuf_t::pkt)
- Note
- May be used by the IPv6 thread to remove a timed out reassembly buffer entry.
- Parameters
-
[in] | rbuf | A reassembly buffer entry. |
Definition at line 185 of file frag.h.
◆ gnrc_ipv6_ext_frag_rbuf_free()
◆ gnrc_ipv6_ext_frag_rbuf_gc()
void gnrc_ipv6_ext_frag_rbuf_gc |
( |
void |
| ) |
|
◆ gnrc_ipv6_ext_frag_reass()
Reassemble fragmented IPv6 packet.
- Parameters
-
[in] | pkt | A fragment of the IPv6 packet to be reassembled containing the fragment header in the first snip. |
- Returns
- The reassembled packet when
pkt
completed the reassembly
-
NULL, when there are still fragments missing or an error occurred during reassembly
◆ gnrc_ipv6_ext_frag_send()
(Continue to) fragment packet already in fragmentation send buffer
- Precondition
snd_buf != NULL
- Parameters
-
[in,out] | snd_buf | A fragmentation send buffer entry. May not be NULL. |
◆ gnrc_ipv6_ext_frag_send_pkt()
void gnrc_ipv6_ext_frag_send_pkt |
( |
gnrc_pktsnip_t * |
pkt, |
|
|
unsigned |
path_mtu |
|
) |
| |
Send an IPv6 packet fragmented.
- Parameters
-
[in] | pkt | The IPv6 packet. The packet must have an already prepared GNRC_NETTYPE_NETIF snip as its first snip. The packet must contain at least an IPv6 header and any number of IPv6 extension headers after that. |
[in] | path_mtu | Path MTU to destination of IPv6 packet. |
◆ gnrc_ipv6_ext_frag_stats()
Get the current statistics on reassembly and fragmentation.
- Returns
- The current statistics on reassembly and fragmentation.
-
NULL, if module
gnrc_ipv6_ext_frag_stats
is not compiled in.