Gregory Nutt
803235ad4b
IP forwaring: Rename some files to get closer to other naming conventions.
2017-07-07 18:45:58 -06:00
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
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
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
Gregory Nutt
e4e6181098
net/: IEEE 802.15-4 basic build build structure.
2016-02-25 10:43:51 -06:00
Gregory Nutt
0fb035f76b
Standardize some naming in code section comments
2016-02-21 18:09:04 -06:00
Gregory Nutt
0554de6c50
Networking: Simply devif_timer; Consolidate duplicated devif_poll logic
2016-02-05 07:36:07 -06:00
Gregory Nutt
b5024263e9
Networking: Add a trivial cast
2016-02-03 18:12:19 -06:00
Gregory Nutt
41164740a5
Network: Improve half-second conversion
2016-02-03 13:08:19 -06:00
Gregory Nutt
dea24c503a
Networking: Remove the HSEC argument from devif_timer.
2016-02-03 12:12:41 -06:00
Gregory Nutt
6af3ba78b9
Remove CONFIG_NET_PINGADDRCONF. This was a uIP way of assigning IP addresses, but is not standard and not a appropriate feature in general.
2015-12-01 07:48:56 -06:00
Gregory Nutt
6209c51206
net/: More clean-up of spacing/alignment issues
2015-10-08 15:10:04 -06:00
Gregory Nutt
af086c40ff
Remove dangling whitespace
2015-10-04 15:28:54 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Gregory Nutt
3bcdb218ff
Networking: Get rid of the tcp_mss macro. It is confusing and only obfuscates what is really going on
2015-08-27 08:39:17 -06:00
Gregory Nutt
8f7752d956
Networking: Modify how callback structures are stored to avoid another potential use of a stal pointer.
2015-06-03 08:11:57 -06:00
Gregory Nutt
a47a0d237c
Costmetic changes to networking logic
2015-05-31 10:29:53 -06:00
Gregory Nutt
6687e156e6
Revamp last change. IFF_UP only required when allocating callback, not freeing.
2015-05-30 21:13:58 -06:00
Gregory Nutt
04a661a97c
TCP networking: Add support for network driver events
2015-05-30 09:12:27 -06:00
Gregory Nutt
ab50e9d04d
Networking: Get rid of g_ipv4_allzeroaddr and g_ipv4_alloneaddr. It is more efficient and more intuitive to use INADDR_ANY and INADDR_BROADCAST
2015-05-29 15:16:11 -06:00
Gregory Nutt
0bdf2d5360
UDP Networking: Misc fixes to get the last changes working + cleanup
2015-05-29 14:32:56 -06:00
Gregory Nutt
f10fdf7ad4
Networking: Add a test to see a device pointer is still valid
2015-05-29 11:01:03 -06:00
Gregory Nutt
4747c04c94
Trivial correction to some comments
2015-05-28 19:43:35 -06:00
Gregory Nutt
e81f279315
Networking: Modify event list handling: Now there are two event lists each device structure: (1) One is for ARP and ICMP data related evetns, the other is for device related events. Callback allocation/free routines no accept a device paramter as well as a list: If the device paramter is added, then the callback goes into both the connection-related liast AND the device event list. Thus each socket type can received both custom data-related events as well as common device related events.
2015-05-28 12:01:38 -06:00
Gregory Nutt
3260db7dbe
Reorder some network events bitset to make the event class clearer
2015-05-28 08:55:36 -06:00
Gregory Nutt
4fd0192a3e
Networking: No that ARP, ICMP, and ICMPv6 reside in the same list we need to make the definitions of ARP_POLL, ICMP_POLL, and ICMPv6_POLL different because there are small differences in the context for each.
2015-05-27 15:04:51 -06:00
Gregory Nutt
b94321cfb4
Extend device specific callbacks to ICMPv6 and ARP. Fix some IPv6 compilation errors that have crept in
2015-05-27 11:39:44 -06:00
Gregory Nutt
8ecb84ed89
Improve icmp handling if MULTINIC enabled. From Max Neklyudov
2015-05-27 09:26:00 -06:00
Gregory Nutt
7a745c3fa4
Use common macro(s) for calculating link layer header length. From Brennan Ashton.
2015-04-13 13:53:13 -06:00
Gregory Nutt
10cf7e9634
Make some conditional compilation consistent
2015-02-05 14:26:11 -06:00
Gregory Nutt
c7f71c99a5
Networking: Changes need to build ICMPv6 'router' configuration on STM32 with network debug enabled
2015-02-05 11:47:56 -06:00
Gregory Nutt
da1d1d7139
ICMPv6: Add option to send Router Advertisement Messages.
2015-02-05 09:28:00 -06:00
Gregory Nutt
6f3f43d930
IPv6: Add a netmaks for the local link address
2015-02-05 05:43:57 -06:00
Gregory Nutt
24d800398e
Networking: Break out Ethernet definitions into a separate file; add IPv6 multicast addresses as common globals, Ethernet drivers need to filter link-local, all nodes Ethernet address
2015-02-04 14:51:20 -06:00
Gregory Nutt
66f0198e3f
Networking: Add support for sending ICMPv6 Router Solicitation and receiving Router advertisement. This is a part of the ICMPv6 auto-configuration logic is still still not complete
2015-02-03 13:25:28 -06:00
Gregory Nutt
a07a764d42
ICMPv6: Adds basic logic to support verification that we have the IPv6 address in the Neighbor Table. This feature is important because otherwise the first packet sent to a remote peer will fail (it will be replaced with a Neighbor Solicitation).
2015-02-02 13:44:31 -06:00
Gregory Nutt
b1b8c0e47d
IPv6: More framework for automatic neighbor solicition. I think this also corrects and error in a broadcast/multicast address chedk
2015-02-02 11:34:51 -06:00
Gregory Nutt
3385082b99
IPv6: Remove an unusd file (kruft from original IPv6 develoment); Add inital hooks to support automatic Neighbor Solitication
2015-02-02 10:49:50 -06:00
Gregory Nutt
c250c97186
Unix domain: More fixed to build without Ethernet or Slip
2015-01-27 14:26:10 -06:00
Gregory Nutt
f4bb7f14e1
Networking: Clean up network status collection and presentation for IPv6
2015-01-24 08:26:12 -06:00
Gregory Nutt
96a53254dd
Some minor clean-up of IPv4/6 flags
2015-01-24 07:29:43 -06:00
Gregory Nutt
e5d1ff373b
Networking: IPv4 and IPv6 work together. This fixes a bug necessary to accomplish that as well as cleaning up a couple of other issues
2015-01-23 16:40:18 -06:00
Gregory Nutt
e02ced8c98
Networking: Final fixes. IPv6 pings now work in both directions
2015-01-23 15:10:47 -06:00
Gregory Nutt
8e844a3c27
Networking: Various bugfixes related to IPv6 ping
2015-01-23 14:40:09 -06:00
Gregory Nutt
30f0a942e1
Networking: First cut at ICMPv6 ping logic
2015-01-23 14:06:08 -06:00
Gregory Nutt
109c7c7437
Networking: Clean up IPv6 Neighbor Table logic
2015-01-20 12:31:56 -06:00
Gregory Nutt
d68cd0d8de
Networking: Update ICMPv6 logic to RFCs
2015-01-20 11:06:51 -06:00
Gregory Nutt
aec4528882
Cosmetic standardization of some naming in comments
2015-01-19 16:02:56 -06:00
Gregory Nutt
33d95bdcee
Networking: Hook in ICMPv6 polling operations into periodic network logic
2015-01-19 15:51:40 -06:00
Gregory Nutt
bd3d26ccd7
Networking: Fix an IPv6 bug: Wrong network byte order in comparison
2015-01-19 13:21:26 -06:00