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

1253 Commits

Author SHA1 Message Date
f63109486b sys: net: ng_pktdump: mark static functions as static 2015-04-09 18:11:52 +02:00
Martine Lenders
b8fea1a2c7 Merge pull request #2735 from authmillenon/ipv6_netif/feat/hl
ipv6_netif: expand interface
2015-04-08 12:18:26 +02:00
Martine Lenders
25b568e6d5 ipv6_netif: fix prefix for address flags
Since NDP will introduce interface specific flags this naming might get
confusing
2015-04-08 10:43:14 +02:00
Oleg Hahm
a532516205 Merge pull request #2757 from Lotterleben/invalid_routes
AODVv2: Broken & Expired routes to Invalid routes
2015-04-08 09:51:10 +02:00
haukepetersen
27d1f113a2 net/ng_pktdump: added CREATE_STACKTEST flag 2015-04-02 14:45:34 -07:00
Lotte Steenbrink
ccc33ec619 AODVv2: Broken & Expired routes to Invalid routes 2015-04-02 10:45:26 -07:00
Lotte Steenbrink
40acfa732b Merge pull request #2705 from authmillenon/netif/feat/addr-str
netif: add functions to parse and output hardware addresses
2015-04-02 01:04:33 +02:00
Martine Lenders
882bcbe92e netif: add functions to parse and output hardware addresses 2015-04-01 16:24:19 +02:00
Martine Lenders
9372d955b3 Merge pull request #2211 from BytesGalore/add_fib
sys/net/network_layer added a core implementation of a FIB
2015-04-01 11:40:21 +02:00
Oleg Hahm
26710c1085 Merge pull request #2499 from gebart/pr/lowpan-address-decoding-fixes
sixlowpan: Handle 16-bit addresses correctly (both decode and encode)
2015-04-01 11:36:56 +02:00
BytesGalore
30c76adc43 net: added a core implementation of a FIB 2015-04-01 10:24:35 +02:00
Martine Lenders
f1becc6870 Merge pull request #2534 from jfischer-phytec-iot/pr@udp-header-decompression
lowpan.c: add udp header decompression
2015-03-31 19:39:18 +02:00
Peter Kietzmann
f725282565 Merge pull request #2738 from authmillenon/netreg/fix/warning
netreg: suppress unused parameter warning
2015-03-30 09:12:30 +02:00
Martine Lenders
476dd297bd Merge pull request #2719 from haukepetersen/ng_opt_pktdump
net/ng_pktdump: manage stack internal and use msg queue
2015-03-30 02:43:43 +02:00
Martine Lenders
6f7af8f0a2 ipv6_netif: move default MTU from ng_ipv6.h 2015-03-30 01:18:07 +02:00
Martine Lenders
c6eaeb4366 ipv6_netif: add current hop limit to interface 2015-03-30 01:18:06 +02:00
Martine Lenders
7273d5c9ad Merge pull request #2723 from authmillenon/ipv6_netif/feat/prefix-list
ipv6_netif: add prefix list to interface
2015-03-30 00:31:37 +02:00
Martine Lenders
716a1bb0f5 netreg: suppress unused parameter warning 2015-03-29 23:51:54 +02:00
Martine Lenders
4571fe2f8d netreg: add multiplexer for checksum calculation 2015-03-29 14:55:11 +02:00
Martine Lenders
fa689fe147 Merge pull request #2575 from authmillenon/ng_net/feat/hdr-build
ng_net: header building facilities
2015-03-29 14:28:49 +02:00
Lucas Jenss
5910cadb58 sys/net: Fix unaligned access on Samr21/Cortex-M0
*((uint16_t)*dest) results in a ldrh (load halfword) instruction
on an address that seems to not be halfword-aligned (?),
causing a hard-fault on the samr21-xpro board (cortex-m0
architecture). The issue seems to be very similar to
the one described in http://stackoverflow.com/a/21661366/124257
2015-03-29 04:58:44 +02:00
Martine Lenders
69c593b80b netreg: add multiplexer for header building 2015-03-28 18:28:04 +01:00
Martine Lenders
903a9d54ce inet_csum: initial import of Internet Checksum module 2015-03-28 14:02:59 +01:00
Hauke Petersen
4ccc3634b3 net/ng_pktdump: manage stack internally 2015-03-28 13:47:03 +01:00
Hauke Petersen
96efe23027 net/ng_pktdump: added message queue 2015-03-28 13:36:43 +01:00
Hauke Petersen
e8eebe43f2 Merge pull request #2718 from haukepetersen/ng_fix_nomac
net/ng_nomac: added missing return in event cb
2015-03-28 13:33:39 +01:00
Martine Lenders
dce3a6056d ipv6_netif: add prefix list to interface 2015-03-27 20:39:52 +01:00
Hauke Petersen
264f05bc62 net/ng_nomac: added missing return in event cb 2015-03-25 23:12:19 +01:00
Joakim Gebart
334aeca246 sixlowpan: Refactor multicast destination compression handling
Stateless only, still no implementation for context-aware multicast encoding.
2015-03-25 08:08:07 +01:00
Joakim Gebart
9769d8adaf sixlowpan: Fix conditions for 16 bit encoding of unicast destination 2015-03-25 08:08:04 +01:00
Joakim Gebart
34457017cf sixlowpan: Fix conditions for encoding to 16 bit source addresses 2015-03-25 08:08:01 +01:00
Joakim Gebart
0b479b28e8 sixlowpan: Update reference to RFC 6282 2015-03-25 08:07:59 +01:00
Joakim Gebart
39c7566e11 sixlowpan: Decode 16-bit addresses correctly
10:  16 bits.  The first 112 bits of the address are elided.
The value of the first 64 bits is the link-local prefix padded with zeros.
The following 64 bits are 0000:00ff:fe00:XXXX, where XXXX are the 16 bits carried in-line.

See https://tools.ietf.org/html/rfc6282
2015-03-25 08:07:55 +01:00
Joakim Gebart
f6bade32e6 rpl: Rename buffer->sixlowpan_buffer 2015-03-25 08:00:47 +01:00
Joakim Gebart
de7d6c7785 sixlowpan: rename global buffer->sixlowpan_buffer 2015-03-25 08:00:45 +01:00
Hauke Petersen
227ff36e82 net/ng_pktdump: fixed memory leak 2015-03-24 22:14:16 +01:00
Hauke Petersen
5f77bbe1c8 Merge pull request #2563 from authmillenon/ng_pktbuf/fix/semantics
ng_pktbuf: change semantics for received packets
2015-03-24 16:49:49 +01:00
Cenk Gündoğan
7e19ef0536 rpl: remove needless initializers 2015-03-24 14:07:58 +01:00
Martine Lenders
db8cbc7afa Merge pull request #2662 from authmillenon/ng_nomac/fix/receive
ng_nomac: fix receive
2015-03-24 01:15:15 +01:00
Martine Lenders
2526e4358a Merge pull request #2666 from haukepetersen/ng_pktdump
net: added ng_netdump module
2015-03-23 20:33:01 +01:00
Ludwig Ortmann
90160d92d2 Merge pull request #2687 from cgundogan/rpl_debug_inst
rpl: edit debug message for instance == NULL
2015-03-23 18:48:14 +01:00
Martine Lenders
0e48448732 ng_nomac: fix receive with ng_netapi_receive() 2015-03-23 16:53:46 +01:00
Martine Lenders
326a402148 ng_netapi: introduce ng_netapi_receive() 2015-03-23 16:53:15 +01:00
Hauke Petersen
497a3da9e3 net: added ng_pktdump module 2015-03-23 15:25:30 +01:00
Martine Lenders
21204dc3eb ng_pktbuf: change semantics for received packets 2015-03-23 15:08:46 +01:00
Cenk Gündoğan
9bdcfcbe33 rpl: edit the debug message for instance == NULL 2015-03-22 19:07:31 +01:00
Martine Lenders
a4996395b0 Merge pull request #2665 from kushalsingh007/memleak
CppCheck: Removing memleak warning
2015-03-22 18:35:06 +01:00
Ludwig Ortmann
cf637942cc *: add missing blank lines
Some functions had no blank lines to separate them from their
neighborhood.
2015-03-21 16:34:59 +01:00
Joakim Gebart
8865d9f25f rpl: Fix DEBUG print which broke in 5585413ce0
rpl: pass rpl_instance_t directly instead of its id #2604
https://github.com/RIOT-OS/RIOT/pull/2604
2015-03-21 14:55:17 +01:00
Martine Lenders
4c6ec9b013 Merge pull request #2596 from kushalsingh007/unused
CppCheck: Removing unusedVariable warnings
2015-03-20 22:20:38 +01:00
kushalsingh007
b180e80ee3 CppCheck: Removing memleak warning
- Changing the name of variable 'new' solved the problem.
2015-03-21 02:34:10 +05:30
Cenk Gündoğan
743f529efd Merge pull request #2610 from cgundogan/rpl_remove_get_my_dodag_for_dio_dao
rpl: remove some usages of rpl_get_my_dodag
2015-03-20 20:19:43 +01:00
Cenk Gündoğan
f2b9b51adb Merge pull request #2644 from cgundogan/rpl_pass_dodag_to_find_parent
rpl: pass dodag to the rpl_find_parent function
2015-03-20 19:52:33 +01:00
Martine Lenders
6a31fa80a7 Merge pull request #2568 from authmillenon/ng_netreg/feat/allow_nettype_undef
ng_netreg: Allow registration of NG_NETTYPE_UNDEF
2015-03-20 17:06:37 +01:00
Martine Lenders
09b1abcb4e ng_netreg: Allow registration of NG_NETTYPE_UNDEF 2015-03-20 11:00:32 +01:00
kushalsingh007
e3d0471183 CppCheck: Removing unusedVariable warnings
-Suppressed warning which occured due to VDEBUG not being used.
-Added comment explaining reason to suppress the warning.
2015-03-20 04:26:30 +05:30
Cenk Gündoğan
1ab4f7c975 rpl: remove get_my_dodag dependency by passing the dodag as parameter 2015-03-19 19:54:30 +01:00
Cenk Gündoğan
5fb526fde8 rpl: pass dodag to the rpl_find_parent function 2015-03-19 19:47:08 +01:00
Cenk Gündoğan
1cd351e6b0 rpl: check all dodags when receiving DIS messages 2015-03-19 19:44:58 +01:00
Cenk Gündoğan
27f0c2fd3f rpl: remove some usages of rpl_get_my_dodag 2015-03-19 19:08:01 +01:00
Oleg Hahm
bfe2c9a47f Merge pull request #2622 from cgundogan/rpl_get_dodags_function
rpl: expose global rpl_dodags variable
2015-03-19 17:20:51 +01:00
Martine Lenders
7027519f28 ng_ipv6: provide support for ng_netif 2015-03-19 15:13:17 +01:00
Martine Lenders
89a10f2630 Merge pull request #2629 from haukepetersen/ng_netbase
net: introduced ng_netbase pseudo module and header
2015-03-19 12:32:06 +01:00
Cenk Gündoğan
d7722c1766 rpl: expose global rpl_dodags variable 2015-03-19 11:03:43 +01:00
Oleg Hahm
dd0a6496f7 Merge pull request #2608 from cgundogan/rpl_make_send_DAO_aware_of_multiple_dodags
rpl: make send_DAO aware of multiple dodags
2015-03-18 17:17:25 +01:00
Oleg Hahm
f228586d9f Merge pull request #2609 from cgundogan/rpl_make_send_DIO_aware_of_multiple_dodags
rpl: make send_DIO aware of multiple dodags
2015-03-18 17:16:33 +01:00
Hauke Petersen
ed65ced885 net: re-ordered includes in ng_netreg + ng_pktbuf 2015-03-18 15:27:23 +01:00
Hauke Petersen
b84eb0478f net/ng_nomac: made use of ng_netbase pseudo header 2015-03-18 15:27:23 +01:00
Oleg Hahm
c396a9009e Merge pull request #2604 from cgundogan/rpl_use_instance_t_as_parameter
rpl: pass rpl_instance_t directly instead of its id
2015-03-18 14:45:48 +01:00
Joakim Gebart
b67f8ca06c Merge pull request #2504 from gebart/pr/sixlowpan-dest-addr-bcast
sixlowpan: Broadcast message when neighbour not found in cache.
2015-03-18 10:07:42 +01:00
Joakim Gebart
569d291838 Merge pull request #2543 from cgundogan/rpl_use_global_address
rpl: use global ip addresses instead of link-local ones
2015-03-18 09:21:14 +01:00
Cenk Gündoğan
f8408308d7 rpl: remove call to rpl_get_my_preferred_parent() in rpl_send_DAO, because of dependency to rpl_get_my_dodag() 2015-03-17 19:56:34 +01:00
Martine Lenders
dccd2ac484 Merge pull request #2613 from authmillenon/netif/fix/remove
ng_netif: cleanup array after remove
2015-03-17 01:26:46 +01:00
Martine Lenders
49e5938eb5 ng_netif: cleanup array after remove 2015-03-16 16:25:25 +01:00
Hauke Petersen
67b1237592 net/ng_nomac: adapted to net[api|dev] changes 2015-03-16 15:18:05 +01:00
Cenk Gündoğan
442e7b10b9 rpl: make send_DAO aware of multiple dodags 2015-03-16 12:38:17 +01:00
Cenk Gündoğan
4346513e4b rpl: make send_DIO aware of multiple dodags 2015-03-16 12:26:17 +01:00
Cenk Gündoğan
a7c3807c29 rpl: remove unnecessary check for multiple instances 2015-03-16 09:52:06 +01:00
Cenk Gündoğan
5585413ce0 rpl: pass rpl_instance_t directly instead of its id 2015-03-16 09:35:14 +01:00
Martine Lenders
c1708682e8 ng_ipv6_nc: Initial import 2015-03-13 20:42:47 +01:00
Oleg Hahm
67abf81a02 Merge pull request #2576 from fnack/nhdp_ext_seqno
sys/nhdp: Add interface-specific sequence number to created RFC5444 packets
2015-03-13 13:52:36 +01:00
Oleg Hahm
0144bb589b Merge pull request #2546 from authmillenon/ng_ipv6_addr/api/add_string_functions
[RFC] ng_ipv6_addr: add (optional) string conversion functions
2015-03-13 13:41:37 +01:00
Fabian Nack
133aeedea5 sys/nhdp: Add interface specific packet sequence number 2015-03-13 07:06:40 +01:00
Fabian Nack
48ce3d467c sys/nhdp: Remove temp address lists to optimize hello processing 2015-03-13 06:57:06 +01:00
Martine Lenders
ba14149695 Merge pull request #2426 from haukepetersen/ng_nomac
net: added ng_nomac MAC implementation
2015-03-12 21:09:49 +01:00
Martine Lenders
0cca4867ea ng_ipv6_addr: add string to address conversion function 2015-03-12 21:06:43 +01:00
Martine Lenders
9f2e2121c1 ng_ipv6_addr: add address to string conversion function 2015-03-12 21:06:41 +01:00
Hauke Petersen
549867b57e net: added ng_nomac module 2015-03-12 17:15:39 +01:00
Fabian Nack
4d4b4bf348 sys/nhdp: Allocate memory for NHDP's if table static 2015-03-12 14:57:18 +01:00
Hauke Petersen
4bebf3b01a net/nomac: removed legacy implementation 2015-03-12 13:55:24 +01:00
Cenk Gündoğan
5d382b4ac8 rpl: use global ip addresses instead of link-local ones 2015-03-10 20:51:58 +01:00
kushalsingh007
3dbe4cd8af Reducing the scope of variable after running static code analyser.
- Part of fix for issue number 480 (variableScope)
- Suppression of warnings that are not needed.
2015-03-10 22:03:18 +05:30
Joakim Gebart
bda0b999bd Merge pull request #2522 from cgundogan/rpl_prefix_info
rpl: implement basic prefix information option for DIOs
2015-03-10 14:00:01 +01:00
Joakim Gebart
0bc3ff5b19 rpl: Send DAOs for adding /128 routes (host-only) to the parent instead of /16 2015-03-10 12:35:09 +01:00
Oleg Hahm
c1fe7f0095 ccnl: correct debug output 2015-03-05 16:27:37 +01:00
Johann Fischer
939f07aab8 sys/net/network_layer/sixlowpan/lowpan.c: add udp header decompression 2015-03-04 18:18:27 +01:00
Lotte Steenbrink
1793eb7ec8 Merge pull request #2450 from authmillenon/netreg/api/pointer-based
RFC: netreg: move to pointer-based API
2015-03-04 15:33:15 +01:00
Martine Lenders
ec5f686cd0 netreg: move to pointer-based API
Moving to a pointer-based API simplifies a lot, since there is no need
for an internal pool of entries anymore. Therefore, a lot of
organizational overhead and some restrictions (e.g. an upper limit on
entries) are dropped.

The entries can be stored in the stack of the respective thread.
2015-03-04 13:17:00 +01:00
Joakim Gebart
70cf054b5e sixlowpan: Broadcast message when neighbour not found in cache. 2015-03-04 08:47:10 +01:00
Oleg Hahm
a846409a55 Merge pull request #2523 from gebart/pr/lowpan-eui-short-addr-local
sixlowpan: Handle short hardware addresses correctly
2015-03-04 02:38:40 +01:00
haukepetersen
b6ca321270 net/ng_pktbuf: added missing #inlcude <stdio.h> 2015-03-03 22:12:16 +01:00
Cenk Gündoğan
d6242360da net_if: proper u/l-bit inversion for short addresses 2015-03-03 20:03:54 +01:00
Joakim Gebart
2aa031e7c7 sixlowpan: Set U/L bit in short address to local. 2015-03-03 19:56:11 +01:00
Joakim Gebart
4520d31d3d net-if: Set U/L bit in short address to local. 2015-03-03 19:56:11 +01:00
Cenk Gündoğan
c60450df4c rpl: implement basic prefix information option for DIOs 2015-03-03 19:36:14 +01:00
Martine Lenders
714c912a88 Merge pull request #2519 from haukepetersen/ng_netapi_fixes
net/ng_netapi: fixed implementation
2015-03-03 18:17:40 +01:00
Hauke Petersen
e7466b1dad Merge pull request #2513 from gebart/pr/udp-delete-unused-csum-func
udp: Delete unused udp_csum function.
2015-03-03 18:08:52 +01:00
Hauke Petersen
45ce082ad6 net/ng_netapi: fixed implementation
- renamed opt variable in _get_set
- fixed msg type MACRO names
2015-03-02 18:44:33 +01:00
Johann Fischer
90ab40657a sys/net/network_layer/sixlowpan/lowpan.c: reduce scope of debug variable 2015-03-02 18:42:38 +01:00
Joakim Gebart
824c0a3daf udp: Delete unused udp_csum function.
udp_csum is never referenced anywhere in the tree, not even in a header file.
2015-03-02 12:32:02 +01:00
Joakim Gebart
726bdf9d7b Merge pull request #2512 from cgundogan/ip_d_addr_unused
ip: use d_addr instead of s_addr when setting the destaddr
2015-03-02 12:23:11 +01:00
Cenk Gündoğan
c3fc24700c rpl: use d_addr instead of s_addr when setting the destaddr 2015-03-02 10:33:45 +01:00
Cenk Gündoğan
3832fc57f5 Merge pull request #2496 from gebart/pr/6lowpan-print-addr
sixlowpan: Properly print source address when ENABLE_DEBUG
2015-03-02 08:21:42 +01:00
Joakim Gebart
dcebfe55a4 Merge pull request #2491 from cgundogan/rpl_use_all_rpl_nodes_addr
rpl: use the all-RPL-nodes multicast address
2015-02-28 11:08:09 +01:00
Martine Lenders
bafafe7b8a Merge pull request #2497 from gebart/pr/lowpan-eui64-inv-local-bit
sixlowpan: Invert local/universal bit in EUI-64 when forming IPv6 Interface Identifiers.
2015-02-27 09:34:46 +01:00
Joakim Gebart
578eb38c38 sixlowpan: Properly print source address when ENABLE_DEBUG 2015-02-26 19:22:07 +01:00
Joakim Gebart
db59de6c2e sixlowpan: Refactor DAC/DAM decoding to match SAC/SAM implementation. 2015-02-26 13:53:07 +01:00
Joakim Gebart
9933a431e3 sixlowpan: Refactor SAC/SAM decoding. 2015-02-26 12:19:30 +01:00
Joakim Gebart
ff6f8ff82b sixlowpan: Invert local/universal bit in EUI-64 when forming IPv6 Interface Identifiers. 2015-02-26 09:59:28 +01:00
Joakim Gebart
1eee289cb4 rpl: Make addr_str static 2015-02-26 09:56:52 +01:00
Cenk Gündoğan
1d4d3fa1c1 rpl: use the all-RPL-nodes multicast address 2015-02-25 20:33:13 +01:00
Fabian Nack
d9480cadfc sys - nhdp: Add nhdp impl 2015-02-24 11:50:58 +01:00
Cenk Gündoğan
d6e8e57d1f rpl: merge storing/non-storing to reduce the amount of redundant code 2015-02-21 15:36:28 +01:00
Cenk Gündoğan
fbf3296ca5 Merge pull request #2462 from BytesGalore/rpl_fix_hardfault_on_no_ocp
sys/net/routing/rpl: catch hardfault when OCP from DIO is not supported
2015-02-21 13:32:01 +01:00
Oleg Hahm
8ad299882c Merge pull request #2191 from cgundogan/rpl_remove_send_mutex
rpl: remove send mutex
2015-02-21 13:30:09 +01:00
Martine Lenders
dad4e8d5df Merge pull request #2433 from authmillenon/ng_ipv6_addr/feat/initial
ng_ipv6_addr: initial import
2015-02-20 19:27:17 +01:00
Martine Lenders
ff36abb2cf ng_ipv6_addr: initial import
The motivation behind this module is to allow for address handling
functions where they, but not the full IPv6 functionality might be
needed. This new version of the IPv6 address data type utilizes the
byteorder.h header to enforce network byte-order on its members.
2015-02-20 17:40:26 +01:00
BytesGalore
9e0ccc395a sys/net/routing/rpl: catch hardfault when OCP from DIO is not supported 2015-02-19 19:05:27 +01:00
Martine Lenders
41f60aca4c pktbuf: port to use ng_ version 2015-02-19 13:51:27 +01:00
BytesGalore
5a0eba2b1e sys/net/routing/rpl: apply correct byte order for RPL messages 2015-02-17 20:41:11 +01:00
Martine Lenders
c601b72ba7 ng_netapi: fix documentation 2015-02-13 12:42:24 +01:00
Martine Lenders
c80c04d6ed netreg: Initial import 2015-02-12 16:13:38 +01:00
Johann Fischer
2c703e5732 Merge pull request #2434 from jfischer-phytec-iot/fix@recv_ieee802154_frame
Fix packet processing in mac layer.
2015-02-11 16:12:08 +01:00
Martine Lenders
b208371163 Merge pull request #2417 from authmillenon/netif/feat/initial
netif: Initial import of ng_* version
2015-02-11 12:41:54 +01:00
Johann Fischer
ce423816af sys/net/network_layer/sixlowpan/mac.c: add missing p->processing--; 2015-02-11 11:57:46 +01:00
Martine Lenders
cb74094edd pktqueue: adapt to change in pkt.h 2015-02-11 11:01:33 +01:00
Martine Lenders
7317097db2 pkt: simplify API 2015-02-11 11:01:33 +01:00
Martine Lenders
894cd964f9 netif: Initial import of ng_* version 2015-02-11 10:52:51 +01:00
Lotte Steenbrink
52d51a781a Merge pull request #2419 from BytesGalore/lowpan_release_mutex_on_unknown_iphc
sys/net/sixlowpan: prevent deadlock when no IPHC context is recognized
2015-02-10 14:46:35 +01:00
BytesGalore
c7eea4d0d5 sys/net/sixlowpan: change to release lowpan.c::lowpan_context_mutex when no context is recognized 2015-02-10 12:27:56 +01:00
Hauke Petersen
87e2b6db50 ng_net: added new version of NETAPI 2015-02-10 11:34:56 +01:00
Cenk Gündoğan
4347039e88 ip: make addr_str static
When setting the `ENABLE_DEBUG` flag to *1* in ip.c,
the **rpl_udp** example won't compile, because the variable `addr_str`
is also defined in **rpl_udp.h** as extern.
Prefixing `addr_str` with `static` in ip.c solves this problem.
2015-02-08 22:07:19 +01:00
Martine Lenders
0eb2d78dda doc: use my real name 2015-02-08 18:52:16 +01:00
BytesGalore
4b189b6e58 rpl: added configurable RPL MOP on compile time
- e.g. `make RPL_MOP=RPL_MOP_NON_STORING_MODE`
     - changed the MOP defines to have `RPL_MOP_*` prefix
2015-02-05 19:17:51 +01:00
Cenk Gündoğan
13e7bbccfc rpl: wrong length for DAO options 2015-02-03 11:47:07 +01:00
Cenk Gündoğan
c14217c68e rpl: introduce constants for PREFIX_INFO length with/without RPL_OPT_LEN 2015-02-03 10:41:28 +01:00
Cenk Gündoğan
26095013a1 rpl: introduce constants for DODAG_CONF length with and without RPL_OPT_LEN 2015-02-03 10:41:27 +01:00
Cenk Gündoğan
432688accb rpl: wrong length of DIO options
Currently, the DIO options `dodag conf` and `prefix info` are off by two
bytes in their `length` field. The RFC states, that the length field
should not include the option `type` field and the `length` field (two bytes).

For Prefix Info Option: Option Length: 30 (RFC 6550, P.61)
For Dodag Conf  Option: Option Length: 14 (RFC 6550, P.52)

Wireshark complains about DIOs as malformed packets, otherwise.
Can be reproduced by running the rpl_udp example and logging the DIOs
via wireshark.
2015-02-03 10:41:27 +01:00
Cenk Gündoğan
eb202ffe6d rpl: remove unsused warning 2015-02-02 12:54:58 +01:00
Cenk Gündoğan
f3c6ef7e66 rpl: remove common globals by prefixing with static 2015-02-02 12:54:58 +01:00
Oleg Hahm
6715bccf5b Merge pull request #2190 from cgundogan/rpl_new_parent_dodag_assignment
rpl: wrong dodag assignment to parent
2015-01-29 11:24:38 +01:00
Cenk Gündoğan
993f7cc7c6 rpl: remove rpl_send_mutex
This PR is based on #2155.
Since RPL/Trickle is only using one thread in #2155, the send mutex becomes
obsolete and can be removed safely.
2015-01-27 12:35:41 +01:00
Joakim Gebart
f71f8322d9 Merge pull request #2348 from gebart/pr/fno-common-fixes1
Removing (some) common globals, working towards #2346
2015-01-26 09:11:10 +01:00
Joakim Gebart
3f4478e2bb sixlowpan: Reduce scope on some globals in ip.c 2015-01-23 19:46:26 +01:00
Joakim Gebart
c5e1683a8c rpl: Make ipv6_buf local. 2015-01-23 19:46:26 +01:00
Joakim Gebart
526a84093b rpl: Remove extra definition of rpl_process_pid. 2015-01-23 19:46:26 +01:00
Joakim Gebart
6a810fe989 sys/net/routing: reduce scope of globals in etx_beaconing.c 2015-01-23 18:01:28 +01:00
Joakim Gebart
cd248f89f0 sixlowpan: reduce scope of globals in mac.c 2015-01-23 14:04:59 +01:00
haukepetersen
df9dabfa7d net/udp: cleaned up header and documentation 2015-01-22 14:23:03 +01:00
Martine Lenders
cfed38ae12 Merge pull request #2287 from authmillenon/pktqueue/api/use-pkt
pktqueue: adapt to pkt_t
2015-01-16 19:48:04 +01:00
Cenk Gündoğan
c4b01b87bc rpl: RPL/Trickle with only *one* thread
This PR proposes an approach to reduce the thread count of RPL.

The current RPL/Trickle stack needs about 5 threads to handle tasks
like updating the trickle timer, routing entries and the transmission of
DAOs.

This PR modifies RPL to use only one thread with a looped `msg_recv()` call.
The message is then multiplexed to the right task.
2015-01-14 19:42:13 +01:00
Martine Lenders
c9e2f5bdce pktqueue: adapt to pkt_t 2015-01-14 14:53:37 +01:00
Oleg Hahm
2d874af904 Merge pull request #2158 from authmillenon/pkt/feat/initial-import
pkt: Initial import
2015-01-14 08:20:46 +01:00
Martine Lenders
99e2feca48 pkt: Initial import
This data type is bound to replace the `(netdev_hlist_t *ulh, void
*data)` tuples in netapi and netdev.
2015-01-14 07:04:56 +01:00
Martin Lenders
96502e2fd4 sys: net: Initial import of a basic MAC protocol layer 2015-01-14 06:58:48 +01:00
Oleg Hahm
34908f11a9 Merge pull request #2257 from cgundogan/rpl_fix_srh_for_storing_mode
rpl: node-to-node communication broken (rpl_udp)
2015-01-13 18:49:14 +01:00
Oleg Hahm
a31bc97e1c Merge pull request #2253 from cgundogan/rpl_srh_remove_relay_debugf
rpl: move msg_send_receive outside of DEBUGF
2015-01-13 14:43:18 +01:00
Ludwig Ortmann
154a6b5d22 Merge pull request #2268 from cgundogan/rpl_cleanup_no_routing_table
rpl: remove routing table dependent code
2015-01-13 14:09:32 +01:00
Oleg Hahm
0421ab96ee Merge pull request #2245 from cgundogan/rpl_remove_routing_decision_in_rpl_send
rpl: remove decision to drop packets in rpl_send
2015-01-13 14:04:53 +01:00
Cenk Gündoğan
a06c667af5 rpl: remove routing table dependent code
This PR removes code depending on a routing table with an entries
size > 0. Currently, all those functions and symbols are compiled into the binary,
even when there is no effective space in the routing table (as it is the
case for normal nodes in non-storing mode)
2015-01-13 13:11:32 +01:00
Cenk Gündoğan
22f466ab80 rpl: remove needless call to rpl_get_of_for_ocp
This line has no further significance to the application other than burning cpu cycles.
2015-01-08 09:40:08 +01:00
Cenk Gündoğan
da12f62751 rpl: remove return value completely as it is not really used, gives
`unsused` warning otherwise
2015-01-08 09:31:30 +01:00
Lotte Steenbrink
3591894698 aodvv2: fix calls to DEBUG()
``debug.h`` was included before ``ENABLE_DEBUG`` was set to 0 or 1. In consequence, setting ``ENABLE_DEBUG`` to 1 had no effect. This should be fixed now.
2015-01-06 15:57:12 -08:00
Lotte Steenbrink
465f9096b1 aodvv2: call aodv_packet_reader_handle_packet() when recieved packet is *not* our own.
For some reason the call to aodv_packet_reader_handle_packet() got lumped in with the check if a received packet is ours. In consequence, all packets which were not sent by the node that received them (i.e. the important ones) were silently ignored, preventing any routes from being established.
This should be fixed now: foreign packets are now handled again, while own packets are ignored.
Also, I made the corresponding comment a bit less passive-aggressive.
2015-01-06 12:54:14 -08:00
Cenk Gündoğan
40c28dd3bf rpl: node-to-node communication broken (rpl_udp)
Calling ipv6_iface_set_srh_indicator with storing mode breaks the
neighbour discovery code in **ip.c:480**.
Thus, it is not possible to use `send <n> test` from node to node.
2015-01-06 18:04:54 +01:00
Cenk Gündoğan
843be5ad6d rpl: minor changes to comments in rpl_storing.c 2015-01-06 13:24:42 +01:00
Cenk Gündoğan
d4b57b301d rpl: move msg_send_receive outside of DEBUGF
When the debug flag is set to off, the call to msg_send_receive will be
ignored. @fabianbrandt am I missing something?
2015-01-06 13:04:26 +01:00
Oleg Hahm
be67f662ac Merge pull request #2248 from cgundogan/rpl_remove_faulty_comment
rpl: remove faulty comment
2015-01-06 12:55:15 +01:00
Cenk Gündoğan
8b7386fc8b rpl: remove faulty comment
Can be misleading since we also support non-storing mode now.
2015-01-06 10:24:25 +01:00
Cenk Gündoğan
652b4f84a6 rpl: remove decision to drop packets in rpl_send
The dicision to drop a packet if no next hop exists is made by the
`rpl_get_next_hop` function, which is initialized as the routing
provider for rpl applications. Hence, it seems needless to do this in the
`rpl_send` function.
2015-01-06 09:34:15 +01:00
Cenk Gündoğan
36893ded6d rpl: typo childs -> children 2015-01-06 09:23:56 +01:00
Cenk Gündoğan
aca1ade01c rpl: cleanup, changing structdefs into typedefs 2014-12-26 21:13:33 +01:00
Ludwig Ortmann
5e0973ca89 Merge pull request #2150 from OlegHahm/more_doc_cleanup
doc: More documentation cleanup
2014-12-22 11:58:59 +01:00
Ludwig Ortmann
695d702b4f Merge pull request #2212 from Lotterleben/fix_ipv6_iface_set_routing_provider
exclude ``ipv6_iface_set_routing_provider()`` from ``#ifdef MODULE_RPL``...
2014-12-17 19:03:47 +01:00
Lotte Steenbrink
743146a803 fix typos in ip.h, mac.h, ndp.h and types.h 2014-12-17 03:29:37 -08:00
Lotte Steenbrink
a8b3c9f535 exclude `ipv6_iface_set_routing_provider() from #ifdef MODULE_RPL` so that other routing protocols can use it too. 2014-12-17 02:09:09 -08:00
Oleg Hahm
e64ab2aed5 Merge pull request #2024 from OlegHahm/ccnl_802154
ccn-lite: fixes for working with IEEE 802.15.4 radios
2014-12-16 11:03:20 +01:00
Oleg Hahm
1bd4b1b407 ccnl: convert C++ comments into C style comments 2014-12-16 09:35:46 +01:00
Oleg Hahm
ee386a4778 ccn: add line breaks if limit was exceeded 2014-12-16 09:35:44 +01:00
Oleg Hahm
5cf625fc03 ccnl: adapt for 802154 devices 2014-12-16 09:34:56 +01:00
Ludwig Ortmann
68ca082dcc sixlowpan: handle malloc error
The return value of malloc wasn't checked before, resulting in
possibly undefined behavior.
2014-12-14 11:32:30 +01:00
Ludwig Ortmann
5e6d5ab522 sixlowpan: remove redundant assignment 2014-12-14 11:32:30 +01:00
Cenk Gündoğan
eeafd426d5 rpl: wrong dodag assignment to parent
`dodag` is the representation of the incoming DIO and thus is temporary.
Assigning this to the parent would lead to failure when reading/writing
to/from the parent's dodag attribute later.
`my_dodag`on the other hand is the local persistent representation of
the DIO's dodag and therefore the right choice.
2014-12-14 09:41:42 +01:00
BytesGalore
0ced7338e4 sys:net:routing:rpl made the number of routing entries configurable on compile time. 2014-12-12 09:42:33 +01:00
Oleg Hahm
d4166faccc doc: add or move module description where missing 2014-12-11 17:29:51 +01:00
Oleg Hahm
73248cc05e doc: put rpl_storing header to right doxygen group 2014-12-11 17:27:56 +01:00
Cenk Gündoğan
2a7ce79947 ip: check for null before ip_get_next_hop is used 2014-12-11 15:43:16 +01:00
Cenk Gündoğan
6ee5e737f9 vtimer: set custom msg_t.type with vtimer_set_msg
Currently, when using vtimer_set_msg the corresponding msg_t is filled
with the MSG_TIMER ("12345") type.
This approach makes it difficult to differentiate between incoming
messages via vtimer_set_msg.

In this PR I introduce another parameter for the vtimer_set_msg
function to specify a custom msg_t type.
2014-12-09 10:07:26 +01:00
Cenk Gündoğan
42d0fe3f78 rpl: removing unnecessary recv_mutex
In the main function of RPL (rpl_process thread)
a mutex is used after receiving a message via msg_recv.
However, this mutex is never used in another thread and thus is rendered
obsolete.
2014-12-05 16:31:41 +01:00
Oleg Hahm
312e2b10a8 Merge pull request #2146 from cgundogan/rpl_unused_parameter_warning_nonstoring
rpl: make unused parameter warning disappear
2014-12-05 15:11:01 +01:00
Cenk Gündoğan
6bfb82ca13 rpl: make unused parameter warning disappear 2014-12-05 14:16:11 +01:00
Cenk Gündoğan
8d31f8b8ed rpl: fix offset for transit buf
As a result of PR #1404, entries will not be added to the routing table
when running in storing mode, although it is supposed to do so.
You can verify by running rpl_udp and call *route* on the dodag-root.

This PR fixes the wrong offset calculation.
2014-12-05 13:45:22 +01:00
Oleg Hahm
000450c894 Merge pull request #2117 from OlegHahm/doxygen_eliminate_warnings
Doxygen eliminate warnings pt. 2
2014-12-04 17:18:42 +01:00
Oleg Hahm
43c86b5a3e doc: fix remaining doxygen warnings 2014-12-04 17:16:57 +01:00
Oleg Hahm
0ccf1043de doc: fixed broken doxygen references 2014-12-04 17:16:57 +01:00
Ludwig Ortmann
28e5b1bb9a Merge pull request #2134 from cgundogan/rpl_addr_str_debug_fix
rpl: addr_str not renamed to addr_str_mode
2014-12-04 11:34:40 +01:00
Cenk Gündoğan
0f66a9e06e rpl: addr_str not renamed to addr_str_mode
In PR #1404 addr_str was renamed to addr_str_mode,
but at some places it was still referenced as addr_str.
When enabling debug messages, the compiler complains.
2014-12-04 10:46:59 +01:00
Oleg Hahm
c92effaead debug: removed superfluous additional debug flag 2014-12-03 22:59:14 +01:00
Oleg Hahm
13fe311b10 Merge pull request #2025 from OlegHahm/socket_init_fix_fix
net: socket: fix for e93d030058
2014-12-03 20:18:33 +01:00
Martine Lenders
115420a510 Merge pull request #1228 from OlegHahm/l2_ping
net: Link Layer Ping
2014-12-03 11:55:37 +01:00
Oleg Hahm
588ddda1fe socket: socket_base_exists_socket returns bool
Adapt the prototype to the actual used return value.
2014-12-02 14:58:44 +01:00
Oleg Hahm
a93a74daed socket: cosmetics 2014-12-02 14:53:17 +01:00
Oleg Hahm
a2b21fb019 net: socket: fix for e93d030058
The former fix for socket initialization was broken. This fixes the
"fix" by using the right exit condition for the loops.
2014-12-02 14:51:19 +01:00
Fabian Nack
eebfd5011a drivers - cc110x: Initial import of new cc110x driver 2014-12-01 17:14:02 +01:00
Oleg Hahm
d92e9af91c doc: fixed broken param descriptions 2014-11-30 22:34:50 +01:00
Oleg Hahm
dc74bd48bf doc: removed superfluous (and broken) @file params 2014-11-30 21:52:54 +01:00
Oleg Hahm
206afa4d40 doc: fix typo in UDP header 2014-11-30 21:46:08 +01:00
Oleg Hahm
df9c09d946 doc: fixed typos and other misspellings 2014-11-30 21:32:12 +01:00
Oleg Hahm
ae8dd90884 doc: added missing closing doxygen brackets 2014-11-30 21:16:41 +01:00
Hinnerk van Bruinehsen
9f80fa235b lint: fix syntax error caused by ifdef mess 2014-11-28 01:17:55 +01:00
Hinnerk van Bruinehsen
59a6e5836b lint: fix uselessAssignmentArg start_index 2014-11-28 01:10:35 +01:00
Fabian Brandt
12cd62c689 Introduction of RPL non-storing mode.
This implementation is based on RFC 6550 with addition of RFC 6554 (Source Routing Header for RPL). Both can be found under the following links:
- http://tools.ietf.org/html/rfc6550
- http://tools.ietf.org/html/rfc6554

The PR provides basic functionality for handling and forwarding packages in non-storing mode. In addition the structure of the previous implemented RPL storing mode is now revised, so that readability and modularity is increased. The following features are implemented:
- building function for a SRH and integration in common packets
- source-route build algorithm based on the structure of the DODAG
- an RPL-based interpretation of the SRH and removal at destination
- new structure for RPl-module with extracted beaconing-functionality
- leaf nodes are now supported

There are some missed goals and should be included in future updates:
- building a common routing table structure for different types of routing protocols
- routing tables are statically assigned via source code, future update should have an optional variable at build-time, which sets the size of the routing table depending on the desired functionality of a node in the network (root, node, leaf)
2014-11-27 21:42:40 +01:00
Oleg Hahm
b358d8517f Merge pull request #1080 from fabianbrandt/of_manager
Introduction of an of-manager for RPL.
2014-11-27 18:17:18 +01:00
Fabian Brandt
38d9b42762 Introduction of a of-manager for RPL.
The of-manager should gather all available of´s and initialize the prefered one, based on rpl_config.h.
2014-11-27 17:18:54 +01:00
Lotte Steenbrink
0c67c02047 Add the AODVv2 Routing Protocol
This PR depends on #1766.

It contains a minimal implementation of the AODVv2 routing protocol.
*Not* implemented are:

	- AckReqs
	- alternate metrics
	- multiple interfaces
	- clients and Client Networks
	- buffering
	- all addresses, TLVs, and features that are marked as optional

An example application can be found at https://github.com/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo.

The implementation relies heavily on a functioning Neighbor Discovery Protocol.
It might be necessary to fill the neighbor cache manually with the current state
of RIOTs NDP implementation.

The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to
future improvement.

Please note that based on my experience, with the default transceiver
buffer size (3) of the native port, about 2/3 of the route discoveries
will fail. This has been addressed in issue #1747. It is advised to increase
the transceiver buffer size when using AODVv2 as a routing protocol.
2014-11-27 03:50:20 -08:00
Oleg Hahm
41d6bc303a Merge pull request #2085 from authmillenon/fix-pktqueue
pktqueue: fix alignment order
2014-11-26 01:44:52 +01:00
Lotte Steenbrink
c0ffbf52d2 Simplify rpl_clear_routing_table()
Instead of looping over the entire table and setting every entry to 0, memset the entire table at once.
2014-11-25 12:01:21 -08:00
Martine Lenders
211cad1ea3 pktqueue: fix alignment order
Alignment order of `pktqueue_node_t` does not align with `priority_queue_node_t`
2014-11-25 18:50:12 +01:00
Martine Lenders
b7a079471a sys: net: Initial import of a general interface to a network protocol 2014-11-20 14:51:29 +01:00
René Kijewski
434d6a1f65 core: move NTOHL and friends into byteorder.h 2014-11-19 00:46:41 +01:00
Martine Lenders
4d674ef107 Merge pull request #2019 from authmillenon/cleanup-net_help
net_help: Cleanup
2014-11-18 16:41:20 +01:00
Martine Lenders
c9219b87d6 net_help: prefix csum properly and add documentation 2014-11-18 14:59:37 +01:00
Oleg Hahm
9cf42d587f Merge pull request #2002 from OlegHahm/ccnl_malloc_all_over
ccn-lite: use always ccnl_malloc
2014-11-17 16:01:31 +01:00
Martine Lenders
4d82c2c646 net_help: remove IPV6_CMP_ADDR macro
Used nowhere; alternative: ipv6_addr_is_equal(), since other use-cases
(is an IPv6 address smaller than the other) are not applicable anyway.
2014-11-17 09:42:07 +01:00
Martine Lenders
53eaa4feb8 net_help: remove printArrayRange()
The od module does the same, much less specialized, much more
sophisticated.
2014-11-17 09:39:45 +01:00
Oleg Hahm
fbd04bd051 ieee802154: introduce constant for default PAN id 2014-11-16 19:04:25 +01:00
Martine Lenders
ba1527593f ipv6: fix IPv6 address matching algorithm 2014-11-13 00:16:34 +01:00
Oleg Hahm
c9bb6361fe ccn-lite: use always ccnl_malloc 2014-11-11 21:51:52 +01:00
Oleg Hahm
4a93a261b4 net: l2_ping uses radio_packet_t instead of packet_info_t 2014-11-11 16:59:06 +01:00
Oleg Hahm
c692b3a00a net: move ping to sys/net
* moved the former ping module from `sys` to `sys/net/link_layer` and renamed to l2_ping
* use defaulttransceiver instead of cc110x
* some refactoring
2014-11-11 15:03:40 +01:00
Oleg Hahm
e93d030058 net: fix buffer overrun in socket initialization 2014-11-10 21:33:11 +01:00
Oleg Hahm
d1d8972b0c 6lowpan: do not overrun in context_remove 2014-11-10 15:33:49 +01:00
Oleg Hahm
ebfaa85f0c net_if: fix buffer overruns 2014-11-10 15:33:48 +01:00
Oleg Hahm
365bfd81af IPv6: allow complete in ipv6_addr_init_prefix
If the specified prefix is a full IPv6 address, no bits remain.
Fixes a possible buffer overrun.
2014-11-10 15:33:48 +01:00
Oleg Hahm
b96b995d76 6lowpan: fix buffer overrun in decompression 2014-11-10 15:33:48 +01:00
Oleg Hahm
e06dce55b1 6lowpan: free fragment buffer in error case 2014-11-10 15:33:48 +01:00
DangNhat Pham-Huu
429162c20f Merge pull request #1793 from BytesGalore/extern_C_in_headers_sys
sys: add extern "C" to headers
2014-11-10 08:57:48 +07:00
BytesGalore
de3c3cebd0 c++: sys: add extern C to header files 2014-11-08 20:09:55 +01:00
Martine Lenders
b7929ae03d pktbuf: optimize size overhead in packet buffer 2014-11-07 12:01:22 +01:00
Oleg Hahm
8f93b5cee7 Merge pull request #1948 from OlegHahm/netif_byteorder
Netif fix byteorder
2014-11-06 20:06:12 +01:00
Oleg Hahm
ac3519d46a net_if: alternative approach for swapping the byte order 2014-11-06 14:30:22 +01:00
Oleg Hahm
32543afdd0 ieee802154: make use of frame_type enum all over 2014-11-06 08:02:27 +01:00
Oleg Hahm
74a53e824e ieee802154: change frame type definition to enum 2014-11-06 08:02:11 +01:00
Troels Hoffmeyer
406872751a Only read pan ID when address mode is not 0, when reading 802.15.4 header 2014-10-31 10:16:34 +01:00
Hinnerk van Bruinehsen
d1775a1ad1 lint: fix redundantCopy in udp code 2014-10-31 01:24:32 +01:00
Hinnerk van Bruinehsen
aca4724447 lint: fix warnings of possible nullPointer dereferences 2014-10-31 01:24:30 +01:00
Hinnerk van Bruinehsen
8723ba7568 lint: fix variableScope warnings 2014-10-31 01:24:30 +01:00
Hinnerk van Bruinehsen
a5aeaab87b lint: fix unreadVariable warnings 2014-10-31 01:24:30 +01:00
Oleg Hahm
5cf154223b trickle: increase stacksize for timer thread
printf is used in this thread
2014-10-30 21:27:12 +01:00
Oleg Hahm
313d5b4e56 doc: added and fixed some copyright boilerplates 2014-10-30 19:30:14 +01:00
Fabian Nack
07fff37efe drivers - cc110x_ng: rename ng driver to legacy 2014-10-24 09:55:31 +02:00
5146c66786 core: adapt to msg_try_send 2014-10-22 12:37:33 +02:00
Martine Lenders
fbaae0951a ip: set solicited node address correctly 2014-10-21 20:22:07 +02:00
Martine Lenders
0812d4789a Merge pull request #1638 from authmillenon/packetbuf2
net: Initial import of a global packet buffer
2014-10-16 14:01:56 +02:00
Emmanuel Baccelli
3f0d9d63d6 Merge pull request #1716 from waehlisch/master
Update CCN-lite Readme
2014-10-16 13:23:15 +02:00
Martine Lenders
a569f2b92c net: Initial import of a global packet buffer 2014-10-16 11:52:30 +02:00
Oleg Hahm
bd3d32e9b0 documentation: added description for packet queue 2014-10-13 19:30:12 +02:00
Martine Lenders
94528fef46 Merge pull request #1795 from sgso/byte-order-udp-sockaddr
udp: fix byte order in sockaddr6_t
2014-10-11 13:48:34 +02:00
Ludwig Ortmann
90e2b1c4c4 sys/net/pktqueue: fix doxygen 2014-10-11 08:20:50 +02:00
Martine Lenders
36f8e3c5c3 Merge pull request #1640 from authmillenon/packetqueue
net: Initial import of a packet wrapper for priority_queue
2014-10-10 23:12:28 +02:00
Martine Lenders
e7e62cffdb net: Initial import of a packet wrapper for priority_queue 2014-10-10 23:11:50 +02:00
Fabian Brandt
cd80cc166e Fixes when a packet is not for me, but an interface is defined. 2014-10-10 17:17:40 +02:00
Sebastian Sontberg
c8c518005f udp: fix byte order in sockaddr6_t
udp_recvfrom wrote the sender port number in host byte order into the
provided sockaddr6_t. Because all send functions expect the port number
in network byte order this introduces a superfluous conversion step in
case one wants to reuse the address for replying.

closes #1406
2014-10-10 15:43:34 +02:00
Martine Lenders
42f96b0d60 Merge pull request #1699 from Kijewski/issue-1586
core: Provide functions for different byte orders
2014-10-10 07:38:57 +02:00
Martine Lenders
d63e98786e sixlowpan: fix ipv6_addr_init_prefix 2014-10-09 14:42:35 +02:00
Oleg Hahm
cbb1aff0ce sixlowpan: fixed net_if counter
This is a fixup for 11254577eb which
caused this function to always return a positive number, when any
interfaces was configured.
2014-10-01 18:19:35 +02:00
René Kijewski
749db8d0dd core: Provide functions for different byte orders
Rationale: see #1586.
2014-09-29 21:07:02 +02:00
Oleg Hahm
762e9492a6 Merge pull request #1528 from OlegHahm/silent_rpl
rpl: mute RPL
2014-09-29 10:56:10 +02:00
Matthias Waehlisch
72b06cc9b1 sys/net/ccn_lite/README.md change wording + add ACM ICN reference
sys/net/ccn_lite/README.md fix encoding
2014-09-27 11:17:06 +02:00
René Kijewski
d4f144eb47 Add license statement to {msp430_types,net_help}.h 2014-09-25 10:14:58 +02:00
Hinnerk van Bruinehsen
2faf813793 board/sys: move bounds check before array access 2014-09-14 01:56:11 +02:00
Hinnerk van Bruinehsen
eb9ab083bc sys: remove break after return 2014-09-13 23:47:41 +02:00
Hinnerk van Bruinehsen
57b998e4a1 cpu/examples/sys/drivers: reduce scope of variables 2014-09-13 19:03:40 +02:00
René Kijewski
0cc699c0ce lint: reduce scope
Fix some lint warnings of kind
```
style (variableScope): The scope of the variable '…' can be reduced
```
2014-09-12 11:50:12 +02:00
Cenk Gündoğan
710c7e6cf6 transport_layer: Splitting UDP and TCP
Currently, the tcp and udp implementations are bound to each other in a
module called *destiny*. Thus, when using only one of them then the
other one gets also compiled into the binary and initialized,
which results in unnecessary RAM usage and workload for the CPU.

The approach in this PR defines a common module named *socket_base*,
which contains functions used by the posix layer. Compiled by it's own,
those functions return negative error codes, to symbolize upper layers
that they are not supported. When also including the modules *udp* or
*tcp* respectively, functions from *socket_base* get overwritten with the
correct functionality.

Defining *udp* or *tcp* in a Makefile also includes *socket_base*.
Defining *pnet* in a Makefile also includes *socket_base*.
2014-09-11 20:07:46 +02:00
Oleg Hahm
46d5947044 rpl: mute RPL
Removes all but one occurrence of printf and puts within routing (the
remaining puts is called from a debug function.
2014-09-10 18:04:17 +02:00
Oleg Hahm
c924075722 sixlowpan: documented internal is_our_address() 2014-09-10 14:37:43 +02:00
Oleg Hahm
11254577eb sixlowpan: ignore incoming packets if unconfigured
If there's no IPv6 address configured so far to any interface, 6lowpan
should not try to  handle incoming packets. This can easily lead to
looping packets.
2014-09-10 14:37:43 +02:00
Ludwig Ortmann
2439bd839c doc: fix more license headers
Remove some cruft, set correct lgpl versions, update to lgpl where
this had been overlooked in the past, fix odd comment style...
2014-08-27 19:20:49 +02:00
Hinnerk van Bruinehsen
c4a26a6acf sys: inet_pton: conditional include for atmega2560
include sys/types.h conditionally for atmega2560
    Without this change test/unittests fails to build due to a missing
    declaration of ssize_t
2014-08-27 17:48:39 +02:00
Ludwig Ortmann
b7992922ce fix license headers in non-.c files 2014-08-23 16:16:26 +02:00
Oleg Hahm
32b88ee2fa Merge pull request #1521 from OlegHahm/ccnl_fixes
ccn: minor fixes
2014-08-22 02:13:19 +02:00
Oleg Hahm
cf536c8f5c mc1322x: some fixes in transceiver and ccnl 2014-08-22 02:12:48 +02:00
Oleg Hahm
19377261ac ccnl: disable debug and fix warnings 2014-08-22 02:12:48 +02:00
Oleg Hahm
6973ee2f81 ccnl: use correct packet type 2014-08-22 00:41:23 +02:00
Oleg Hahm
400fb29a6b licenses: updated some missing licenses in headers 2014-08-21 23:52:42 +02:00
Oleg Hahm
e879e2aba2 fix low-level sending destination address 2014-08-21 21:34:45 +02:00
Oleg Hahm
8b34d323e2 rpl: moved headers to sys/net/include 2014-08-21 21:34:45 +02:00
Oleg Hahm
1de5c2b4a0 fixed remaining variables to kernel_pid_t 2014-08-07 17:29:53 +02:00
Oleg Hahm
74fbff1df2 net: changed name of internal variable
To avoid naming conflicts + made variable static and volatile as it
should be.
2014-08-07 16:31:27 +02:00
Oleg Hahm
93ef4346e9 ccnl: duplicate variable names
Some variables had multiple definitions, but could be removed or
declared with a smaller scope.
2014-08-07 16:31:27 +02:00
Oleg Hahm
0ad7b170ed make kernel_pid_t comparisons consistent 2014-08-07 16:31:27 +02:00
Oleg Hahm
aa2ecf6216 initialize kernel_pid_t correctly 2014-08-07 16:31:27 +02:00
Oleg Hahm
c2b0423918 core: renamed KERNEL_PID_NULL to KERNEL_PID_UNDEF
As @authmillenon pointed out the "null" in the old name is somewhat
misleading, since the actual value is -1.
2014-08-07 16:31:27 +02:00
Oleg Hahm
4b1a2f32eb net: fix kernel_pid_t checks
KERNEL_PID_NULL is a negative number. If kernel_pid_t variables are
initialized to this value, one have to check for lt/gte 0.
2014-08-07 16:31:27 +02:00
Oleg Hahm
2015796154 ccnl: pass relay_pid as pointer 2014-08-01 12:02:59 +02:00
Oleg Hahm
983d056c75 core: harmonizes the data type for the process ID
Instead of using differing integer types use kernel_pid_t for process
identifier. This type is introduced in a new header file to avoid
circular dependencies.
2014-08-01 12:02:54 +02:00
Oleg Hahm
5dc38a3e8c sixlowpan: some additional debugging 2014-08-01 00:15:34 +02:00
Oleg Hahm
f2b9e20716 sixlowpan: decrement processing semaphore when discarding 2014-08-01 00:14:45 +02:00
Ludwig Ortmann
d55da67fb6 Merge pull request #1329 from LudwigOrtmann/riot_license
RIOT default license header change
2014-07-31 23:12:47 +02:00
Ludwig Ortmann
3ca4f18479 doc: use lgplv2.1-short license header instead of lgpl-short-riot 2014-07-31 22:57:20 +02:00
Cenk Gündoğan
ca5b45e264 converting tabs to spaces in sys (#1439)
This PR converts tabs to white spaces.
The statement I used for the conversion:
```find . -name "*.[ch]" -exec zsh -c 'expand -t 4 "$0" > /tmp/e && mv /tmp/e "$0"' {} \;```
Afterwards, I had a quick overview of the converted files to prevent odd indentation.
2014-07-31 20:51:50 +02:00
Ludwig Ortmann
b6846e31fc doc: fix most occurences of FU as an author
.. but only if there are other authors as well
2014-07-29 17:23:11 +02:00
René Kijewski
6fae042a60 core: remove unneeded calls to mutex_init() 2014-07-29 09:33:24 +02:00
Christian Mehlis
e2052cb6a9 Merge pull request #1026 from mehlis/ccnl-helper-thread
ccnl: refactor ccn lite stack
2014-07-18 21:27:13 +02:00
Christian Mehlis
d2b78a398f ccnl: finish rebase 2014-07-18 21:06:40 +02:00
Christian Mehlis
54bf710c69 ccnl: fix function name 2014-07-18 20:50:37 +02:00
Christian Mehlis
0aad35f33c ccnl: normalize time before using it 2014-07-18 20:47:26 +02:00
Christian Mehlis
5bc873d8ca ccnl: change timeouts to useful values 2014-07-18 20:47:26 +02:00
Christian Mehlis
7c10101e83 ccnl: prevent race condition on teardown 2014-07-18 20:08:29 +02:00
Christian Mehlis
9b5eedeea8 ccnl: use stacksize main for all threads 2014-07-18 20:08:29 +02:00
Christian Mehlis
cebffb2ccf ccnl: make relay start on RIOT startup 2014-07-18 20:07:15 +02:00
Christian Mehlis
085e386f2d ccnl: make theRelay use dynamic memory 2014-07-18 20:04:13 +02:00
Christian Mehlis
51fa2ec5c5 ccnl: use vtimer instead of rtc 2014-07-18 20:04:13 +02:00
Christian Mehlis
0b390040f4 ccnl: use a second helper thread to handle e.g. timeouts 2014-07-18 20:01:11 +02:00
Christian Mehlis
7169fd1107 Merge pull request #1362 from OlegHahm/ccnl_eliminate_warning
CCN_lite eliminate warning
2014-07-10 23:56:39 +02:00
René Kijewski
ba1a15535b core: remove extra thread_create_arg() function 2014-07-09 10:28:23 +02:00
Oleg Hahm
1518d6ac64 Merge pull request #1390 from cgundogan/fix_socket_internal_t_packed_attr
destiny: deleting packed attribute from socket_internal_t
2014-07-08 22:33:54 +02:00
Cenk Gündoğan
8724eb1169 destiny: Adjust TCP_STACK_SIZE
Currently, the TCP_STACK_SIZE is `KERNEL_CONF_STACKSIZE_DEFAULT`.
However, since printf statements are used in the tcp relevant code,
this stack size is too small (esp. for MSBA2).
2014-07-08 21:30:58 +02:00
Cenk Gündoğan
b5e7460d45 destiny: deleting packed attribute from socket_internal_t
While testing the tcp implementation on MSBA2 I noticed that
the value of `tcp_input_buffer_end` gets changed whenever acquiring or
releasing the mutex of the struct on the server side.

After deleting the packed attribute of the struct this problem was
resolved and the value stayed the same after acquiring and releasing.

This problem could maybe arise from badly placed cache lines due to
missing padding... I am not sure.

Anyway, I guess using the packed attribute is useless here and makes it
more error-prone.
2014-07-08 20:40:55 +02:00
Oleg Hahm
53f7bea52f Merge pull request #1167 from fabianbrandt/rpl_base_split
Split RPL into core and mode related functions.
2014-07-04 11:21:05 +02:00
Fabian Brandt
7fb462cd2c Split RPL into core and mode related functions. 2014-07-03 20:23:57 +02:00
Fabian Brandt
62236e5d54 Introducing a source routing header for RPL. 2014-07-02 20:35:14 +02:00
Oleg Hahm
613caf3914 ccnl: eliminated empty translation unit warning 2014-07-02 19:23:14 +02:00
Oleg Hahm
0affcaf6e1 ccnl: fixed commenting style 2014-07-02 19:22:55 +02:00
René Kijewski
63dd8546af Merge pull request #1335 from Kijewski/fix-all-warnings-for-native-and-qemu-i386
Fix all warnings for native and qemu-i386
2014-07-02 10:58:48 +02:00
Christian Mehlis
381fec1fa8 Merge pull request #1301 from cgundogan/fix_tcp_handshake_seq_ack_rfc_compliancy
destiny: wireshark revealed wrong seq/ack nr. in tcp handshake
2014-06-30 22:05:23 +02:00
René Kijewski
3063e3c2b1 Fix all warnings for native and qemu-i386
Missing returns, unused variables (only used for debugging), empty
translation units, missing function prototypes, and GNU extensions.
2014-06-24 16:50:32 +02:00
Oleg Hahm
fda7ce12d2 Merge pull request #1321 from cgundogan/fix_missing_ack_bit
destiny: set ack bit for (almost) all segments after syn
2014-06-24 11:16:37 +02:00
Cenk Gündoğan
75546fcf6c destiny: set ack bit for (almost) all segments after syn
The current implementation does not set the ack bit
for outgoing data segments and the fin segment.

However, RFC793 states that all segments
should have an ack bit set in order to present a valid
ack nr. in outgoing segments.

Currently, data segments and acknowledgement segments
are distinguished by the existence of their ack bit.
With the new assumption, that both of these types of
segments need an ack bit set, I had to change several
parts of the current implementation to make this
decision by inspecting the payload size.

destiny: added parens
2014-06-24 10:44:11 +02:00
Cenk Gündoğan
400286168f destiny: wireshark revealed wrong seq/ack nr. in tcp handshake
Capturing the tcp handshake with wireshark revealed that the
sequence and ack nrs. are not rfc compliant.
I did the changes based on
http://tools.ietf.org/html/rfc793#page-52 to http://tools.ietf.org/html/rfc793#page-72
2014-06-24 10:21:23 +02:00
Oleg Hahm
eedc16815c Merge pull request #891 from OlegHahm/rpl_debug
net: some debug code
2014-06-22 19:27:18 +02:00
René Kijewski
840c0f0a57 make: detect their module name automatically
For many modules the `Makefile` contains a line like
```
MODULE:=$(shell basename $(CURDIR))
```
This conclusively shows that we do not have to set the module name
manually.

This PR removes the need to set the module name manually, if it is the
same as the basename. E.g. for `…/sys/vtimer/Makefile` the variable
make `MODULE` will still be `vtimer`, because it is the basename of the
Makefile.
2014-06-17 15:49:32 +02:00
Christian Mehlis
997dcd7e88 Merge pull request #1302 from cgundogan/fix_tcp_header_data_offset
destiny: using a bit field for tcp_header->data_offset is more convenient
2014-06-14 15:40:49 +02:00
Christian Mehlis
50a07d9874 Merge pull request #1280 from cgundogan/fix_send_tcp_error_check
destiny: fixed condition for error handling of send_tcp in destiny_socket_send
2014-06-12 09:55:37 +02:00
Oleg Hahm
f6cd96b023 Merge pull request #1300 from cgundogan/fix_wrong_byte_order_ipv6_length
destiny: change byte order of ipv6_header->length
2014-06-09 22:01:41 +02:00
Cenk Gündoğan
ecf47b1f48 destiny: using a bit field for tcp_header->data_offset is more convenient
In the current implementation the data offset is coded into an uint8_t.
Of this uint8_t only 3 bits apply for the data offset.
The remaining bits represent reserved flags for future use.
However, a proper bit masking is forgotten in order
to obtain the data offset part of this uint8_t.

Therefore, defining this uint8_t as a bit field allows a more convenient
method of access.
2014-06-09 19:37:37 +02:00
Cenk Gündoğan
97da23051a destiny: change byte order of ipv6_header->length
When accessing the length field of an ipv6_header a byte order switch (host -> network) is necessary.
Otherwise, it breaks calculations or the checksum and other tcp related computations.
Furthermore, when writing to ipv6_header->length it is important to switch this
from host byte order to network byte order.
2014-06-08 20:50:45 +02:00
Cenk Gündoğan
7584ffe887 destiny: fixed condition for error handling
send_tcp returns either the length of the sent data,
or -1, if an error was detected.

The current implementation checks for != 1.
This results in executing the error case, although
there was semantically no error returned from send_tcp.
2014-06-05 14:17:48 +02:00
Cenk Gündoğan
43b7a393b1 destiny: wireshark compliant tcp flags
This enum is also used to set the tcp flags within a tcp header.
With the current values in this enum, wireshark is not able to
recognize the tcp segments as their actual tcp type,
and thus odd messages in wireshark appear.

destiny: reusing tcp flags for combinations
2014-06-05 13:15:00 +02:00