Gregory Nutt
33d95bdcee
Networking: Hook in ICMPv6 polling operations into periodic network logic
2015-01-19 15:51:40 -06:00
Gregory Nutt
2fd334432c
Networking: Fix to ICMPv6 logic: Needs to set source and destination address in the Ethernet header
2015-01-19 14:57:55 -06:00
Gregory Nutt
6d901e4d8b
Networking: Costmetic changes
2015-01-19 14:56:35 -06:00
Gregory Nutt
13149536f2
Networking: Update ICMPv6 message numbers
2015-01-19 14:04:16 -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
ce75017d7c
Networking: net/neighbor/Make.defs was not being included by Makefile
2015-01-19 10:36:22 -06:00
Gregory Nutt
adc91965ed
NSH library: Disable put and get commends of TFTP client is not enabled; disable wget command if web client is not enabled
2015-01-19 10:32:46 -06:00
Gregory Nutt
2842b5c5d6
Networking: Fix some problems with debug is enabled; fix a warning
2015-01-19 10:16:37 -06:00
Gregory Nutt
59c0757183
Fix a few more dangling IPv6 issues found by code inspection
2015-01-18 10:33:27 -06:00
Gregory Nutt
eb3c6e8390
Networking: Some fixes for compilation when both IPv4 and IPv6 are enabled
2015-01-18 09:23:22 -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
ea52bda8f9
Networking: Add IPv6 suppport to TCP application level sending logic
2015-01-17 18:18:19 -06:00
Gregory Nutt
d8b046f2fb
Networking: Fix a simple IPv6 compile error
2015-01-17 17:48:15 -06:00
Gregory Nutt
2a2c925259
Merge remote-tracking branch 'origin/master' into ipv6
2015-01-17 17:08:22 -06:00
Gregory Nutt
86f617cc88
Networking: Straighten up use if IPv6/IPv4 in TCP connection logic
2015-01-17 17:07:54 -06:00
Gregory Nutt
cfbe12adb2
Networking: Fix some errors detected by Travis in configuration that have TCP on and UDP off and vice versa
2015-01-17 17:00:19 -06:00
Gregory Nutt
b187b4f381
Networking: Straighten up use if IPv6/IPv4 in TCP connection logic
2015-01-17 15:17:35 -06:00
Gregory Nutt
b80cdb3880
Fix a few warnings introduced with the last commit
2015-01-17 14:25:40 -06:00
Gregory Nutt
f7681dbb43
Networking: Detangling IPv6/4 logic in UDP connection structures
2015-01-17 14:13:56 -06:00
Gregory Nutt
94f9312150
Networking: Save the IP domain in the connection structure
2015-01-17 13:07:48 -06:00
Gregory Nutt
4a0eb1f0b1
Networking: Calculation of TCP and UDP checksums differ with IPv4 and IPv6
2015-01-17 12:31:39 -06:00
Gregory Nutt
e2933ca4cc
Networking: Oops. Forgot to add a couple of files that were part of an earlier commit
2015-01-17 09:35:27 -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
4ad5998db3
net/socket and net/tcp: When we are ready to receive data or when we have outgoing data ready to be sent, we need to the notify the appropriate device driver of this condition. The notifying socket will be configured as either PF_INET or PF_INET6 and must look up the correct driver using the correct IP domain.
2015-01-17 08:33:14 -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
8f8259a0d6
Networking: UDP and TCP MSS depends on the IP header size (as well as the link layer header size) and cannot be represented with a single value.
2015-01-16 15:03:10 -06:00
Gregory Nutt
2663538b0a
Networking: Replace all references to the macros net_ipaddr_copy, net_ipaddr_hdrcopy, net_ipaddr_cmp, net_ipaddr_hdrcmp, and net_ipaddr_maskcmp with the appropriate IPv4 or IPv6 version of the macro (such as net_ipv4addr_copy). The goal is to support both IPv4 and IPv6 simultaneously. This requires that the macros be distinct and not conditionally defined to one on or the other.
2015-01-16 13:01:08 -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
fe8b3c5220
Networking: More detangling of IPv6 logic. Next steps will be more invasive and will get moved to a branch
2015-01-16 08:51:18 -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
60e50ff3b5
Networking: More IPv6 detanglement
2015-01-15 13:08:28 -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
a49f0231d2
Networking: A few more IPv6-related fixes
2015-01-14 18:34:28 -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
99a18c84ff
Networking: Remove all logic conditioned upon IPv6 from the net/icmp/directory
2015-01-14 14:47:40 -06:00
Gregory Nutt
fcd65e9d7d
Networking: Make a home for ICMPv6
2015-01-14 14:26:50 -06:00
Gregory Nutt
7d68c22d7f
Networking: Add support for IPv6 ioctls
2015-01-14 13:03:12 -06:00
Gregory Nutt
babe9cf08e
Network: Add an IPv4 configuration option. Hardcoded to =y for now, but I would like to be able to select IPv4 and/or IPv6 in the future
2015-01-14 10:51:09 -06:00
Gregory Nutt
a6a9452c05
net/tcp/tcp_conn.c: Fix a logic error when CONFIG_NETDEV_MULTINIC is selected: net_unlock(flags) will be called will an uninitialized variable (2015-01-03).
2015-01-02 12:03:08 -06:00
Gregory Nutt
1aa528a572
More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs.
2014-11-25 14:10:35 -06:00
Gregory Nutt
6a3a2f466c
Update comments and README
2014-11-24 07:25:40 -06:00
Gregory Nutt
8de38d719a
Fix included IPv6 file name
2014-11-24 07:25:03 -06:00
Gregory Nutt
aa9700c1ab
Update comments and read me
2014-11-23 12:52:18 -06:00
Gregory Nutt
b36dbe1d89
Add logic to netdev_findbyaddr() to return the correct network device for the case where a broadcast address is used. This change caused trivial ripples through other files because additional parameters are required for netdev_findbyaddr() when CONFIG_NET_MULTINIC
2014-11-23 11:00:22 -06:00
Gregory Nutt
43d036f587
Network routing: Refuse to perform routing table lookups for the Broadcast IP address. From Brennan Ashton
2014-11-23 08:36:34 -06:00