Commit Graph

1238 Commits

Author SHA1 Message Date
Gregory Nutt
8d81b35c44 network: Correct some issues that prevent TCP from working correctly when both IPv4 and IPv6 are enabled. 2017-07-07 08:50:01 -06:00
Gregory Nutt
b4a0ac53a8 Networking: Improve naming and simplify some logic of previous commit. 2017-07-07 06:51:52 -06:00
Gregory Nutt
70c6b52132 ICMPv6: Fix an address size calculation that was bungled in a recent commit. 2017-07-06 19:37:01 -06:00
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
9794672c02 Forgot to add a file before the last commit 2017-07-06 14:03:04 -06:00
Gregory Nutt
f323f75887 IPv6 Neighbor: Update table format to support IEEE 802.15.4 MAC addresses. 2017-07-06 13:36:59 -06:00
Gregory Nutt
a5f361e984 ICMPv6: Fix so that ICMPv6 can be used with 6LoWPAN. 2017-07-06 12:00:59 -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
24e9647156 net/Kconfig: IP forwarding no long depends on only IPv6. Also update Kconfig comments. 2017-07-05 16:35:14 -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
edf16c5805 IP forwarding: In check it the Ethernet MAC address is in the ARP/Neighbor table, add an additional check to skip in the case of CONFIG_NET_MULTILINK and the devices is not an Ethernet device. 2017-07-05 12:40:26 -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
65c3fa6375 net/udp: Fix a copy-paste error that could effect networking when both IPv4 and IPv6 are enabled. 2017-07-05 07:27:17 -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
ae1771454a 6LoWPAN: TCP send logic was returning a failure in one case when, in fact, the send was successful. 2017-06-30 16:07:51 -06:00
Gregory Nutt
7de86f1ab4 This change backs out the 'misconception' fix of 76e6dba2e4 and reimplements it in a way that actually seems to work. 2017-06-30 12:39:00 -06:00
Gregory Nutt
e19c52ed6e 6LoWPAN fix compile issue in star hub configuration. 2017-06-30 10:13:31 -06:00
Gregory Nutt
76e6dba2e4 6LoWPAN: Fix a misconception about HC06 16-bit IPv6 address compression. 2017-06-30 10:08:44 -06:00
Gregory Nutt
af8c5c86f3 6LowPan: Change how the destination node address is handled in the start endpoint configuration. When the star endpoint sent the IPv6 destination address, the HC06 compression logic elided the address -- meaning that it could be reconstructed by the recipient based on the receiver's assigned short address. However, when intercepted by the hub, the uncompressed address does not know the short address of the recipient and instead uses the short address of the hub. This means two things: (1) it looks like the hub address is the destination address, and (2) the uncompressed UDP packet has a bad checksum. This change assures that the destination IPv6 address is not elided in the case of the star endpoint configuration. 2017-06-30 09:32:17 -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
f87d5a3f81 net/: Remove dangling space at the end of lines. 2017-06-28 13:32:19 -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
3b0c422743 net/sixlowpan: Change a wlerr to nerr 2017-06-27 17:01:23 -06:00
Gregory Nutt
249ab6eb18 6LoWPAN: Eliminate a global variable. 2017-06-26 10:49:02 -06:00
Gregory Nutt
5a8668b362 6LoWPAN TCP: Fix more ACK handling, fix some callback flag settings. Now the TCP test appears fully functional on 6LoWPAN. 2017-06-25 13:00:42 -06:00
Gregory Nutt
58e3558c55 6LoWPAN: Modify the the way TCP headers are transferred -- yet again. TCP packet reassembly now seems to work OK, but no there now does not seem to be a listener on the port. 2017-06-24 21:12:46 -06:00
Gregory Nutt
73d32a962d 6LoWPAN: HC06, copy TCP header as though it were data. 2017-06-24 18:29:07 -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
3203f0a93a 6LoWPAN TCP: Major re-architecting of TCP logic to properly handle TCP stuf like ACKs and TPC windowing which were not properly covered in the initial design. Still does not work; hangs waiting of ACKs. 2017-06-24 16:00:41 -06:00
Gregory Nutt
96af668ab8 6LoWPAN: Handle case where the local address is zero (listen socket) 2017-06-24 11:57:59 -06:00
Gregory Nutt
2fb938202c 6LoWPAN: TCP logic was not obeying MTU packet size limitations. Other TCP-specific issues also fixed. There remains a major outstanding issue with ACK handling. 2017-06-24 09:48:41 -06:00
Gregory Nutt
328a464f99 6LoWPAN: Fix a typo in an index that prevented use with HC1 and extended addresses. 2017-06-23 10:08:03 -06:00
Gregory Nutt
1a46ea644d 6LoWPAN: Add missing IPv6 address creation to HC1 decode logic. 2017-06-23 09:45:09 -06:00
Gregory Nutt
b3b3630991 6LoWPAN: fix yet another addressing problem. That does it. Several recent, proper bugfixes unmasked a few errors in the 6LoWPAN logic. But I think full functionality is restored. 2017-06-22 16:27:58 -06:00
Gregory Nutt
9c2f67c477 6LoWPAN: Fix a src/dest address confusion 2017-06-22 16:04:40 -06:00
Gregory Nutt
4a517ad48d 6LoWPAN: Just adds more debug output 2017-06-22 15:19:18 -06:00
Gregory Nutt
922454d515 6LoWPAN: Loopback driver needs to initialize the MAC meta data; Address decompression logic must have the MAC address to handle the most common compression cases. 2017-06-22 13:55:08 -06:00
Gregory Nutt
bc8ad02ee5 6LoWPAN: Various fixes from retesting on simulator with short addressing. 2017-06-22 11:42:52 -06:00
Gregory Nutt
b5994560cc 6LoWPAN: Fixes needed when extended addressing is enabled. Currently breaks short addressing. 2017-06-22 09:28:25 -06:00
Gregory Nutt
2442a9872b Logic of a353602aa9 only applies if CONFIG_NETDEV_MULTINIC 2017-06-22 07:03:37 -06:00
Roland Takacs
a353602aa9 Do not search net device when all-zeros address is used. 2017-06-22 09:14:59 +02:00
Gregory Nutt
05590a2228 6LoWPAN: Correct a few addressing issues. The apps/examples/udp test now appears to be fully functional. Also reserve two bytes at the end of the frame for the FCS. 2017-06-21 13:43:53 -06:00
Gregory Nutt
a53be51733 6LoWPAN: Correct an error in calculating the location of the UDP header. 2017-06-21 09:17:47 -06:00
Gregory Nutt
cd8ac3f070 ieee802154 MAC: Free allocated TX descriptor if an error occurs after the descriptor has been allocated. 2017-06-20 15:00:23 -06:00
Gregory Nutt
d9f549121c ieee802154_req_data: Don't modify the IOB until we are certain that no EINTR errors will occur. Otherwise, the retry will fail 2017-06-20 14:27:22 -06:00
Gregory Nutt
6dafb4f532 6LoWPAN: Add debug statements; Update configuration, need to specific 6LoWPAN compatible port numbers. 2017-06-20 10:37:32 -06:00
Gregory Nutt
8782e6e561 Merge remote-tracking branch 'origin/master' into ieee802154 2017-06-19 07:53:57 -06:00
Gregory Nutt
25689d911c Some changes from review of last PR 2017-06-19 07:48:26 -06:00
Roland Takacs
175a49a746 Merged in rtakacs/nuttx/fix_getsockname (pull request #410)
Support listening sockets in the getsockname function

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-06-19 13:36:52 +00:00
Gregory Nutt
cd82d03ddf IEEE 802.15.4/6LoWPAN: Correct one more usage of saddr; also update a README and the TODO list. 2017-06-19 07:31:52 -06:00
Roland Takacs
bea5140156 Support listening sockets in the getsockname function 2017-06-19 13:17:05 +02:00
Roland Takacs
4c163cf43b Throw error when error happens in the tcp_listen function 2017-06-19 12:23:35 +02:00
Anthony Merlino
b1ce07deb1 Swithches IEEE 802.15.4 based code to using byte arrays instead of uint16_t values for short address and PAN ID 2017-06-19 05:55:28 -04:00
Gregory Nutt
cfea8adacb L should be capitalized in 6LoWPAN 2017-06-18 16:00:08 -06:00
Gregory Nutt
de6999ad88 Update coding standard (with some other misc. changes to procfs strings) 2017-06-18 15:52:50 -06:00
Gregory Nutt
2ef49eb3bd Update TODO and README 2017-06-18 09:01:18 -06:00
Gregory Nutt
4588226d71 Clicker2-STM32: Enable networking and 6loWPAN in the mrf24j40-6lowpan configuration. Fix a couple of new 6loWPAN compile issues revealed by this new configuration. 2017-06-16 16:47:27 -06:00
Gregory Nutt
0b652d0451 Update some Kconfig help comments 2017-06-16 13:24:07 -06:00
Gregory Nutt
4a88d6a50a Merge branch 'ieee802154' of bitbucket.org:nuttx/nuttx into ieee802154 2017-06-15 10:32:55 -06:00
Anthony Merlino
e30501ebd4 wireless/ieee802154: Lots of fixes, cleanup, new functionality. Functional 2017-06-15 12:11:52 -04:00
Gregory Nutt
01b0a56371 TCP: tcp_input() now receives IP domain as an input parameter vs. deriving from the IP header length. 2017-05-25 08:02:08 -06:00
Masayuki Ishikawa
32a638cdfe TCP: Fix tcp_findlistner() in dual stack mode
Signed-off-by: Masayuki Ishikawa <masayuki.ishikawa@gmail.com>
2017-05-25 16:54:19 +09:00
Sebastien Lorquet
c9dc1d928d network IOCTL commands: The only place in net/netdev/netdev_ioctl.c where the interface state should change is for SIOCSIFFLAGS. the other ones .. SIOCSIFADDR, SIOSLIFADDR, SIODIFADDR .. should not change the link state. 2017-05-19 10:04:57 -06:00
Masayuki Ishikawa
0260891c96 net procfs: Fix buffer corruption and refactor netdev_statistics.c
Signed-off-by: Masayuki Ishikawa <masayuki.ishikawa@gmail.com>
2017-05-19 06:09:06 +09:00
Masayuki Ishikawa
980b17d951 IPv6: Fix net_ipv6_pref2mask()
Signed-off-by: Masayuki Ishikawa <masayuki.ishikawa@gmail.com>
2017-05-18 20:26:24 +09:00
Gregory Nutt
56c8456ff0 Update some comments. 2017-05-16 07:38:57 -06:00
Gregory Nutt
914c5dad0c TCP: An RST recevied suring the 3-way handshake requires a little more clean-up 2017-05-15 08:10:43 -06:00
Gregory Nutt
aa57fb159d TCP: Send RST if applicaiton 'unlistens()' before we complete the connection sequence. 2017-05-14 13:30:59 -06:00
Gregory Nutt
8acfea1197 Fix some typos 2017-05-14 12:14:31 -06:00
Gregory Nutt
d339ba9e0e TCP: Fix some potential error conditions that could result from deferring the connection until the full 3-way handshake has completed. 2017-05-14 10:56:25 -06:00
Simon Piriou
8dc7f6d79e tcp: wait for 3-Way Handshare before accept() returns 2017-05-14 09:08:32 -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
Anthony Merlino
806dcd9a47 wireless/ieee802154: Brings closer to Nuttx coding style 2017-05-09 17:20:57 -04: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
18eaf52e35 6loWPAN: packet meta data does not need to be a global variable 2017-05-08 10:56:35 -06:00
Gregory Nutt
d785893a65 Update some comments. 2017-05-07 16:58:49 -06:00
Gregory Nutt
c318072084 6loWPAN: Minor cleanup and re-verification of all compression modes after so menay recent changes. 2017-05-06 14:24:06 -06:00
Gregory Nutt
e072069e2d 6loWPAN: Remove usage of the now non-existent msdu_length field. 2017-05-06 06:48:06 -06:00
Gregory Nutt
0eb7ec046e 6loWPAN: Use information in struct ieee802154_data_ind_s when reassembling a packet 2017-05-05 11:36:16 -06:00
Gregory Nutt
95bacb6a34 6loWPAN: Some fixed to get a clean compile after last big changes to the radio IOCTLs. 2017-05-05 10:00:18 -06:00
Anthony Merlino
dd40014279 wireless/ieee802154: Removes radio IOCTL. Starts bringing radio and MAC closer with well-defined interface. 2017-05-05 11:15:38 -04:00
Gregory Nutt
14fc1b2d39 6loWPAN: Local MAC address is fixed by the configuration. The remote address be with short or extended. 2017-05-04 19:17:38 -06:00
Gregory Nutt
128936d9a6 6loWPAN: Design simplications; also remove unused utility function. 2017-05-04 17:16:45 -06:00
Gregory Nutt
d385f46130 6loWPAN: The last vestiges of MAC header generate stripped out. 2017-05-04 13:19:11 -06:00