Commit Graph

40 Commits

Author SHA1 Message Date
Łukasz Duda bb97cbee17 IP: Add API to subscribe/unsubscribe to multicast addresses. (#899)
* IP: Add API to subscribe/unsubscribe to multicast addresses.

* CLI: Add commands to handle multicast addresses.
2016-11-02 11:24:35 -07:00
Jonathan Hui 1de494ffa0 Fix for delete operator. (#903) 2016-10-31 08:49:49 -07:00
Łukasz Duda dc30d433c7 IP: Add support to IP-in-IP in IPv6 layer (#893)
* IP: Add support for IP-in-IP tunneling.

This commit includes support for MPL for multicast scope larger than
realm-local scope.
2016-10-27 23:56:14 -07:00
Jonathan Hui f0a5239a59 Clean up MessageInfo class. (#888) 2016-10-27 09:42:48 -07:00
Jonathan Hui 7d81a632ae Insert MPL Option in host-generated realm-local mcast messages. (#874) 2016-10-26 13:05:35 -07:00
Łukasz Duda 78d4b678e3 MPL: Introduce multicast forwarding. (#827)
* Message: Add a new optional parameter to Clone method.

* MPL: Introduce MPL Forwarding

This commit introduces MPL Forwarding for Routers.
All references to MPL Seed have been replaced with MPL Seed Id.
2016-10-24 11:34:15 -07:00
Nick Banks 7a19067515 Some Logging Cleanup (#810)
* Remove unnecessary WPP definition.
* Various other small fixes.
2016-10-20 10:30:53 -07:00
pvanhorn 81738bd8af Remove Netif name and rely on enumerated Interface Id's for netif. (#833)
* Remove Netif name and rely on enumerated Interface Id's for netif.
2016-10-18 13:56:50 -07:00
Łukasz Duda b6ebabf2e4 Message: Add Clone method. (#804)
* Message: Add Clone method.

Packet cloning is done only inside ip6.cpp right now, but this method
might be useful for MPL and CoAP retransmissions in order to not repeat the same
code.
2016-10-14 09:37:26 -07:00
Robert Quattlebaum 104ca6d10d Cleanup error code usage. Avoid raising errors when value is unchanged. (#787)
This change is attempting to address two issues:

1.  Returning `kThreadError_Busy`, when `kThreadError_Already`,
    `kThreadError_InvalidState`, or even the lazy
    `kThreadError_Failed` would be more-appropriate/less-misleading.
2.  Setters returning an error when the value to be changed is already
    set to the requested value.

Number one hurts debuggability. Number two makes the code more fragile.
The cases where both intersect can be maddening.

This change replaces cases inappropriately returning
`kThreadError_Busy` with a better, more specific error code. It also
makes some "setter" functions (Including `otInterfaceUp()` and
`otThreadStart()`) return success if the value is already set.
2016-10-12 14:18:55 -07:00
Jonathan Hui 2d5c4c58f2 Only forward multicast messages when an MPL entry is available. (#800) 2016-10-12 14:17:09 -07:00
Nick Banks 79d99e7a91 Refactor OpenThread Global Variables into a Single Context Structure (#357)
* Refactor OpenThread to contain all global/static variables in a single context structure.
2016-10-04 15:23:25 -07:00
Łukasz Duda 465affadb9 MPL: Seed-id field handling (#663)
* MPL: Fix seed-id field handling. Add Pad1 and PadN options.

This commit fixes issue #599 by allowing MPL module to elide its seed-id
as well as retrieve elided seed-id from RLOC.

Additionally Pad options have been introduced and bug with incorrect
parsing of Pad1 option has been fixed.

* Lowpan: Introduce compression and decompression of Pad1 and PadN options.

This commit fixes issue #599.
2016-09-23 09:06:27 -07:00
Jonathan Hui 0071edcf7a Pass up datagrams that are routed to this device but have no further route. (#617) 2016-09-16 17:27:52 -07:00
Jonathan Hui 44350178ad Change copyright to The OpenThread Authors. (#583)
- Add a top-level file named AUTHORS which identifies the copyright
holders of the project.
2016-09-13 15:57:11 -07:00
Nick Banks ae545bb007 Fix build warnings on Windows (#577)
* Fix build warnings on Windows
2016-09-13 09:25:22 -07:00
Jonathan Hui 4f610ef082 Use a send task for handling IPv6::SendMessage requests to reduce stack. (#536) 2016-09-08 08:48:06 -07:00
Jonathan Hui e22c123904 Remove globals from message.cpp. 2016-09-07 13:30:22 -07:00
Jonathan Hui 32b6d343c4 Remove globals from timer.cpp. 2016-09-07 13:30:22 -07:00
Jonathan Hui 7b58b80d9b Remove globals from ip6_routes.cpp. 2016-09-07 13:30:22 -07:00
Jonathan Hui 707b5a4052 Remove globals from netif.cpp. 2016-09-07 13:30:22 -07:00
Jonathan Hui 239e99d762 Remove globals from udp6.cpp. 2016-09-07 13:30:22 -07:00
Jonathan Hui 2029ef62eb Remove globals from icmp6.cpp. 2016-09-07 13:30:22 -07:00
Jonathan Hui 7f899dc6dd Remove globals from ip6.cpp. 2016-09-07 13:30:22 -07:00
Abtin Keshavarzian fe3eaffccd Ip6: Add the LinkSecurityMode info in the copied datagram message passed to host (#494) 2016-08-30 15:53:03 -07:00
Jonathan Hui f52efd73e6 Filter out ICMP Echo Requests when ICMP offload is enabled. (#447) 2016-08-22 21:19:49 -07:00
Jonathan Hui 8195ed9c62 Allow client to specify whether or not to filter Thread control traffic. (#423) 2016-08-19 14:35:09 -07:00
Nick Banks 47dcec0bac Update all callbacks to support a client supplied context pointer. (#425)
* Update all callbacks to support a client supplied context pointer.
2016-08-19 11:38:11 -07:00
Jonathan Hui 95827bae16 Add return codes to Ip6::HandleDatagram. (#391) 2016-08-16 19:10:26 -07:00
Jonathan Hui 5dbfe2af46 Only enable IPv6 forwarding for Router and Leader roles. (#390) 2016-08-16 19:10:09 -07:00
Jonathan Hui 4050c68577 Enable -Wconversion on clang and fix all warnings. (#358) 2016-08-10 11:52:22 -07:00
MatthewCoppola4 c7f62aa235 Mpl Static Global was uninitialzed. (#359)
This resulted in a crash when pinging the mesh local address.
2016-08-10 11:07:48 -07:00
Marcin K Szczodrak b2b10b8dce handle extra warnings (#288) 2016-07-26 12:01:22 -07:00
Marcin K Szczodrak 318fe4b415 turn on warnings and errors (#280) 2016-07-25 21:19:07 -07:00
Jonathan Hui d6107c5f53 Forward multicast datagrams when operating in NCP mode. (#243) 2016-07-07 08:41:25 -07:00
Jonathan Hui 4369a31411 Make public headers C99 compliant. (#186)
* Add -std=c99 and -pedantic-errors to CFLAGS.
2016-06-21 13:04:51 -07:00
Jonathan Hui 012fe7ebee Implement known missing OpenThread APIs needed for NCP support. (#122)
This change adds the following APIs:
* otGetLeaderRloc
* otGetMeshLocalEid
* otGetMeshLocalPrefix
* otSetMeshLocalPrefix
* otGetNetworkDataLeader
* otGetNetworkDataLocal
* otGetShortAddress
* otSetRawIp6ReceivedCallback
* otSendRawIp6
2016-06-11 12:44:23 -07:00
Marcin K Szczodrak 99870fae01 adjust license text width (#22) 2016-05-12 22:39:11 -07:00
Jonathan Hui 3a439e56b4 Change SendDatagram to not free the message on error. (#16)
The caller should be responsible for freeing the message buffer.
2016-05-11 17:01:38 -07:00
Jonathan Hui 4f9945c533 Initial commit 2016-05-10 22:49:53 -07:00