Martine Lenders
da5abe1bcd
gnrc_sixlowpan_nd: use gnrc_ipv6_nc_get_l2_addr()
2016-01-26 10:19:16 +01: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
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
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
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
023c0984b3
sixlowpan: switch ltimer to be an xtimer
2015-10-28 21:03:09 +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
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
40e504de65
nc: use xtimer for gnrc_ipv6_nc_t::type_timeout
2015-10-22 15:55:46 +02:00
Cenk Gündoğan
beb3321132
nc: remove unused rtr_sol_timer
2015-10-20 19:05:42 +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
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
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
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
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
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
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
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
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
dbb754e131
6lbr: check registered flag only for 6LoWPAN ifs
2015-09-16 23:58:55 +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
Oleg Hahm
dc225e2861
6lowpan nd: check for link-local first
2015-09-11 22:56:23 +02:00
Martine Lenders
e6c96cde53
gnrc_sixlowpan_nd_border_router: initial import
2015-09-11 16:45:38 +02:00
Martine Lenders
639fd0068e
Merge pull request #3807 from OlegHahm/sixlowpan_nd_rtr_sol
...
gnrc: 6lowpan: router solicitation retransmission fixes
2015-09-10 13:54:56 +02:00
Oleg Hahm
46939f9c25
6lowpan: boundaries for rtr sol retransmissions
...
Also avoid setting the retransmission time to 0.
2015-09-10 13:16:17 +02:00
Martine Lenders
132f5e1b9c
gnrc_sixlowpan_nd_router: initial import
2015-09-10 02:13:44 +02:00
Martine Lenders
2a1c243ad2
gnrc_sixlowpan_nd: initial import
2015-09-08 20:37:36 +02:00