Commit Graph

166 Commits

Author SHA1 Message Date
hidnplayr
46d92cd305 Cleanup in TCP, fixed possible deadlock in TCP_input.
git-svn-id: svn://kolibrios.org@3275 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-26 20:17:02 +00:00
hidnplayr
4fe36c5853 Fixed bugs in TCP (crash when closing socket, crash when responding to segment that has no socket)
git-svn-id: svn://kolibrios.org@3270 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-24 17:12:10 +00:00
hidnplayr
7eb55c9625 Unblock a blocked socket before closing it.
git-svn-id: svn://kolibrios.org@3267 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-24 09:45:53 +00:00
hidnplayr
6b57089391 separate thread and process ID's for sockets.
git-svn-id: svn://kolibrios.org@3264 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-23 16:38:26 +00:00
hidnplayr
67f8bac00f PID fix for SOCKET_pair function.
git-svn-id: svn://kolibrios.org@3261 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-23 08:57:51 +00:00
hidnplayr
d12cb9e707 Re-applied some changes concerning local sockets. They were reverted by accident.
git-svn-id: svn://kolibrios.org@3259 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-19 17:06:46 +00:00
hidnplayr
89bfe5f5d6 Better blocking sockets, preparing for some API changes.
git-svn-id: svn://kolibrios.org@3257 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-19 16:56:54 +00:00
hidnplayr
4bceec50e4 Fixed some bugs with non-blocking local sockets.
git-svn-id: svn://kolibrios.org@3253 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-17 20:39:37 +00:00
hidnplayr
629fb2b3e1 Better TCP timestamp, fixed stack corruption if PAWS fails.
git-svn-id: svn://kolibrios.org@3252 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-17 19:43:01 +00:00
hidnplayr
72f758c218 Changed some debug output messages (and their levels) in new stack.
Implemented a queue for incoming TCP segments.

git-svn-id: svn://kolibrios.org@3251 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-17 17:58:53 +00:00
hidnplayr
e68a03adef Removed non-working debug level specific for network stack.
git-svn-id: svn://kolibrios.org@3249 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-17 16:37:08 +00:00
hidnplayr
2222c3412c Forgot to set the PID in previous revision.
git-svn-id: svn://kolibrios.org@3229 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-05 17:24:15 +00:00
hidnplayr
14019f31f8 New function Socket_pair for UNIX (IPC) sockets.
git-svn-id: svn://kolibrios.org@3228 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-05 17:15:09 +00:00
hidnplayr
2d54529003 ARP will now wait for reply/timeout if it needed to send an ARP request packet.
git-svn-id: svn://kolibrios.org@3203 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-28 13:11:35 +00:00
hidnplayr
a8ad5846a9 Updated API so applications can easily send ARP announcements, keep track of ARP conflicts.
Zeroconfig now supports padding option and sends ARP announcements if needed. Also some refactoring/cleanup.


git-svn-id: svn://kolibrios.org@3200 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-27 20:03:18 +00:00
hidnplayr
382dde4fed Added some experimental IPv6 code to net branch.
git-svn-id: svn://kolibrios.org@3185 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-18 14:32:05 +00:00
hidnplayr
d1a0247624 Fixed previous mistake.
git-svn-id: svn://kolibrios.org@3162 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-11 14:07:18 +00:00
hidnplayr
d0efc3d714 Actually release the TCP socket once it's closed.
git-svn-id: svn://kolibrios.org@3161 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-11 13:51:51 +00:00
hidnplayr
3341bc3ceb Refactored recent ARP code a bit.
git-svn-id: svn://kolibrios.org@3160 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-11 13:08:45 +00:00
hidnplayr
72dc4ba124 Kernel now automatically sends one gratuitous ARP once IP address has been set.
Also, fixed ARP stats.

git-svn-id: svn://kolibrios.org@3159 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-11 10:52:01 +00:00
hidnplayr
a62ea51291 Further fixing of ARP_add_entry. Now entries can be re-added if they were removed once before.
git-svn-id: svn://kolibrios.org@3148 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-12-31 14:21:41 +00:00
hidnplayr
f986b74d68 Fixed and simplified ARP_add_entry. (Previous versions worked only for one entry)
git-svn-id: svn://kolibrios.org@3147 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-12-31 13:04:38 +00:00
hidnplayr
2033224063 Added simple socket debugging tool.
Moved some TCP code to tcp_usreq.inc.

git-svn-id: svn://kolibrios.org@3146 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-12-30 20:31:11 +00:00
hidnplayr
949b920321 Added TCP_mss (max segment size) stub.
Bugfix in FTPD concerning data ports.

git-svn-id: svn://kolibrios.org@3144 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-12-29 22:22:10 +00:00
hidnplayr
14077f9230 Fixed TCP keepalive
git-svn-id: svn://kolibrios.org@3143 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-12-28 19:56:52 +00:00
hidnplayr
6e328be793 Fixed blocking in SOCKET_receive_tcp
git-svn-id: svn://kolibrios.org@2998 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-11-03 16:31:13 +00:00
hidnplayr
2d1db4c224 Experimental blocking sockets
git-svn-id: svn://kolibrios.org@2996 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-11-01 19:21:46 +00:00
hidnplayr
151ae82c14 Port numbers for TCP and UDP must be given in Big endian order now.
git-svn-id: svn://kolibrios.org@2995 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-11-01 12:33:15 +00:00
hidnplayr
8e79162d05 Getting ready for blocking sockets
git-svn-id: svn://kolibrios.org@2994 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-10-30 19:46:04 +00:00
hidnplayr
d55a5ca34c Bugfix in SOCKET_ring_read
git-svn-id: svn://kolibrios.org@2993 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-10-30 18:04:04 +00:00
hidnplayr
c287a04d42 UDP output now only updates stats if send didnt fail.
git-svn-id: svn://kolibrios.org@2980 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-10-07 13:23:30 +00:00
hidnplayr
5d0e172b95 Send all PPPoE control packets to PPPoE app.
git-svn-id: svn://kolibrios.org@2964 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-09-01 20:44:13 +00:00
hidnplayr
4f4c895724 Moved Link Control Protocol handler from kernel to application.
git-svn-id: svn://kolibrios.org@2962 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-31 10:28:24 +00:00
hidnplayr
05d2a70ed6 Basic LCP implementation, starting with echo request->reply
git-svn-id: svn://kolibrios.org@2961 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-30 20:32:29 +00:00
hidnplayr
7c750c97d3 Fixed some bugs in PPPoE implementation. Discovery works, now we need PPP-LCP.
git-svn-id: svn://kolibrios.org@2960 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-30 20:01:42 +00:00
hidnplayr
85a661d4e9 TCP_input: window is now stored as dword, data is now also received when header prediction failed.
git-svn-id: svn://kolibrios.org@2957 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-30 07:02:10 +00:00
hidnplayr
d3c3f6e418 implemented TCP_rangeset and TCP_set_persist
git-svn-id: svn://kolibrios.org@2955 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 20:48:45 +00:00
hidnplayr
c10e7c783c rewrote TCP option parser, added SACK, moved connection accepter to run before option parser.
git-svn-id: svn://kolibrios.org@2954 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 19:56:28 +00:00
hidnplayr
eaebc59a11 Enabled Requesting scale and timestamp by default.
git-svn-id: svn://kolibrios.org@2953 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 19:44:27 +00:00
hidnplayr
790b435709 Fixed scaling option in TCP_output
git-svn-id: svn://kolibrios.org@2952 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 19:30:47 +00:00
hidnplayr
dd4fcc8d94 Fixed timestamp option in TCP_output
git-svn-id: svn://kolibrios.org@2951 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 19:02:56 +00:00
hidnplayr
12409b31b0 Fixed bugs in PPPoE discovery
git-svn-id: svn://kolibrios.org@2950 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 18:37:10 +00:00
hidnplayr
57c5115037 Fixed bug in RTT measurement
git-svn-id: svn://kolibrios.org@2948 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 10:01:56 +00:00
hidnplayr
a033334ecb Added missing file
git-svn-id: svn://kolibrios.org@2947 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 09:33:50 +00:00
hidnplayr
688b249960 Added Protection Against Wrapped Sequence numbers (PAWS)
git-svn-id: svn://kolibrios.org@2946 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 09:29:57 +00:00
hidnplayr
51263819d7 Bugfixes for #2937 (receive window calculation).
Disabled interrupts while in TCP_input or TCP_output to prevent deadlock.

git-svn-id: svn://kolibrios.org@2942 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-27 22:47:10 +00:00
hidnplayr
b0b5a26dd8 Fixed some cases of terrible deadlock in TCP.
git-svn-id: svn://kolibrios.org@2940 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-27 19:19:53 +00:00
hidnplayr
cd0f28c5ce Fixed bug in socket_connect for TCP
git-svn-id: svn://kolibrios.org@2939 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-27 18:59:34 +00:00
hidnplayr
737f5cdfee Fixed a bug in the last commit
git-svn-id: svn://kolibrios.org@2938 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-27 18:49:49 +00:00
hidnplayr
ead0b600bf Beginning implementation of timestamps and Round Trip Time in TCP.
git-svn-id: svn://kolibrios.org@2937 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-27 13:55:15 +00:00