Commit Graph

574 Commits

Author SHA1 Message Date
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
Gregory Nutt
d2a323ca19 Back inclusion of ipv6.h 2014-11-22 13:26:27 -06:00
Gregory Nutt
dc7a45ecf8 Extensions to ECP conneciton structure for the case of multiple networks. See additional comments regarding the similar change for UDP 2014-11-22 10:46:37 -06:00
Gregory Nutt
fbd82712da Add a comment 2014-11-22 09:08:31 -06:00
Gregory Nutt
d76ed2cbc5 Fix UDP routing error in last commit 2014-11-22 09:08:06 -06:00
Gregory Nutt
251249a954 Back out a misconception about INADDR_ANY introduce with some previous commits 2014-11-22 07:55:45 -06:00
Gregory Nutt
80fc094734 Make tcp_listener static scope; it is not used outside of tcp_conn.c 2014-11-22 07:14:17 -06:00
Gregory Nutt
2c2b5e6738 Fix routing of muli-network UDP packets 2014-11-21 17:44:12 -06:00
Gregory Nutt
15c07e0d67 Network: Misc changes to UDP bind logic for the case of multiple networks 2014-11-21 17:00:08 -06:00
Gregory Nutt
4dd021f351 Some ideas for how port assignments might work with multiple network interfaces 2014-11-21 14:21:30 -06:00
Gregory Nutt
fbedc361bb File missed in previous commit 2014-11-21 14:19:36 -06:00
Gregory Nutt
735aa4289a Network: Add logic to get a default network device (for the case where are multiple devices). For INADDR_ANY 2014-11-21 14:14:39 -06:00
Gregory Nutt
d297b623b4 Network: Add a file of IPv6 globals 2014-11-21 14:10:25 -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
8b2b7afdae Update TODO; Cosmetic changes to comments 2014-11-17 15:34:50 -06:00
Gregory Nutt
57bcb28991 changes for clean build with Ethernet+SLIP 2014-11-16 11:27:53 -06:00
Gregory Nutt
38754a3466 Completes basic changes to support per-device/per-link TCP receive window size 2014-11-16 11:15:21 -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
ca7486d7f3 Add link MTU size to network device structure. 2014-11-16 08:49:14 -06:00
Gregory Nutt
51adb90e9a Network: Update SLIP configuration; Fix compile issues when building SLIP only 2014-11-15 14:36:49 -06:00
Gregory Nutt
daa94934eb Network: netdev_register() must assign the device name appropriately according to the link layer type 2014-11-15 14:21:11 -06:00
Gregory Nutt
08de18c1a6 Network: Various fixes for clean compile with both Ethernet and SLIP 2014-11-15 13:52:39 -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
a831ab21bc Merge remote-tracking branch 'origin/master' into llhdrlen 2014-11-15 10:04:49 -06:00
Gregory Nutt
ebb6fd1e9c Resove merge conflicts 2014-11-15 10:04:33 -06:00
Gregory Nutt
25d787ff12 Remove use of NET_LL_HDRLEN from net/arp logic. Use ETH_HDRLEN instead 2014-11-15 09:13:50 -06:00