Commit Graph

1191 Commits

Author SHA1 Message Date
Gregory Nutt
7258f1cbfc IP forwarding: Move to separate directory. A few fixes from early testing; In TUN driver, do all polling on worker thread. Otherwise, the stack gets very deep. 2017-07-07 18:33:06 -06:00
Gregory Nutt
99ef7c6669 IP forwarding: A few fixes from early testing; In TUN driver, do all polling on worker thread. Otherwise, the stack gets very deep. 2017-07-07 17:33:44 -06:00
Gregory Nutt
b29c99fa6f Move TUN ioctl commnd to include/nuttx/net/ioctl.h so that it will always be unique. It a error in netdev_register: it was not handling device names properly when TUN is the only network device. 2017-07-07 13:03:04 -06:00
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