zephyr/include/net
Johan Hedberg 7720f6ed1c net: buf: Introduce support for fragmentation
Introduce support buffer fragment chains that are linked together.
This is done with the help of a flag while the buffer is inside a FIFO
(indicating that the next fragment follows it in the same FIFO) and
with the help of a "next" pointer while the buffer is outside of a
FIFO.

In order to do proper "marshaling" a new net_buf_put() API needs to be
always used when inserting a buffer into a FIFO. Respectively, the
net_buf_get() and net_buf_get_timeout() functions are extended to
support getting buffers from arbitrary FIFOs and reassemble the
fragment chain based on the flags that the received buffers contain.

The insertion of a fragment chain using net_buf_put() into a FIFO is
done atomically with the help of irq_lock/unlock since FIFOs support
multiple writers, however since there's ever only a single reader per
FIFO similar locking is not necessary there.

Change-Id: I0ec579f63ea8d063f50e3f1f4c2e80ec399622d7
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-06-06 08:17:24 +03:00
..
buf.h net: buf: Introduce support for fragmentation 2016-06-06 08:17:24 +03:00
ip_buf.h net: 6lowpan: Fix 6lowpan fragmentation 2016-05-19 14:18:38 +00:00
l2_buf.h net: 6lowpan: Fix 6lowpan fragmentation 2016-05-19 14:18:38 +00:00
net_core.h net: Add functions to return connection status needed in TCP 2016-05-17 09:57:28 +03:00
net_ip.h net: Enable TCP support 2016-04-25 09:40:32 +03:00
net_socket.h net: User must provide storage for local IP address 2016-03-14 11:05:52 +00:00
tinydtls.h checkpatch: error - trailing_whitespace 2016-02-05 20:24:33 -05:00