Martine Lenders
0e32745b8a
gnrc: replace static initializers with constants where sensible
2016-03-01 18:29:15 +01:00
Joakim Nohlgård
647c87c9a5
6lo: Fix typo in UDP NHC checksum elision bit define
2016-03-01 12:35:14 +01:00
ded39b461e
sys: random: rename genrand_* to random_*
2016-02-29 21:33:17 +01:00
Yonezawa-T2
984e02a7ff
rbuf: made RBUF_INT_SIZE
configurable
2016-02-29 13:02:32 +09:00
Cenk Gündoğan
0ac4ee705c
ipv6: rpl: add source routing header for RPL
2016-02-27 20:39:12 +01:00
Cenk Gündoğan
847c4868a3
Merge pull request #4851 from cgundogan/pr/icmpv6/debug_fix
...
gnrc_icmpv6: fix debug outputs
2016-02-19 08:13:58 +01:00
Cenk Gündoğan
ee4553e176
gnrc_icmpv6: fix debug outputs
2016-02-19 07:51:10 +01:00
Oleg Hahm
fc398d857d
ndp: fix NCE creation on RA reception
...
RFC4861 says: "If a Neighbor Cache entry is created for the router
[while processing route advertisements], its reachability state MUST be
set to STALE as specified in Section 7.3.3."
2016-02-18 19:53:39 +01:00
Oleg Hahm
0a65d8c558
Merge pull request #4770 from Yonezawa-T2/rbuf_usec
...
rbuf: change arrival time unit from seconds to microseconds
2016-02-16 11:38:06 +01:00
Yonezawa-T2
d5a02b6de1
rbuf: change arrival time unit from seconds to microseconds
2016-02-16 17:22:25 +09:00
Martine Lenders
a66ce9c3eb
Merge pull request #4784 from authmillenon/gnrc_pkt/api/search-type-function
...
gnrc_pkt: provide type search function
2016-02-15 13:33:45 +01:00
Cenk Gündoğan
27a4770601
gnrc_ipv6: make the DEBUG output useful
2016-02-11 16:46:16 +01:00
Martine Lenders
379703ae3a
gnrc: use gnrc_pkt_search_type instead of LL_SEARCH_SCALAR
2016-02-11 01:05:02 +01:00
Yonezawa-T2
f638d68ebb
rbuf: drop overlapped fragment only if offset or size differs from previous one.
...
https://tools.ietf.org/html/rfc4944#section-5.3 says:
> If a link fragment that overlaps another fragment is received, as
> identified above, and differs in either the size or datagram_offset
> of the overlapped fragment, the fragment(s) already accumulated in
> the reassembly buffer SHALL be discarded. A fresh reassembly may be
> commenced with the most recently received link fragment.
2016-02-09 11:15:22 +09:00
Oleg Hahm
ae086aeed1
IPv6: cosmetic improvement
...
New condition -> new line
2016-01-29 18:56:03 +01:00
Oleg Hahm
250c288929
6lowpan nd: prefer NCEs over FIB entries
...
If an address can be found in the neighbor cache, it should be used - whatever the FIB may return.
2016-01-29 18:56:03 +01:00
BytesGalore
10ea1226bc
gnrc/ipv6: add blacklisting of IPv6 addresses
2016-01-28 21:50:43 +01:00
Oleg Hahm
ae8e0957cb
Merge pull request #4705 from cgundogan/pr/ndp/pio_fix
...
ndp/internal: fix pio flags for rtr adv
2016-01-28 16:27:44 +01:00
Cenk Gündoğan
d58e1385b2
ndp/internal: fix pio flags for rtr adv
2016-01-28 14:03:19 +01:00
BytesGalore
2d1671473b
gnrc_ipv6/whitelist: switch assignment operation to memcpy()
2016-01-28 06:23:31 +01:00
Martine Lenders
5ddcf09627
gnrc_ipv6_netif: don't advertise routers without GUAs
2016-01-26 23:25:07 +01:00
Cenk Gündoğan
617796241e
Merge pull request #4295 from authmillenon/gnrc_ipv6_nc/enh/l2addr-lookup
...
gnrc_ipv6_nc: introduce L2 address lookup function
2016-01-26 19:30:01 +01:00
Oleg Hahm
3d494c8bf9
Merge pull request #3184 from authmillenon/ng_icmpv6_error/feat/init
...
gnrc_icmpv6_error: initial import
2016-01-26 18:23:54 +01:00
test
8d1f91f128
ndp: check for A flag in received PIO
2016-01-26 14:34:48 +01:00
Martine Lenders
da5abe1bcd
gnrc_sixlowpan_nd: use gnrc_ipv6_nc_get_l2_addr()
2016-01-26 10:19:16 +01:00
Martine Lenders
0b787b9e02
gnrc_ndp_node: use gnrc_ipv6_nc_get_l2_addr()
2016-01-26 10:19:16 +01:00
Martine Lenders
0e0eef1273
gnrc_ipv6: use gnrc_ipv6_nc_get_l2_addr()
2016-01-26 10:19:15 +01:00
Martine Lenders
7b21f95df5
gnrc_ipv6_nc: introduce L2 address lookup function
2016-01-26 10:19:15 +01:00
Martine Lenders
70c3d29036
gnrc_icmpv6_error: initial import
2016-01-23 16:04:05 +01:00
Martine Lenders
94e4a08f45
Merge pull request #4447 from Yonezawa-T2/fix_gnrc_bugs
...
fixes several bugs on GNRC network stack
2016-01-07 03:38:11 +01:00
Yonezawa-T2
c9c83c7dc7
nc: cancel timer set by gnrc_ndp_rtr_sol_handle
in gnrc_ipv6_nc_remove
.
2016-01-07 10:12:46 +09:00
Yonezawa-T2
542e045bba
gnrc_ipv6_netif: fixed crash when ENABLE_DEBUG is 1.
...
When ENABLE_DEBUG is 1, `out` is dereferenced unconditionally, but
`_parse_options` in `gnrc_rpl_control_messages.c` calls it with NULL.
Clarified `out` must not NULL and fixed `_parse_options`.
2016-01-07 10:08:37 +09:00
Yonezawa-T2
5cb904b57e
gnrc_sixlowpan_nd: fixed crash on gnrc_sixlowpan_nd_next_hop_l2addr.
...
When `gnrc_ndp_node_next_hop_l2addr` cannot resolve L2 address, it creates a
temporary neighbor cache entry with interface `KERNEL_PID_UNDEF` (unless the
interface is already known) to send a neighbor solicitation. When another packet
directed to the same address is going to sent before receiving a neighbor
advertisement, `gnrc_sixlowpan_nd_next_hop_l2addr` gets the temporary neighbor
cache entry and calls `gnrc_ipv6_netif_get` with `KERNEL_PID_UNDEF`, resulting
get a `NULL`. We must check `NULL` before dereference it.
FYI, both `gnrc_ndp_node_next_hop_l2addr` and
`gnrc_sixlowpan_nd_next_hop_l2addr` are enabled when
`gnrc_sixlowpan_border_router_default` module is enabled with `GNRC_NETIF_NUMOF`
is greater than 1:
gnrc_sixlowpan_border_router_default
→ gnrc_ipv6_router_default
→ gnrc_ndp_router (if GNRC_NETIF_NUMOF > 1)
→ gnrc_ndp_node
→ gnrc_ndp_node_next_hop_l2addr is called from _next_hop_l2addr
gnrc_sixlowpan_border_router_default
→ gnrc_sixlowpan_nd_border_router
→ gnrc_sixlowpan_nd_router
→ gnrc_sixlowpan_nd
→ gnrc_sixlowpan_nd_next_hop_l2addr is called from _next_hop_l2addr
2016-01-07 10:02:49 +09:00
Martine Lenders
a4a8e83ac7
Merge pull request #4446 from Yonezawa-T2/neighbor_discovery_option_for_6lowpan
...
gnrc_ndp: fixed ND Option handling for 6LoWPAN
2016-01-06 14:03:43 +01:00
Yonezawa-T2
639f7dc020
gnrc_ndp: fixed ND Option handling for 6LoWPAN
...
The forms of the Source/Target Link-layer Address option for 6LoWPAN are defined
in RFC 4944 Section 8:
https://tools.ietf.org/html/rfc4944#section-8
The address is 16 bit if length is 1, 64 bit if length is 2.
2016-01-06 09:38:47 +09:00
Cenk Gündoğan
e79a471931
Merge pull request #4533 from Yonezawa-T2/gnrc_add_missing_unlock
...
gnrc_ndp_internal: add missing unlock when the pktbuf is full
2016-01-04 16:05:17 +01:00
Yonezawa-T2
38d3dc725b
gnrc_ndp_internal: add missing unlock when the pktbuf is full
...
Squashed a commit by Cenk Gündoğan <cnkgndgn@gmail.com>.
2015-12-25 11:08:28 +09:00
Cenk Gündoğan
7d628514ab
sixlowpan: iphc: fix dependencies for udp and nhc
2015-12-23 13:57:55 +01:00
Cenk Gündoğan
237706dd9e
sixlowpan: iphc: remove dispatch and assign result to pkt
2015-12-22 20:54:39 +01:00
Martine Lenders
d342d35dd8
gnrc_sixlowpan: Fix IPHC/NHC packet order problem
2015-12-22 17:14:33 +01:00
Oleg Hahm
b7a7578e21
Merge pull request #4507 from authmillenon/gnrc_ipv6/fix/no-order-assumptions
...
gnrc_ipv6: make no pre-assumption about any marked headers
2015-12-22 11:18:47 +01:00
Oleg Hahm
83649ddb59
Merge pull request #4531 from Yonezawa-T2/gnrc_avoid_infinite_loop
...
sixlowpan: fixed infinite loop
2015-12-22 11:11:55 +01:00
Martine Lenders
34974abac2
Merge pull request #4534 from Yonezawa-T2/gnrc_off_by_1_overrun
...
gnrc_ipv6_netif: fixed buffer overrun
2015-12-22 10:29:57 +01:00
Martine Lenders
5b4ef433a8
Merge pull request #4532 from Yonezawa-T2/gnrc_safe_no_routers
...
gnrc_sixlowpan_nd: fixed crash when there are no routers
2015-12-22 09:15:49 +01:00
Yonezawa-T2
08ba1f8640
gnrc_ipv6_netif: fixed buffer overrun
2015-12-22 11:30:05 +09:00
Yonezawa-T2
fe0e58dce1
gnrc_sixlowpan_nd: fixed crash when there are no routers
2015-12-22 11:29:57 +09:00
Yonezawa-T2
9108d2779d
sixlowpan: fixed infinite loop
...
When prefix entry is resued, it may form a looped list, results in infinite loop
in gnrc_ndp_internal_send_rtr_adv.
This patch avoids looped lists.
2015-12-22 11:29:04 +09:00
Johann F
adfcef4f7b
gnrc_ndp.c: parsing of SLLAO in gnrc_ndp_rtr_sol_handle
...
Do not set the link-layer address if no SLLAO was included
into the router solicitation.
2015-12-19 01:16:24 +01:00
Martine Lenders
68309045ed
gnrc_ipv6: make no pre-assumption about any marked headers
2015-12-18 18:31:24 +01:00
Yonezawa-T2
c36766a31f
OSX: fix warnings/errors thrown by clang on OS X
...
gnrc_ipv6_nc, gnrc_sixlowpan, gnrc_netdev2_eth, gnrc_ipv6, xbee, sixlowpan,
sc_gnrc_6ctx
2015-12-10 11:23:56 +09:00
Johann Fischer
a85d50b9d1
gnrc_sixlowpan_iphc.c: add nhc udp decoding and encoding
...
This patch adds UDP Header Compression and Decompression as
specified in https://tools.ietf.org/html/rfc6282#section-4.3
UDP NHC module will be included only if UDP is used.
2015-12-08 14:50:25 +01:00
Johann Fischer
199789ffbc
gnrc_sixlowpan.c: fix warning if GNRC_SIXLOWPAN_FRAG module not used
2015-12-08 13:59:15 +01:00
Martine Lenders
15220b26ad
Merge pull request #4381 from PeterKietzmann/sixlo_frag_unblocking
...
gnrc_sixlowpan_frag: Make fragmentation non-blocking
2015-12-08 13:13:48 +01:00
Hauke Petersen
41979b64cd
sys: adapted to renamed THREAD FLAGS
2015-12-07 22:09:47 +01:00
PeterKietzmann
331fa34502
gnrc_sixlowpan_frag: msg based fragmentation
2015-12-07 17:49:02 +01:00
Martine Lenders
281b0ba46e
Merge pull request #4343 from kb2ma/misc/fix-checksum
...
Fix UDP/ICMPv6 checksum for a sliced/accumulated payload.
2015-12-03 13:16:12 +01:00
Ken Bannister
1abffc84e1
Update layer 4 files to fix checksum with inet_csum_slice().
2015-12-02 05:53:58 -05:00
test
432f6c34ab
ndp: use on-link flag instead of auto flag
2015-11-26 23:37:39 +01:00
test
db7e8a7b37
sixlowpan: iphc: minor optimizations
2015-11-23 13:17:23 +01:00
Martine Lenders
5f04675403
Merge pull request #4284 from authmillenon/gnrc_ipv6/enh/addr-res-without-nd
...
gnrc_ipv6: get l2addr from NC if no ND present
2015-11-17 17:59:58 +01:00
Martine Lenders
c7ebcbbda2
gnrc_ipv6: get l2addr from NC if no ND present
2015-11-17 16:20:58 +01:00
Martine Lenders
6595e8c57f
Merge pull request #4174 from authmillenon/gnrc_ndp_internal/fix/send-ras-without-pio
...
gnrc_ndp_internal: send RAs even when there are no PIOs
2015-11-17 14:01:55 +01:00
Oleg Hahm
46dc908fcb
gnrc 6lowpan: exclude CTX if not part of the app
...
This removes dependencies to 6LoWPAN context module if an application is built without support for it.
Also, includes a missing header.
2015-11-17 12:04:11 +01:00
Cenk Gündoğan
bf3a504691
nc: ndp: sixlowpan: remove timex.h include
2015-11-09 14:55:04 +01:00
Cenk Gündoğan
401e1b3814
sixlowpan: timex_t -> uint32_t
2015-11-09 14:55:04 +01:00
Cenk Gündoğan
34c3267bfe
ndp: timex_t -> uint32_t
2015-11-09 14:55:04 +01:00
Cenk Gündoğan
5aaea3879f
netif: ndp: gnrc_ipv6_netif_t::retrans_timer -> uint32_t
2015-11-09 14:55:04 +01:00
Cenk Gündoğan
b59fc825a3
netif: nc: ndp: gnrc_ipv6_netif_t::reach_time -> uint32_t
2015-11-09 14:55:01 +01:00
Cenk Gündoğan
47fe901187
ndp: timex -> uint32_t for probe delay time
2015-11-09 14:54:42 +01:00
Cenk Gündoğan
42c5666357
Merge pull request #4186 from cgundogan/pr/ipv6/last_vtimers
...
network_layer: remove last occurences of vtimer
2015-11-02 15:42:50 +01:00
Cenk Gündoğan
47a02d9d07
ipv6: ndp: sixlowpan: remove vtimer includes
2015-11-02 15:02:08 +01:00
Cenk Gündoğan
206e027725
Merge pull request #3647 from BytesGalore/fib_source_routing
...
fib: initial source route support
2015-10-29 12:08:47 +01:00
Cenk Gündoğan
83e0c45259
Merge pull request #4176 from authmillenon/gnrc_ndp/fix/stop-rs-retransmissions-on-ra
...
gnrc_ndp: stop multicast RS retransmissions on RA reception
2015-10-28 21:40:28 +01:00
Cenk Gündoğan
3b825c2523
sixlowpan: use xtimer_now() instead of vtimer_now()
2015-10-28 21:15:11 +01:00
Cenk Gündoğan
023c0984b3
sixlowpan: switch ltimer to be an xtimer
2015-10-28 21:03:09 +01:00
Martine Lenders
23f8fecc04
Merge pull request #4157 from cgundogan/pr/nc/xtimer_nbr_sol_timer
...
nc: use xtimer for gnrc_ipv6_nc_t::nbr_sol_timer
2015-10-28 17:51:48 +01:00
Cenk Gündoğan
4297972054
nc: use xtimer for gnrc_ipv6_nc_t::nbr_sol_timer
2015-10-28 15:24:45 +01:00
Martine Lenders
a4533920a7
Merge pull request #4177 from authmillenon/gnrc_ipv6_netif/fix/no-l2-addr
...
gnrc_ipv6_netif: don't skip rest of config for address less l2
2015-10-28 15:16:34 +01:00
Martine Lenders
083c9442ab
gnrc_ipv6_netif: don't skip rest of config for address less l2
2015-10-28 13:40:21 +01:00
Cenk Gündoğan
c78fd9f4ed
Merge pull request #4159 from cgundogan/pr/netif/xtimer_rtr_adv_timer
...
netif: use xtimer for gnrc_ipv6_netif_t::rtr_adv_timer
2015-10-28 11:09:13 +01:00
Peter Kietzmann
eaf1e29b31
Merge pull request #4179 from OlegHahm/ndp_l2_length_calculation
...
gnrc: ndp: fix calculation of L2 address length
2015-10-28 10:25:32 +01:00
Cenk Gündoğan
a979d0c72c
netif: use xtimer for gnrc_ipv6_netif_t::rtr_adv_timer
2015-10-27 20:51:34 +01:00
Cenk Gündoğan
7490dc21a0
Merge pull request #4172 from cgundogan/pr/ndp/use_correct_timer
...
nc: ndp: add/use gnrc_ipv6_nc_t::rtr_adv_timer in gnrc_ndp_rtr_sol_handle
2015-10-27 20:43:30 +01:00
BytesGalore
6c57582107
fib: initial source route support
2015-10-27 20:20:18 +01:00
Oleg Hahm
64a653496a
gnrc: ndp: fix calculation of L2 address length
...
If no source address was provided by layer 2 or someone removed it, the calculation of its length is done using the length field from the Source/Target Link-layer Address option (https://tools.ietf.org/html/rfc4861#section-4.6.1 ). The length is specified as units of 8 octets. Hence, it should be multiplied by 8, not divided.
2015-10-27 20:13:50 +01:00
Martine Lenders
493597ec1d
Merge pull request #3845 from cgundogan/pr/gnrc_sixlowpan_iphc/assert
...
gnrc_sixlowpan_iphc: move assert to a valid position
2015-10-27 20:11:47 +01:00
Martine Lenders
8722699fb2
gnrc_ndp: stop multicast RS retransmissions on RA reception
...
6LoWPAN interfaces already do that, other interface happily continue
multicasting RSs even if a router was found.
2015-10-27 19:37:12 +01:00
Martine Lenders
ae567efc9a
gnrc_ndp_internal: send RAs even when there are no PIOs
2015-10-27 19:33:52 +01:00
Cenk Gündoğan
b993914534
nc: ndp: add and use gnrc_ipv6_nc_t::rtr_adv_timer in gnrc_ndp_rtr_sol_handle
2015-10-27 17:15:52 +01:00
Cenk Gündoğan
d587cf9cd4
netif: use xtimer for gnrc_ipv6_netif_t::rtr_sol_timer
2015-10-26 21:03:38 +01:00
Cenk Gündoğan
59a8b929f6
nc: use xtimer for gnrc_ipv6_nc_t::nbr_adv_timer
2015-10-26 16:59:16 +01:00
Cenk Gündoğan
56534e28f8
Merge pull request #4150 from cgundogan/pr/ndp/assert_nc_entry
...
ndp/internal: add assert and use dst instead of tgt to determine nc_entry
2015-10-26 16:56:42 +01:00
Cenk Gündoğan
2065537368
Merge pull request #4123 from cgundogan/pr/nc/xtimer_rtr_timeout
...
nc: user xtimer for gnrc_ipv6_nc_t::rtr_timeout
2015-10-26 15:46:01 +01:00
Cenk Gündoğan
609cf7fb12
ndp/internal: use dst instead of tgt to determine the nc_entry
2015-10-26 15:35:47 +01:00
Cenk Gündoğan
e72bde5805
ndp/internal: add assert to test for nc_entry if target is non-unicast
2015-10-26 15:18:58 +01:00
Martine Lenders
5b37e1ad0c
Merge pull request #4124 from cgundogan/pr/netif/xtimer_valid_timeout
...
netif: use xtimer for gnrc_ipv6_netif_addr_t::valid_timeout
2015-10-26 12:23:05 +01:00
Cenk Gündoğan
0258f29a5e
nc: user xtimer for gnrc_ipv6_nc_t::rtr_timeout
2015-10-26 11:27:07 +01:00
Cenk Gündoğan
40e504de65
nc: use xtimer for gnrc_ipv6_nc_t::type_timeout
2015-10-22 15:55:46 +02:00
Cenk Gündoğan
0146c1b1b9
netif: use xtimer for gnrc_ipv6_netif_addr_t::valid_timeout
2015-10-20 22:55:12 +02:00
Cenk Gündoğan
beb3321132
nc: remove unused rtr_sol_timer
2015-10-20 19:05:42 +02:00