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
Gregory Nutt
f7663ef0ab
Networking: Final detangle off IPv4 and IPv6 TCP/UDP send logic. The Networking subsystem now compiles with IPv6 enabled
2015-01-18 08:56:05 -06:00
Gregory Nutt
820509eadc
Networking: Fix accept() so that it returns the correct IP address for the selected socket IP domain.
2015-01-17 09:27:05 -06:00
Gregory Nutt
2c251d845c
include/net/if.h: Add a bit to the device flags to indicate if the device packet buffer holds an IPv4 or an IPv6 domain packet. Set/clear the flag along with the correct offset to the application payload data as each packet is received.
...
net/socket, net/tcp, net/udp: Add logic to select the domain of the outputgoing packet before sending any UDP or TCP packet. This sets the bit to indicate the IPv4 or IPv6 domain and the correct offset to the output going payload data.
2015-01-17 07:42:09 -06:00
Gregory Nutt
88a0e82934
Networking: Remove field d_sndata from the device structure. It is the same as d_appdata and unnecessary
2015-01-17 05:59:13 -06:00
Gregory Nutt
0f364f6ae6
Networking: Move net/ipv6 to net/neighbor
2015-01-16 16:49:48 -06:00
Gregory Nutt
5e938941a6
Networking: Replace all references to net_ipaddr_t with either in_addr_t on net_ipv6addr_t. The goal is to support both IPv4 and IPv6 simultaneously. This requires that the two types be distinct and not conditionally typedef'ed to net_ipaddr_t.
2015-01-16 12:30:18 -06:00
Gregory Nutt
bee89be4f4
Networking: Drivers can have both IPv4 and IPv6 addesses, but a socket can only only one or the other; The socket connnection structures need to include a union of IPv4 and IPv6 addresses for the local address binding and for the remote address connections
2015-01-16 10:01:54 -06:00
Gregory Nutt
5b45605991
Clean a few more IPv6 compilation issues; Add implementation of net_ipv6_maskcmp()
2015-01-15 15:55:52 -06:00
Gregory Nutt
630366272a
Networking: Seperate tcp_input() and udp_input() into seprate functions tcp_ipv4_input(), tcp_ipv6_input(), udp_ipv4_input(), and upd_ipv6_input() than can deal will the data offsets caused by the differing sizes of the IP header.
2015-01-15 15:06:46 -06:00
Gregory Nutt
5a441ce03b
Networking: Misck IPv6 detanglement
2015-01-15 12:19:44 -06:00
Gregory Nutt
89538ac4a2
- Rename devif_input() ipv4_input()
...
- Copy net/devif/devif_input.c to ipv6_input.c. Remove all IPv4-specific logic.
- Rename net/devif/devif_input.c to ipv4_input.c. Remove all IPv6-specific logic
- Split IPv4 header structure out as net_ipv4hdr_s from net_iphdr_s
2015-01-15 08:03:56 -06:00
Gregory Nutt
a7ce1279f9
Networking: (1) Copied all ICMP sources files to net/icmpv6 with proper renaming and removal of IPv4 logic, (2) remove IPv6 logic from files in net/icmp, (3) copied include/nuttx/icmp.h to icmpv6.h and removed IPv4 specific logic, (4) removed all IPv6 logic from icmp.h, (5) IP_HDRLEN became IPv4_HDRLEN and IPv6_HDRLEN, (6) ip_chksum() became ipv4_chksum() and ipv6_chksum(), and (7) added partial support for ICMPv6 statistics.
2015-01-14 16:10:38 -06:00
Gregory Nutt
8de38d719a
Fix included IPv6 file name
2014-11-24 07:25:03 -06:00
Gregory Nutt
c64cb19861
Move IP header flags from tcp.h to ip.h and rename IP_FLAGS vs TCPFLAGS. The problem fixed here is that there IP flags were not available when TCP was disabled. The IP flags are used in ICMP and IGFMP
2014-11-17 17:16:46 -06:00
Gregory Nutt
2340d46d20
Rename NET_LL_MTU to NET_DEV_MTU; rename d_llmtu to d_mtu
2014-11-16 10:42:19 -06:00
Gregory Nutt
859748a94e
Completes conversion of CONFIG_NET_BUFIZE to CONFIG_NET_ETH/SLIP_MTU
2014-11-16 09:22:38 -06:00
Gregory Nutt
2e55db369d
Network: All logic will now handle varialbe length link layer protocol headers within incoming packets. This permits use of multiple network interfaces with differing data links. For example, ETHERNET + SLIP
2014-11-15 13:13:23 -06:00
Gregory Nutt
548fda7834
arp_poll(): inished the implementation of logic to send ARP requests. Complete, fully hooked into the networking logic, and ready for test (but still untested)
2014-08-18 15:24:51 -06:00