1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

405 Commits

Author SHA1 Message Date
Joakim Nohlgård
ea8b0325eb gnrc: Set address valid lifetime to UINT32_MAX for border router scenario 2016-03-09 14:26:17 +01:00
Michael Andersen
60f6aeaf70 ndp: change rtr adv src to link local 2016-03-08 21:33:35 -08:00
Michael Andersen
1082a93a42 ndp: fix neighbor advertisement byte ordering 2016-03-05 13:39:50 -08:00
Martine Lenders
ae52bf9a12 gnrc_sixlowpan_iphc_nhc: fix NHC UDP decoding for fragmented packets 2016-03-04 16:40:45 +01:00
Martine Lenders
4504e40fe0 Merge pull request #4771 from Yonezawa-T2/rbuf_gc_improvement
rbuf: does not remove oldest entry if we have entry for current fragment
2016-03-04 05:40:00 +01:00
Yonezawa-T2
31fa3404ca rbuf: does not remove oldest entry if we have entry for current fragment
If all rbuf slots are in use, `_rbuf_gc` removes the oldest entry even if the
entry for the current fragment exists. This effectively decreases usable slots
by one. This patch makes `_rbuf_gc` removes the oldest entry only if there is
no entry for the current fragment.
2016-03-03 11:19:48 +09:00
Cenk Gündoğan
10cb4d66bf Merge pull request #4870 from authmillenon/ipv6_addr/enh/opt
ipv6_addr: optimize for size
2016-03-02 22:04:32 +01:00
Martine Lenders
ac07862363 Merge pull request #4796 from gebart/pr/udp-nhc-typo
6lo: Fix typo in UDP NHC checksum elision bit define
2016-03-01 21:54:32 +01:00
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
Oleg Hahm
f2e78453af gnrc IPv6: release correct pktsnip 2015-10-02 12:11:57 +02:00
Oleg Hahm
dbfe1c03cd Merge pull request #3991 from authmillenon/gnrc_netapi/fix/recover_msg
gnrc_netapi: recover from message send errors
2015-09-30 17:08:13 +02:00
Martine Lenders
f413e9b413 Merge pull request #3987 from authmillenon/gnrc_ipv6_nc/fix/undef-iface
gnrc_ipv6_nc: interface in neighbor cache may be undefined but legal
2015-09-29 18:29:35 +02:00
Martine Lenders
891450d29d gnrc_netapi: recover from message send errors 2015-09-29 16:58:08 +02:00
Martine Lenders
7861434e34 gnrc_ipv6_nc: interface in neighbor cache may be undefined but legal 2015-09-29 16:13:47 +02:00
Martine Lenders
5291f3b2bd gnrc_ipv6_whitelist: initial import 2015-09-28 16:59:53 +02:00
Oleg Hahm
775a85565b Merge pull request #3976 from OlegHahm/6lowpan_unused_variable_fix
6lowpan: eliminate unused compiler warning
2015-09-27 21:01:06 +02:00
Oleg Hahm
57888f99a7 6lowpan: eliminate unused compiler warning
Fixes the bug that was introduced in b1ae07ca82 where the wrong datagram size was used.
2015-09-27 20:25:56 +02:00
Oleg Hahm
71fd517aba Merge pull request #3972 from authmillenon/gnrc_ipv6/fix/multi-iface-dup
gnrc_ipv6: fix multi-interface packet duplication
2015-09-26 18:51:42 +02:00
Martine Lenders
a19b0d8262 gnrc_ipv6: fix multi-interface packet duplication 2015-09-26 06:09:54 +02:00
Martine Lenders
f334a9aa1b gnrc_ipv6: remove unnecessary parameter to _send_multicast_over_iface 2015-09-26 06:09:37 +02:00
DipSwitch
9b726fe217 6low_frag: Fix RSSI, LQI and flags dropping in fragmentation reassembly 2015-09-26 01:06:02 +02:00
Oleg Hahm
b1ae07ca82 6lowpan: replace duplicate function call
datagram_size is already set to the value returned by gnrc_pkt_len(), no need to call it again.
2015-09-25 22:42:28 +02:00
Martine Lenders
893008f1e2 gnrc_ndp_internal: fix variable scope 2015-09-25 10:53:13 +02:00
Martine Lenders
217f8a26d8 gnrc_ndp_internal: fix coding style 2015-09-25 10:52:51 +02:00
Martine Lenders
39ade25511 gnrc_ndp_internal: prevent non-terminating loop 2015-09-25 10:51:01 +02:00
Martine Lenders
8621407f00 GNRC 6LR: don't include PIOs for other interface's prefixes 2015-09-25 01:11:53 +02:00
Martine Lenders
884f2c768a Merge pull request #3964 from authmillenon/gnrc_ndp/fix/ltime-0
gnrc_ndp: lifetimes might be 0 in RA options
2015-09-25 01:02:30 +02:00
Martine Lenders
16151b06f7 gnrc_ndp: lifetimes might be 0 in RA options 2015-09-25 00:07:51 +02:00
Martine Lenders
7bbb5d62b0 6lowpan IPHC: set dest context to DCI field not SCI 2015-09-24 23:21:15 +02:00
Martine Lenders
225dcaaf34 gnrc_ipv6_nc: leave UNMANAGED entries UNMANAGED 2015-09-24 21:21:25 +02:00
Oleg Hahm
cc0101472e 6lowpan: do garbage collect unreachable NCEs
RFC6775 says "if NUD on the router determines that the host is UNREACHABLE (based on the logic in [RFC4861]), the NCE SHOULD NOT be deleted but rather retained until the Registration Lifetime expires." Since this is a "SHOULD NOT" and not a "MUST NOT", we can still remove these NCEs to circumvent NCEs going into UNREACHABLE and never leave this state again. Actually removing these entries from the cache seems also be the better choice for memory constraint device.
2015-09-24 17:33:38 +02:00
Oleg Hahm
63fda9e900 6lowpan: remove tentative flag for local addresses
There's no real need for this flag, but it causes problem during address registration.
2015-09-24 13:33:10 +02:00
Oleg Hahm
c5b1156909 IPv6 nd: missing parameter for debug function 2015-09-24 13:17:21 +02:00
Oleg Hahm
bb287ae7e8 6lowpan netif: set prefixes for 6LBR first
By adding a newly added prefix first, it is assured that the following router advertisement will already disseminate it via the PIO.
2015-09-24 13:15:38 +02:00
Martine Lenders
5e2b4b6b23 Merge pull request #3951 from OlegHahm/6lowpan_nd_pio_fixes
6lowpan nd: PIO fixes
2015-09-24 02:52:45 +02:00
Martine Lenders
109b2ab522 Merge pull request #3950 from authmillenon/gnrc_sixlowpan_iphc/fix/set-mcast-ctx
gnrc_sixlowpan_iphc: actually set context for unicast prefix based comp
2015-09-24 02:33:16 +02:00
Oleg Hahm
fee9ad77cb ipv6: init addresses w/ infinite validity time 2015-09-24 02:27:42 +02:00
Oleg Hahm
9b7b1bae37 6lowpan: prefixes are initially all null pointers
Since the prefixes list stores pointers, one need to check for null pointers first.
2015-09-24 02:27:42 +02:00
Oleg Hahm
ba023aecb8 6lowpan nd: use correct upper limit for iterating
While iterating over the prefixes the wrong upper limit was used for the for loop.
2015-09-24 02:27:42 +02:00
Martine Lenders
3c69d7bec3 Merge pull request #3949 from OlegHahm/iphc_set_DAC
6lowpan IPHC: set stateful compression mode f. dst
2015-09-24 02:25:48 +02:00
Martine Lenders
1372b9b779 gnrc_sixlowpan_iphc: actually set context for unicast prefix based comp 2015-09-24 02:15:35 +02:00
Oleg Hahm
e9d6eb8170 6lowpan IPHC: set stateful compression mode f. dst
For destionation addresses the stateful compression mode bit wasn't set.
2015-09-24 02:15:21 +02:00
Oleg Hahm
0cc4f57fc0 6lowpan: do not send NAs for new MC addresses 2015-09-24 00:03:06 +02:00
Martine Lenders
771e7f40cd gnrc_ipv6_netif: a RA source MUST be link-local 2015-09-23 18:34:47 +02:00
Oleg Hahm
830bf36061 Merge pull request #3928 from authmillenon/gnrc_sixlowpan_nd/fix/opt-check
gnrc_sixlowpan_nd: fix 6ctx option check
2015-09-23 01:47:43 +02:00
Oleg Hahm
171fb8e65c IPv6 nc: missing debug parameter 2015-09-22 21:55:29 +02:00
Martine Lenders
67786b4a8b Merge pull request #3936 from authmillenon/gnrc_ndp_node/fix/link-local-always-on-link
gnrc_ndp_node: always assume link-local dst to be on-link
2015-09-22 21:25:57 +02:00
Martine Lenders
5d7501677f gnrc_ipv6: iface might be from input on next hop determination 2015-09-22 20:43:29 +02:00
Martine Lenders
2a61ac936a gnrc_ndp_node: always assume link-local dst to be on-link 2015-09-22 19:49:48 +02:00
Oleg Hahm
a24b0f2b79 6lowpan: IPv6 next hop shouldn't supersede 6lo
If 6LoWPAN next hop determination and address resolution succeeds, it should not be superseded by IPv6 ND.
2015-09-22 16:12:00 +02:00
Martine Lenders
542c1e82ac gnrc_sixlowpan_nd: fix 6ctx option check 2015-09-22 14:36:44 +02:00
Martine Lenders
3448569eb8 Merge pull request #3916 from OlegHahm/6lowpan_rtr_adv_mc_timer
6lowpan nc: rtr sol timer expects an interface
2015-09-22 11:28:44 +02:00
Oleg Hahm
f0e2f50713 6lowpan nc: rtr sol timer expects an interface 2015-09-22 10:53:08 +02:00
Oleg Hahm
f3f4d61f93 sixlowpan nd: 6LBR shouldn't send rtr sol over 6lo 2015-09-21 23:21:22 +02:00
Oleg Hahm
38b384c713 6lowpan: 6LBR should sent only one rtr adv
On a 6lo interface the border router should only send one router advertisement with its new address as source address.
2015-09-21 23:21:22 +02:00
Oleg Hahm
682bde25d9 6lowpan nd: check right NCE in AR handling
When checking the address registration option, the address has to be passed in order to check the correct neighbor cache entry.
2015-09-21 09:25:12 +02:00
Oleg Hahm
effe7bbde0 6lowpan: 6LBR need to initialize rtr adv interval 2015-09-20 21:42:20 +02:00
Oleg Hahm
1a0a1d6fb9 ndp: assert that rtr adv interval is never 0 2015-09-20 21:42:20 +02:00
Martine Lenders
8a554abfa6 Merge pull request #3904 from authmillenon/gnrc_sixlowpan_nd_router/fix/version-casting
gnrc_sixlowpan_nd_router: cast before shifting
2015-09-20 20:53:53 +02:00
Martine Lenders
c1310d5500 Merge pull request #3889 from OlegHahm/6lowpan_nd_rtr_adv
6lowpan nd: send router advertisements on 6LR
2015-09-20 20:51:47 +02:00
Oleg Hahm
6f2d90a95c 6lowpan nd: send rtr adv on new address 2015-09-20 18:16:28 +02:00
Oleg Hahm
9641f8c39c 6lowpan nd: send rtr adv after receiving a rtr adv
A router should turn into a router after receiving a valid router advertisement.
2015-09-20 18:15:27 +02:00
Martine Lenders
f3b9e5fa8e gnrc_sixlowpan_nd_router: cast before shifting
`avr-gcc` was complaining about shifting the value out of the width of
type. This is a fix for that.
2015-09-20 16:04:30 +02:00
Martine Lenders
b3c16b3abc Merge pull request #3892 from authmillenon/gnrc_sixlowpan_nd/fix/nd-state-machine
gnrc_sixlowpan_nd: activate NC state machine
2015-09-19 04:04:45 +02:00
Martine Lenders
802e229bcb gnrc_sixlowpan_nd: register new addresses for AAC 2015-09-18 00:23:12 +02:00
Martine Lenders
1682b76866 gnrc_ndp_internal: adapt nbr_sol send function to get src 2015-09-18 00:23:12 +02:00
Martine Lenders
79c1240590 gnrc_sixlowpan_nd: activate NC state machine 2015-09-18 00:12:19 +02:00
Oleg Hahm
d8824bd0c5 6lowpan nd: tentative NCE is like no NCE 2015-09-17 12:47:56 +02:00
Martine Lenders
4afecc9a87 Merge pull request #3860 from OlegHahm/gnrc_various_fixes
gnrc: various fixes
2015-09-17 12:40:33 +02:00
Oleg Hahm
3c6202e8ed sixlowpan nd: ignore empty eui64 in neighbor cache 2015-09-17 11:11:26 +02:00
Oleg Hahm
d7546d0f0c sixlowpan nd: add missing breaks for switch-case 2015-09-17 11:11:26 +02:00
Oleg Hahm
c25223cc58 ipv6 netif: don't add automatic link local address 2015-09-17 11:11:26 +02:00
Oleg Hahm
fdf5c70ebd ndp: another leftover from renaming... 2015-09-17 10:19:17 +02:00
Martine Lenders
108043594a Merge pull request #3846 from OlegHahm/6lbr_address_resolution
6lowpan nd: always perform l2 lookup for 6LBR
2015-09-17 10:14:12 +02:00
Martine Lenders
371240e8de Merge pull request #3874 from authmillenon/gnrc_sixlowpan_nd/fix/resched-nbr-sol
gnrc_sixlowpan_nd: fix reschedule of neighbor solicitations
2015-09-17 10:07:41 +02:00
Oleg Hahm
60be8fac83 sixlowpan nd: check for a potential NCE first 2015-09-17 08:56:28 +02:00
Oleg Hahm
3fee605300 6lowpan nd: always perform l2 lookup for 6LBR 2015-09-17 08:47:56 +02:00
Martine Lenders
8f2b2e15d2 Merge pull request #3836 from cgundogan/pr/ndp/rm_dupl_pio
ndp: pio - check if prefix has been processed before
2015-09-17 02:40:08 +02:00
Martine Lenders
1761b7b648 Merge pull request #3873 from OlegHahm/sixlowpan_nd_router_lifetime
6lowpan nd: set router lifetime to a default value
2015-09-17 02:30:31 +02:00
Oleg Hahm
a1158092a4 sixlowpan nd: move set_rtr_adv function to router 2015-09-17 02:08:52 +02:00
Martine Lenders
e76f1cf27f Merge pull request #3840 from OlegHahm/sixlowpan_nd_stale_null_pointer
6lowpan nd: fix null pointer handling in staling
2015-09-17 01:38:21 +02:00
Martine Lenders
a19a04c753 Merge pull request #3853 from OlegHahm/6lowpan_nd_router_fixes
6lowpan nd router fixes
2015-09-17 01:37:39 +02:00
Martine Lenders
b1e98e3337 gnrc_sixlowpan_nd: fix reschedule of neighbor solicitations 2015-09-17 01:28:11 +02:00
Oleg Hahm
b28dd897f2 6lowpan nd: set router lifetime to a default value 2015-09-17 01:23:37 +02:00
Oleg Hahm
46fcb4632c 6lowpan nd: fix null pointer handling in staling 2015-09-17 00:19:04 +02:00
Oleg Hahm
9deb315b6d sixlowpan nd: remove superfluous check in stale 2015-09-17 00:12:08 +02:00
Oleg Hahm
b15660033a sixlowpan nd: send actually router advertisements 2015-09-16 23:59:43 +02:00
Oleg Hahm
dbb754e131 6lbr: check registered flag only for 6LoWPAN ifs 2015-09-16 23:58:55 +02:00
Oleg Hahm
bf22190434 6lowpan nd: set rtr adv flag on rtr adv reception
A 6LoWPAN router should turn into a 6LoWPAN router as soon as it has
 been configured by receiving an advertisement itself.
2015-09-16 23:53:47 +02:00
Oleg Hahm
596ef55641 6lowpan nd: join all routers multicast group
A 6LR should join the all routers multicast group as soon as it turns
into a router which is indicated by setting the router advertisement
flag.
2015-09-16 23:53:08 +02:00
Cenk Gündoğan
92cbc1f254 ndp: pio - check if prefix has been processed before 2015-09-16 22:58:45 +02:00
Cenk Gündoğan
12bcc46f15 gnrc_sixlowpan_iphc: move assert to a valid position 2015-09-16 09:54:08 +02:00
Martine Lenders
609867000e Merge pull request #3831 from cgundogan/pr/ndp/pio_prefix_len
ndp: assertify pio prefix len check and include 0 and 128
2015-09-12 16:06:41 +02:00
Martine Lenders
e7bbbf080b Merge pull request #3813 from OlegHahm/sixlowpan_nd_router_deps
gnrc: 6lowpan-nd: some broken router dependencies
2015-09-12 15:58:11 +02:00
Cenk Gündoğan
14d899bf83 ndp: assertify pio prefix len check and include 0 and 128 2015-09-12 13:11:01 +02:00
Oleg Hahm
a182977161 gnrc ipv6: 6lowpan router needs sol. node address 2015-09-12 12:56:28 +02:00
Oleg Hahm
dc225e2861 6lowpan nd: check for link-local first 2015-09-11 22:56:23 +02:00
Martine Lenders
93a92dfa03 Merge pull request #3134 from authmillenon/ng_sixlowpan/feat/6lo-nd
gnrc_sixlowpan_nd_border_router: initial import of border router behavior of 6LoWPAN-ND
2015-09-11 19:58:36 +02:00
Martine Lenders
4da5c8095c gnrc: adapt for gnrc_sixlowpan_nd_border_router 2015-09-11 16:45:43 +02:00
Martine Lenders
e6c96cde53 gnrc_sixlowpan_nd_border_router: initial import 2015-09-11 16:45:38 +02:00
Martine Lenders
e51786910d gnrc_ndp: add PIO to router advertisements
The PIOs for the configured prefixes were generated, but never added to
the packet, causing some problems in the packet buffer.

Fixes #3815 (possibly)
2015-09-11 15:54:57 +02:00