Gregory Nutt
91b762aa86
Networking: Fix an error that I introduced with my last review changes
2016-01-22 17:35:06 -06:00
Andrew Webster
5c589e5b9c
Net: use nlldbg since an iob can be added from an interrupt
2016-01-22 16:23:31 -06:00
Andrew Webster
5e3023bef1
TCP: return from write when there is no buffer space
...
During a write, if there is no more buffer space for the user data,
return the amount that was written instead of waiting until there
is free space. If nothing has been written yet, then block as before.
This solves a deadlock that occurs if the user data is too large to
fit in the available buffer: the write thread will block before any
data is added to the write queue, leaving no possibility that more
buffers will free up when they are ACKed (since they have not yet been
sent). The write thread will then block forever and hold all of the
buffers.
2016-01-22 16:19:20 -06:00
Andrew Webster
e221777a7a
TCP: post buffer semaphore before re-acquiring both
...
TCP uses two semaphores for buffers, one for the entire buffer pool,
and one for the number of allowed buffers for readahead. To avoid
double taking a semaphore under heavy load, release the semaphore
after waiting before trying to acquire both again.
2016-01-22 16:15:10 -06:00
Gregory Nutt
af086c40ff
Remove dangling whitespace
2015-10-04 15:28:54 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Gregory Nutt
a7e43c7fdb
Eliminate some warnings
2015-09-08 09:20:18 -06:00
Gregory Nutt
9c66bde5b0
Fix typo in pre-processor command noted by Pierre-noel Bouteville. Also move # of pre-processior command to column 1
2015-09-05 09:10:48 -06:00
Max Neklyudov
7d04104485
Networking: Allow receipt of empty UDP packets. From Max Neklyudov
2015-08-11 08:34:16 -06:00
Gregory Nutt
09c7373f24
Fix misc. compilation error/warning detected by tools/testbuild.sh
2015-07-01 14:33:37 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
8a380a084d
IOB Configuration: Default number of IOB changes must be more than zero is UDP read-ahead is enabled.
2015-02-10 06:25:55 -06:00
Gregory Nutt
c4bd6f52b5
Networking: The are issues with the TCP write-ahead buffering if CONFIG_NET_NOINTS is enabled: There is a possibility of deadlocks in certain timing conditions. I have not seen this with the Tiva driver that I have been users but other people claim to see the issue on other platforms. Certainly it is a logic error: The network should never wait for TCP read-ahead buffering space to be available. It should drop the packets immediately.
...
This was fixed by duplicating most of the IOB interfaces: The versions that waited are still present (like iob_alloc()), but now there are non-waiting verisons of the same interfaces (like iob_tryalloc()). The TCP read-ahead logic now uses only these non-waiting interfaces.
2015-01-27 21:23:42 -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
0abe6c66d7
Update everything under nuttx/net to use the corrected syslog interfaces
2014-10-08 10:48:11 -06:00
Gregory Nutt
4f60bfb485
IOB: Change suggested by Rony Xln
2014-07-08 07:13:50 -06:00
Gregory Nutt
178b2b0cbe
NET: Important fix to the read-ahead buffer queue managment: Consumed bytes were being trimmed from the head of the queue, but the queue head itself was not being updated. From Rony XLN
2014-07-07 07:28:17 -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
d6cf0f5703
Fix another place where sem_tryalloc may be called from the interrupt level. Thanks Manuel
2014-06-28 13:32:42 -06:00
Gregory Nutt
c3c8c86873
NET: Last tweaks were still in the editor
2014-06-28 11:56:48 -06:00
Gregory Nutt
3b81e58047
NET: Fix some errors in recent network I/O buffering when stack runs from interrupt level
2014-06-28 11:35:14 -06:00
Gregory Nutt
1a2bcebb4a
Clean up some networking configuration menus
2014-06-25 11:01:08 -06:00
Gregory Nutt
f57024406a
Clean up IGMP naming
2014-06-25 09:52:36 -06:00
Gregory Nutt
e2947c37a1
Forget to add a file in last commit
2014-06-24 15:46:10 -06:00
Gregory Nutt
fabcb6d37e
TCP Read-Ahead: Convert to use I/O buffer chains
2014-06-24 15:38:00 -06:00
Gregory Nutt
e9a588c398
Add throttle support to the I/O buffer logic
2014-06-24 11:53:19 -06:00
Gregory Nutt
718d9993e6
TCP write buffering: This corrects some of the basic transfer problems. But there are more
2014-06-23 17:31:30 -06:00
Gregory Nutt
30843cf46d
TCP write buffering: Add an offset to buffer dumping logic
2014-06-23 09:40:17 -06:00
Gregory Nutt
963f8f49c5
TCP write buffering: Add length to buffer dumping instrumentation
2014-06-23 07:31:55 -06:00
Gregory Nutt
6f1651d5f2
TCP write buffering: Extend and fix some buffer dumping logic
2014-06-22 18:53:18 -06:00
Gregory Nutt
d642616c5b
TCP write buffering: Fix an error in the trim logic
2014-06-22 16:25:26 -06:00
Gregory Nutt
579935bfc1
TCP write buffering: Correct handling of retry counter
2014-06-22 15:27:01 -06:00
Gregory Nutt
356d25b503
First cut at conversion of write-buffering to use I/O buffer chaings (IOBs)
2014-06-22 11:27:57 -06:00
Gregory Nutt
b8840dc6de
Cosmetic plus some configuration default changes
2014-06-12 13:32:07 -06:00
Gregory Nutt
96c6f34825
IOB: Remove private data. Not needed
2014-06-12 08:35:59 -06:00
Gregory Nutt
60306a16d7
IOB: remove flags
2014-06-09 13:54:47 -06:00
Gregory Nutt
893bded2e1
Those pesky carriage returns
2014-06-07 11:05:31 -06:00
Gregory Nutt
0f71ea26b1
IOB: Add iob_contig()
2014-06-07 11:01:13 -06:00
Gregory Nutt
a304a73608
IOB: Add queue handling interfaces; improve lists
2014-06-06 09:35:31 -06:00
Gregory Nutt
87917ae782
IOB: Minor improvement to trimhead
2014-06-06 06:23:13 -06:00
Gregory Nutt
fc9b45f39f
IOB: Fix bugs in trimming logic
2014-06-05 18:50:30 -06:00
Gregory Nutt
6a83cc5d17
Add iob_freechain
2014-06-05 13:26:38 -06:00
Gregory Nutt
7ef0fb1460
IOB: Add iob_clone()
2014-06-05 12:56:00 -06:00
Gregory Nutt
d6c1f0e526
IOB: Fix typo in debug assertion
2014-06-05 11:45:55 -06:00
Gregory Nutt
cbb26a9991
IOB: More clean based on change of the last commit
2014-06-05 11:39:17 -06:00
Gregory Nutt
c92645017b
IOB: Need to clone header when deleting the first entry in an I/O buffer chain
2014-06-05 11:19:00 -06:00
Gregory Nutt
3881bf6b5f
IOB: Remove unimplemented VLAN stuff; add unit test and fixes to pass unit test
2014-06-05 10:43:20 -06:00
Gregory Nutt
dad0da617a
Left out some changes in last commit
2014-06-04 12:03:29 -06:00
Gregory Nutt
67d5e8d154
NET: Improvied I/O buffer logic
2014-06-04 09:03:11 -06:00
Gregory Nutt
d10c3923a2
Add iob_copyin()
2014-06-03 14:28:16 -06:00