Commit graph

1415 commits

Author SHA1 Message Date
Simon Duquennoy
677b5ede16 Fixed printout that used deprectated rpl_parent_t structure 2013-10-08 14:46:55 +02:00
Adam Dunkels
4e1beb3ed3 Merge pull request #361 from nvt/rpl-mrhof-fix
MRHOF fixes
2013-10-07 11:45:31 -07:00
Adam Dunkels
bf7edf6c4c Merge pull request #354 from lab11/core-net-fixes
Small fixes to networking files
2013-09-26 23:43:07 -07:00
Nicolas Tsiftes
43b5425493 Cleaned up various fragments and fixed a compilation error that occured when switching metric container.
Fixed a wrapping problem in the ETX EWMA calculation.

Corrected the multiplier of the link metric, and simplified the configuration
so that the user does not need to specify the multiplier.
2013-09-23 15:58:42 +02:00
Adam Dunkels
50395666fc Merge pull request #341 from ismb-pert/fix-lladdr
Fixed fail to build from source due to a bad &nbr->lladdr
2013-09-14 03:24:12 -07:00
Zhen-Huan Hwang
b5815e8509 Fixed a typo in net/uipopt.h 2013-09-11 18:30:31 +03:00
Brad Campbell
bc762b6dd6 Small fixes to networking files
1. Added #include header
2. Fixed #defines that weren't updated
3. Small change to comment that now points to correct RFC section
2013-09-09 20:48:11 -04:00
Oliver Schmidt
c4bba3e89a Removed unnecessary code from resolver. 2013-09-09 21:35:51 +02:00
Gianfranco Costamagna
2afea590f7 Fixed fail to build from source due to a bad "&nbr->lladdr" reference 2013-09-06 22:11:19 +02:00
Oliver Schmidt
e0ddea2a17 Removed unnecessary code from resolver. 2013-09-01 20:23:11 +02:00
Sébastien Dawans
78e807403c Inserts missing IPv6 Hop-By-Hop RPL Option at first hop 2013-08-19 21:40:24 +02:00
Adam Dunkels
86e247025a Removed debugging printout that came before a local variable declaration, which seems to have broken sdcc 2013-08-19 17:48:33 +02:00
Adam Dunkels
bfd7e5f25b Fixed a few bugs in the route handling code. While bughunting, rewrote parts of the code to make its intention clearer. Also added a bunch of comments to make the logic of the code more evident. 2013-08-19 17:48:32 +02:00
Adam Dunkels
8dc4e46968 Check if the nexthop neighbor for a given route has disappeared. If so, we drop the route too. If we happen to be the RPL root, we also initiate a global repair as the neighbor may moved. 2013-08-19 17:48:32 +02:00
Adam Dunkels
d0a939afb0 Bugfix: must multiply with ETX divisor to turn into fixed-point format. 2013-08-19 17:48:32 +02:00
Adam Dunkels
4d0ecaae02 Make sure our parent's IP address isn't NULL. 2013-08-19 17:48:32 +02:00
Adam Dunkels
e5a6565137 Loop detection via DAO: if we get a DAO from a parent, that parent thinks we are its parent. We poison it and recalulate our parents. 2013-08-19 17:48:32 +02:00
Adam Dunkels
34119b7ef2 Poor man's loop reparation: reset the DIO timer and hope the neighbor learns a better route. 2013-08-19 17:48:32 +02:00
Adam Dunkels
d830e9df3f Implement forwarding error handling: if a packet changes direction, we set the FWD_ERR flag. If we see the FWD_ERR flag, we drop the route that we sent it to. If we are the root node, we also initiate a global repair. 2013-08-19 17:48:31 +02:00
Adam Dunkels
abb3ef9b3b Bugfix: don't set the parent if the dag is NULL 2013-08-19 17:48:31 +02:00
Adam Dunkels
08761dfd8a Added a function uip_ds6_nbr_num() for getting the number of neighbors 2013-08-19 17:48:31 +02:00
Adam Dunkels
a027832f94 Fixed a bunch of compiler warnings 2013-08-19 17:48:31 +02:00
Adam Dunkels
9a74ada90c Added a function rpl_get_parent_link_metric() for obtaining the link metric of a given parent 2013-08-19 17:48:31 +02:00
Adam Dunkels
c52fc2fd19 Defensive programming: check for the argument being NULL. 2013-08-19 17:48:31 +02:00
Adam Dunkels
b42ccaed1b Added function prototypes to a number of functions with void arguments 2013-08-19 17:48:31 +02:00
Adam Dunkels
82e8eb420d Added and updated debugging printouts and reformatted code to make it a little easier to read. 2013-08-19 17:48:31 +02:00
Simon Duquennoy
248301a041 Fix naming issues and includes in uip-ds6-nbr.h 2013-08-19 17:48:30 +02:00
Simon Duquennoy
ff093a2b50 Removed now unused per-module neighbor table size configs. Use NEIGHBOR_CONF_MAX_NEIGHBORS instead. 2013-08-19 17:48:30 +02:00
Simon Duquennoy
c3f62b24c8 Moved ETX management from neighbor-info to rpl-of-etx. Avoids conversions between different fixed point representations, and simplifies neighbor management. Makes more clear how default-ETX and noack-ETX actually affect the rank. Removed neighbor-info and neighbor-attr. 2013-08-19 17:48:30 +02:00
Simon Duquennoy
c50d10aa53 Make RPL use neighbor tables. RPL locks the neighbor used as preferred parent. 2013-08-19 17:48:30 +02:00
Simon Duquennoy
09d26f8060 Make uip-ds6-route use neighbor table. Instead of storing a global list of routing entries that contain both the next hop and the destination, we have a separate list of reachable destination for each neighbor in the global table. 2013-08-19 17:48:30 +02:00
Simon Duquennoy
ec609b49eb Make DS6 neighbors use neighbor-table, and move all DS6 neighbor management from uip-ds6 to a new uip-ds6-neighbor module. 2013-08-19 17:48:30 +02:00
Simon Duquennoy
5a1d8d8006 Make phase module use neighbor-table. 2013-08-19 17:48:29 +02:00
Simon Duquennoy
cfb3bbdad9 Added new neighbor-table module, a centralized place where to store all data about neighbors, indexed by link-layer address. Meant for use in other Contiki modules such as rpl, ds6, ds6-route, phase, neighbor-info. 2013-08-19 17:48:29 +02:00
Fredrik Osterlind
8041f66d8c link-layer acks support for cooja motes 2013-08-15 14:32:35 +02:00
Adam Dunkels
f5307fc01e Bugfix: must set the SICSLOWPAM_MAX_MAC_TRANSMISSIONS attribute after clearing the buffer, otherwise it will not be used for outoing packets. 2013-08-11 14:27:21 +02:00
Adam Dunkels
0aa448f190 6lowpan fragmentation bugfix: the 6lowpan code had an unfortunate
interaction with the behavior of the rdc layer. If the first packet of a
fragment transmission was lost, the remaining packets would get dropped
on reception. Moreover, the reception code contained a bug that
sometimes would cause fragments to be misidentified as fragments. Taken
together, these problems would result in a pathelogical network
breakdown if too many fragmented packets would occur simultaneously.
2013-08-11 14:27:20 +02:00
Adam Dunkels
54f2109134 Merge pull request #290 from simonduq/rpl-mrhof-etx-nomc
Update of RPL MRHOF (use no metric container with ETX [RFC6719])
2013-07-29 00:56:25 -07:00
Adam Dunkels
945f217a11 Merge pull request #220 from lebrush/uip-ds6-least-lifetime
Add method to get the first neighbour which is about to expire
2013-07-28 16:43:41 -07:00
Nicolas Tsiftes
d228cb57a5 Merge pull request #301 from adamdunkels/hotfix-rpl-max-dio
RPL bugfix: don't ignore infinite rank DIOs
2013-07-26 06:48:26 -07:00
Adam Dunkels
500d9cc3e4 Merge pull request #300 from cetic/rpl-nopath-dao
RPL No-Path DAOs
2013-07-26 03:53:56 -07:00
Adam Dunkels
9ba5d9694c Merge pull request #299 from jdede/rpl-rm-neighbor
Default route not removed
2013-07-26 03:52:55 -07:00
Adam Dunkels
4913792d41 Minor code style fix 2013-07-26 12:38:43 +02:00
Adam Dunkels
512a339c50 Bugfix: DIOs with infinite ranks should not be ignored as they are used by RPL as a signal by nodes that have lost their routes. Instead of ignoring them, we should send out our latest information to let the node with infinite rank find their way into the network again. 2013-07-26 12:38:25 +02:00
Sébastien Dawans
a05d635512 Improve readability of DAO output variables 2013-07-25 11:22:38 +02:00
Sébastien Dawans
0bd26d83c8 Ignore No-Path DAO if target is already reachable through a different route than the DAO sender 2013-07-25 11:21:04 +02:00
Sébastien Dawans
c4a121bf18 No-Path DAO Propagation 2013-07-25 11:19:56 +02:00
Jens Dede
2f1bf730af Adapted comment 2013-07-23 20:01:10 +02:00
Simon Duquennoy
defcc639ce Use no metric container when having MRHOF with ETX, as specified in RFC6719. Renamed rpl-of-etx to rpl-mrhof. 2013-07-23 19:36:38 +02:00
Jens Dede
9dd5af78c8 fix: default routes are removed correctly if no DAG with preferred parent is available 2013-07-23 15:35:47 +02:00