Gregory Nutt
33085cb309
Networking: The network device list was protected by a re-entrant semaphore. With the recent change to support network device callback, the network stack needs to access the network device list too. Some drivers, however, run the network stack from the interrupt level -- this is bad but a fact in the current state. Of course,those drivers are unable to take the semaphore and will assert.
...
The solution here is to eliminate the device devices semaphore altogether. This eliminates netdev_semtake() and netdev_semgive() and replaces them with net_lock() and net_unlock() which have larger scope as needed for this purpose.
2015-05-31 08:34:03 -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
5337176cdf
Networking: setsockopt() fails when setting timeouts to values less that an 100 msec. That is because the timeout is limited to stops of 1 decisecond and because the conversion of structure timeval was truncating the microsecond remainder. The utility net_timeval2dsec now accespts and option to determin how it handles the remainder: truncate, discarding the remainder, use the remainder to round to the closed decisecond value, or use any non-zero remainder to the next larger whole decisecond value.
...
For the setsockopt() case, it will always use the final option. This means that a time of zero (i.e., not timeout) can only occur if the value zero was explicated provided to setsockopt().
2015-05-29 07:17:15 -06:00
Gregory Nutt
d6704a1cd7
Suffer the consequences of moving struct timeval to its correct location
2015-02-15 15:18:35 -06:00
Gregory Nutt
559f1ef825
Networking: Clean up and consolidate some clunky stuff by adding new net_timedwait() function
2015-02-09 07:50:10 -06:00
Gregory Nutt
252802d1cd
Remove inclusion of some un-necessary header files.
2015-02-06 08:50:53 -06:00
Gregory Nutt
3e6705b526
IPv6: Separate function that converts prefix lengths to a netmask
2015-02-06 08:11:09 -06:00
Gregory Nutt
f4ce875711
Networking: Fix issues with UDP packet length and checksum calculations when IPv6 is selected
2015-01-23 09:33:18 -06:00
Gregory Nutt
c77426e550
Cosmetic changes to comments; refresh configuration
2015-01-22 14:46:36 -06:00
Gregory Nutt
6175e9eec5
Networking: Correct the value returned by accept() in the case where net_lockingwait() is called. It was returning -1 and losing the errno value. Noted by Rony Xln
2015-01-22 06:51:31 -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
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
4a0eb1f0b1
Networking: Calculation of TCP and UDP checksums differ with IPv4 and IPv6
2015-01-17 12:31:39 -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
5b45605991
Clean a few more IPv6 compilation issues; Add implementation of net_ipv6_maskcmp()
2015-01-15 15:55:52 -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
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
caba61999a
Remove CONFIG_DISABLE_CLOCK
2014-08-07 12:35:24 -06:00
Gregory Nutt
d392be6f73
NET: Oops. Forgot to add a file before committing
2014-07-05 15:21:13 -06:00
Gregory Nutt
811668cf15
NET: Move most of the contents of include/nuttx/net/igmp.h moved to net/igmp/igmp.h
2014-07-05 15:15:40 -06:00
Gregory Nutt
c5fc24e110
NET: Standardize naming of all protocal header lengths
2014-07-05 13:04:48 -06:00
Gregory Nutt
60246e613b
NET: emoved all includes of uip.h; added includes of ip.h wherever needed. Tried to fix problems of the now missing sneak inclusions because uip.h was removed. There are probably a few of these that were missed.
2014-07-04 19:13:08 -06:00
Gregory Nutt
0bb153b8cb
Remove all inclusion of uip.h
2014-07-04 16:58:22 -06:00
Gregory Nutt
a6b39d1879
NET: in-progress change... don't use
2014-07-04 16:38:51 -06:00
Gregory Nutt
cce35ce975
NET: More renaming
2014-07-04 15:40:49 -06:00
Gregory Nutt
0526aefb4e
NET: Rename g_uipsem to g_netlock
2014-07-01 18:21:25 -06:00
Gregory Nutt
899dc193ca
NET: Renaming of IP address types
2014-06-29 12:22:50 -06:00
Gregory Nutt
5ac94ff988
Fixes for networking and tiny webserver from Max
2014-06-29 09:30:09 -06:00
Gregory Nutt
c179369a47
Rename static functions from uip_* to something more appropriate. Globally scoped functions will take more work
2014-06-28 19:26:16 -06:00
Gregory Nutt
76fa58ee00
Move all socket-related files from net/ to net/socket. Move net/net.h to net/socket/socket.h
2014-06-28 17:25:18 -06:00
Gregory Nutt
64c8dba8c4
NET: Create net/sockets directory and hook into the build/configuration system
2014-06-28 16:41:55 -06:00
Gregory Nutt
50b749a636
Clean-up naming associated with network checksums
2014-06-27 17:51:32 -06:00
Gregory Nutt
fce2a79abd
Rename uip_driver_s net_driver_s
2014-06-27 16:48:12 -06:00
Gregory Nutt
d30217eb63
Move net/uip/uip_checksum.c to net/utils/net_chksum.c; fix missing Make.defs include in net/Makefile
2014-06-27 15:42:21 -06:00
Gregory Nutt
64ba574ecc
Move files to net/utils; make appropriate name changes, most for uip_lock to net_lock
2014-06-26 14:23:21 -06:00