Commit Graph

137 Commits

Author SHA1 Message Date
Gregory Nutt
db69e4b09c Another IP forwarding design simplification: Remove an unnecessary field from state structure. 2017-07-06 16:51:08 -06:00
Gregory Nutt
b5d7187df6 IP forwarding design simplication; might save some memory. Also fix some compile issues introduce with last commit in MULTINIC configration. 2017-07-06 16:19:10 -06:00
Gregory Nutt
94f26828e9 Fix a TTL-related issue introduced with last commit. 2017-07-06 09:45:52 -06:00
Gregory Nutt
efdc5b0c29 IP forwarding: Add missing ICMP support. 2017-07-06 07:49:55 -06:00
Gregory Nutt
04716a65a5 IP forwading: Add optional support to forward broadcast and multicast packets. 2017-07-06 07:26:01 -06:00
Gregory Nutt
b297066eb9 IP Forwarding: Add IPv4 packet forwarding logic. Initial commit is an untested clone of the IPv6 forwarding logic with a few minor logic changes for IPv4. 2017-07-05 15:12:29 -06:00
Gregory Nutt
31f832d8c5 IP forwarding: Flesh out TCP, UDP, and ICMPv6 packet forwarding logic. 2017-07-05 11:01:16 -06:00
Gregory Nutt
5e617f8410 UDP networking: The TTL (time to live) was not being set in the IPv4 or IPv6 header unless the UDP socket was bound. 2017-07-04 12:05:21 -06:00
Gregory Nutt
c0c275c8fc IP forwarding. Adds a little more structure to handle passing packets received on one network device to another network device. Logic is still incomplete. 2017-07-04 10:19:52 -06:00
Gregory Nutt
59cb2a280b Merge remote-tracking branch 'origin/master' into ipforward 2017-07-04 07:21:50 -06:00
Gregory Nutt
32a96bda6d IPv6 forwarding logic must decrement the TTL and drop the packet if the hop limit is exceeded. 2017-07-04 07:05:42 -06:00
Gregory Nutt
eba16af7ba Adds a little more IP foward framework 2017-07-03 16:22:57 -06:00
Gregory Nutt
856d7e73b7 Some compile time fixes 2017-07-03 16:22:25 -06:00
Gregory Nutt
eafcf4d059 Clean up some conditional logic 2017-07-03 16:02:59 -06:00
Gregory Nutt
83a875f394 IP forwarding: Add some fragments of TCP forwarding logic. 2017-07-03 15:58:01 -06:00
Gregory Nutt
81cd76484f Add some partial IP forwarding logic. 2017-07-03 15:34:28 -06:00
Gregory Nutt
09ab651e02 samv71-xult: Add support for the MRF24J40 radio and create a mrf24j40-starhub configuration. A few fixes to IPv6 and 6LoWPAN were required to have 6LoWPAN and Ethernet coexisting. Untested and expect some complexity in the bring-up. 2017-07-02 11:04:57 -06:00
Gregory Nutt
d280f8854e include/nuttx/net and net/: Move private prototype of netdev_foreach() from the public include/nuttx/net/net.h to the private net/netdev/ndetdev.h header file where it belongs. 2017-07-01 08:39:39 -06:00
Gregory Nutt
6d8df90b79 Clicker2-STM32 + net/: Add configurations to support the endpoint and hub roles in a star topology. Fix various things that broke when IPv6 forwarding was enabled. 2017-06-29 08:16:46 -06:00
Gregory Nutt
a93f130002 6LoWPAN: Add configurable support for 6LoWPAN star topology. With this change, the endpoints which are the 'points' of the star will forward all traffic to the coordinator. The coordinator is assumed to be the 'hub' of the star. This function also implements IPv6 forwarding. That forwarding implementation is minimal, just enough to support the forwarding requirements of the star hub node. 2017-06-28 15:39:21 -06:00
Gregory Nutt
ca97725e55 net: Remove a semicolon that cause compile failure in certain configurations 2017-06-28 15:16:15 -06:00
Gregory Nutt
036bb345a1 net:/ Fix a backward logic in a conditional tested added yesterday. 2017-06-28 14:12:17 -06:00
Gregory Nutt
4db21f4d7e net/: IPv6 packet input, Improve checks that the packet is destined for us. There might be some odd things that can happen in certain forwarding scenarios. 2017-06-28 08:13:57 -06:00
Gregory Nutt
74c97f7e7f 6LoWPAN: Various fixes for a clean build if either TCP or UDP are disabled. Given the current state of TCP, it is recommended that you disable TCP. 2017-06-24 16:53:00 -06:00
Gregory Nutt
cfea8adacb L should be capitalized in 6LoWPAN 2017-06-18 16:00:08 -06:00
Gregory Nutt
0de294a586 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
Gregory Nutt
2043e1a114 IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
Gregory Nutt
d5207efb5a Be consistent... Use Name: consistent in function headers vs Function: 2017-04-21 16:33:14 -06:00
Gregory Nutt
bcc6b61fc1 Move include/nuttx/net/iob.h to include/drivers/iob.h; rename CONFIG_NET_IOB to CONFIG_DRIVERS_IOB 2017-04-20 14:53:30 -06:00
Gregory Nutt
7cb34d969d 6loWPAN: More fixes from early debug. 2017-04-03 15:25:36 -06:00
Gregory Nutt
2c06f8ab78 6loWPAN: Updates/fixes from early testing with the IEEE802.15.4 loopback driver. 2017-04-03 12:01:04 -06:00
Gregory Nutt
663c48c329 6loWPAN: Hook 6loWPAN output into path of output from TCP state machine. 2017-04-02 12:01:04 -06:00
Gregory Nutt
76406af71b 6loWPAN: Add support for sendto() 2017-04-02 11:15:46 -06:00
Gregory Nutt
732f0855c6 6loWPAN: Fleshes out framwork for IEEE802.15.4 send. But still has some gaping holes. 2017-03-31 15:09:07 -06:00
Jussi Kivilinna
cd3c9634c8 Add user-space networking stack API (usrsock)
User-space networking stack API allows user-space daemon to
provide TCP/IP stack implementation for NuttX network.

Main use for this is to allow use and seamless integration of
HW-provided TCP/IP stacks to NuttX.

For example, user-space daemon can translate /dev/usrsock
API requests to HW TCP/IP API requests while rest of the
user-space can access standard socket API, with socket
descriptors that can be used with NuttX system calls.
2017-03-31 08:58:14 -06:00
Gregory Nutt
518d19c0be Update comments 2017-01-18 07:53:28 -06:00
Gregory Nutt
9f7d332028 Minor changes from the review of the last PR 2017-01-18 07:32:27 -06:00
Pascal Speck
2e074ca4f9 - Fixed some issues that prevented ipv6 to work with ipv4 enabled. 2017-01-18 10:57:15 +01:00
Gregory Nutt
7467329a98 Eliminate CONFIG_NO_NOINTS. Lots of files changed -> lots of testing needed. 2016-12-03 16:28:19 -06:00
Gregory Nutt
1dabbd8489 Costmetic changes 2016-10-24 16:18:30 -06:00
Gregory Nutt
2a751068e6 Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err(). 2016-06-20 12:44:38 -06:00
Gregory Nutt
43eb04bb8f Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info(). 2016-06-20 11:59:15 -06:00
Gregory Nutt
d40a473f72 Without lowsyslog() *llwarn() is not useful. Eliminate and replace with *warn(). 2016-06-20 09:37:08 -06:00
Gregory Nutt
7d0950bb22 net/: Change some nerr() ERRORS to nwarn() WARNINGS. Anomolous network events are not errors. 2016-06-12 07:09:37 -06:00
Gregory Nutt
f4fcdcdb4d net/: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition. 2016-06-11 17:37:21 -06:00
Gregory Nutt
e99301d7c2 Rename *lldbg to *llerr 2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
a81a467a40 Networking: In both IPv6 and IPv4 incoming logic: (1) Should check if the packet size is large enough before trying to access the packet length in the IP header. (2) In the comparison between the IP length and the full packet length, need to subtract the size of the link layer header before making the comparison or we will get false positives (i.e., the packet is really too small). 2016-06-09 13:16:47 -06:00
Gregory Nutt
4f208600aa Replace confusing references to uIP with just 'the network' 2016-05-30 09:31:44 -06:00