Commit Graph

220 Commits

Author SHA1 Message Date
ashmew2
c23792822f TCP Fast ACK: Fix advertised window size
git-svn-id: svn://kolibrios.org@6913 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-05-30 16:41:35 +00:00
hidnplayr
e9dc6c5ab5 TCP: improved routing, connect.
git-svn-id: svn://kolibrios.org@6912 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-05-28 20:57:46 +00:00
hidnplayr
e15ba926dd UDP: Improved routing.
git-svn-id: svn://kolibrios.org@6911 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-05-28 20:55:31 +00:00
hidnplayr
3c9e868864 TCP_process_input: remember device number.
git-svn-id: svn://kolibrios.org@6910 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-05-28 20:50:33 +00:00
hidnplayr
f4e464bc8a Bugfix for TCP advertised window calculation.
git-svn-id: svn://kolibrios.org@6909 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-05-28 16:52:24 +00:00
ashmew2
caf7d0c041 Add a build script for Linux
git-svn-id: svn://kolibrios.org@6908 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-05-26 18:56:19 +00:00
ashmew2
03c47f08be Build script for linux
git-svn-id: svn://kolibrios.org@6907 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-05-26 18:43:39 +00:00
CleverMouse
2a755c9a3d on RST, close TCP connection but don't free the structure - owner process should know what happened
git-svn-id: svn://kolibrios.org@6710 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-11-14 12:30:05 +00:00
hidnplayr
af09dcd4b0 Fix TCP_RANGESET
git-svn-id: svn://kolibrios.org@6512 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-09-05 15:56:33 +00:00
hidnplayr
58663b49dd More comments and stats in TCP code.
git-svn-id: svn://kolibrios.org@6476 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-08-15 18:06:19 +00:00
hidnplayr
b4e2367e09 IPv4_route: bugfix in route determination.
git-svn-id: svn://kolibrios.org@6475 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-08-15 17:27:45 +00:00
hidnplayr
9d14a71733 TCP_output: update advertised receive window correctly
git-svn-id: svn://kolibrios.org@6474 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-08-15 17:25:50 +00:00
hidnplayr
6c4e2f8033 More descriptive constant names, reduced socket buffer size.
git-svn-id: svn://kolibrios.org@6413 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-04-30 21:15:55 +00:00
hidnplayr
69c414474f Broadcast does not need gateway.
git-svn-id: svn://kolibrios.org@6220 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-02-14 19:35:20 +00:00
hidnplayr
cbca315c7d IPv4: Dont crash when there is no route to host.
git-svn-id: svn://kolibrios.org@6122 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-02-01 19:43:10 +00:00
hidnplayr
c81c3fbd4f Cosmetical changes in network code, updated TCP timer code.
git-svn-id: svn://kolibrios.org@6011 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-12-27 15:37:31 +00:00
hidnplayr
0be26c4c22 Implemented TCP 2MSL (Timed-wait) timer.
Cleanup and various bugfixes in network code.

git-svn-id: svn://kolibrios.org@5976 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-12-16 21:20:53 +00:00
hidnplayr
7cff3aa25b Improved error handling in sockets code.
git-svn-id: svn://kolibrios.org@5969 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-12-15 21:54:06 +00:00
hidnplayr
b6883ee547 Improved RAW sockets. Added ability to set TTL thorugh setsockopt, Improved ping program.
git-svn-id: svn://kolibrios.org@5842 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-10-11 18:23:40 +00:00
hidnplayr
3315ff7280 Fixed stack corruption when TCP input queue is full.
git-svn-id: svn://kolibrios.org@5841 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-10-11 17:43:07 +00:00
hidnplayr
47d756fe2f Bugfixes to bind socket to device.
git-svn-id: svn://kolibrios.org@5584 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-07-20 11:13:42 +00:00
hidnplayr
042ae8524e bugfix in SOCKET_ring_create (stack corruption)
git-svn-id: svn://kolibrios.org@5566 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-06-01 21:44:10 +00:00
hidnplayr
a3a355b72d Disabled net_alloc/free debug info
git-svn-id: svn://kolibrios.org@5536 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-03-20 12:13:57 +00:00
hidnplayr
7928780e50 New network buffers - phase II (Use a static number of static sized pre-allocated buffers)
git-svn-id: svn://kolibrios.org@5528 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-03-18 13:40:27 +00:00
hidnplayr
8502d3d6db Fixed small bug introduced in SVN3601.
git-svn-id: svn://kolibrios.org@5524 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-03-17 22:32:21 +00:00
hidnplayr
b2cff15daa Kernel hack for i8255x devices is no longer needed. Corrected network buffer size.
git-svn-id: svn://kolibrios.org@5523 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-03-17 22:01:39 +00:00
hidnplayr
0ba1fff7a7 New network buffers - phase I
git-svn-id: svn://kolibrios.org@5522 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-03-17 21:50:29 +00:00
hidnplayr
b23bd6c7e3 Collect some more TCP statistics.
git-svn-id: svn://kolibrios.org@5442 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-02-21 15:07:30 +00:00
hidnplayr
7b10f06b00 SOCKET_receive: generate a new network event when we expect the caller to call back later.
git-svn-id: svn://kolibrios.org@5364 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-08 23:32:03 +00:00
Yogev Ezra
76a0cbdfe5 Change copyright year in kernel and drivers to 2015. No code changes.
git-svn-id: svn://kolibrios.org@5363 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-08 20:10:22 +00:00
Sergey Semyonov (Serge)
b4814c7084 kernel: update PTE bits
git-svn-id: svn://kolibrios.org@5356 a494cfbc-eb01-0410-851d-a64ba20cac60
2015-01-06 14:53:54 +00:00
hidnplayr
22d5b72b64 Dont crash on socket_fork when out of memory.
git-svn-id: svn://kolibrios.org@5155 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-11-01 18:27:28 +00:00
hidnplayr
c993fd46f8 Small changes in TCP_input
git-svn-id: svn://kolibrios.org@5133 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-09-19 19:02:34 +00:00
hidnplayr
e7360b0f51 Cleanup/small refactor of some internal network functions.
git-svn-id: svn://kolibrios.org@5015 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-08-02 12:48:32 +00:00
hidnplayr
ce330875f5 Moved TCP slow timer handler to separate thread, to avoid possible deadlocks.
git-svn-id: svn://kolibrios.org@5013 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-07-30 09:44:18 +00:00
hidnplayr
985e69de26 Disabled experimental PPPoE and IPv6 support by default.
git-svn-id: svn://kolibrios.org@5001 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-07-17 15:52:31 +00:00
CleverMouse
0727266021 fix kernel crash when TCP input queue is full
git-svn-id: svn://kolibrios.org@5000 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-07-17 15:44:18 +00:00
hidnplayr
0923c62681 IPv4: accept all destination addresses when we dont have one yet.
git-svn-id: svn://kolibrios.org@4976 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-06-15 12:00:30 +00:00
hidnplayr
eae21c4be3 Increased the max socket buffer size from 32k to 256k, for better network throughput on slower links.
git-svn-id: svn://kolibrios.org@4959 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-05-28 23:00:53 +00:00
hidnplayr
06df103c1c Fixed some debug output in ICMP_input procedure.
git-svn-id: svn://kolibrios.org@4892 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-04-24 17:34:09 +00:00
Marat Zakiyanov (Mario79)
da8c332884 Added the tag "Revision: XXXX" in some kernel files, to form the right number of revision at boot (blue boot screen).
git-svn-id: svn://kolibrios.org@4850 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-04-17 21:19:45 +00:00
hidnplayr
5ae0511a52 Fixed stack corruption on SOCKET_num_to_ptr error.
git-svn-id: svn://kolibrios.org@4574 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-02-18 19:42:18 +00:00
hidnplayr
bd53b16a76 Bugfix for SOCKET_alloc.
git-svn-id: svn://kolibrios.org@4535 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-27 10:27:38 +00:00
hidnplayr
91ae4fdcf8 More bugfixes for SOCKET_notify.
git-svn-id: svn://kolibrios.org@4528 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-25 13:14:23 +00:00
hidnplayr
6e6f7a23d3 Bugfix in SOCKET_notify.
git-svn-id: svn://kolibrios.org@4527 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-25 12:48:59 +00:00
hidnplayr
730070df44 Bugfix in SOCKET_block
git-svn-id: svn://kolibrios.org@4520 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-23 14:37:18 +00:00
hidnplayr
74965458e3 Bugfix for #4510
git-svn-id: svn://kolibrios.org@4511 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-22 15:09:05 +00:00
hidnplayr
006f9694b3 Make network queue spinlock protected instead of mutex-protected or worse: a combination of both..
git-svn-id: svn://kolibrios.org@4510 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-22 14:08:37 +00:00
hidnplayr
9a1dad1ca1 Disabled socket cleanup after process ends (until deadlock is fixed..)
git-svn-id: svn://kolibrios.org@4436 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-01-10 08:07:54 +00:00
hidnplayr
c42c7651f7 Disabled verbose network debug output.
git-svn-id: svn://kolibrios.org@4388 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-19 21:39:14 +00:00
hidnplayr
5e80cb25b3 Fixed typo in tcp_input.inc
git-svn-id: svn://kolibrios.org@4387 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-19 21:31:51 +00:00
hidnplayr
e2ec33712e TCP: correctly close connection.
git-svn-id: svn://kolibrios.org@4366 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-15 21:27:22 +00:00
hidnplayr
fe46d27eaf Bugfix in SOCKET_close for TCP
git-svn-id: svn://kolibrios.org@4365 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-15 18:30:19 +00:00
hidnplayr
bf755d6cbd TCP: advertise correct window, small updates and bugfixes
git-svn-id: svn://kolibrios.org@4347 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-13 12:20:53 +00:00
hidnplayr
5e7711d4f6 Bugfix in PAWS algorithm for TCP.
git-svn-id: svn://kolibrios.org@4344 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-12 11:32:03 +00:00
hidnplayr
d148603f7d Bugfixes in TCP.
git-svn-id: svn://kolibrios.org@4339 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-10 21:08:29 +00:00
hidnplayr
6680b2725e Fixed typo in ICMP. (Wrong stats were updated)
git-svn-id: svn://kolibrios.org@4335 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-12-08 14:37:39 +00:00
hidnplayr
5842e9f374 TCP_input: dont use conditional move instruction. (not available on some machines)
git-svn-id: svn://kolibrios.org@4296 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-11-26 17:00:13 +00:00
hidnplayr
2465fafb4e Bugfix in IPv4_input (for fragmented IPv4 packets)
git-svn-id: svn://kolibrios.org@4259 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-11-19 21:01:57 +00:00
hidnplayr
f9853cf87d Bugfix in IPv4_input (for fragmented IPv4 packets)
git-svn-id: svn://kolibrios.org@4258 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-11-19 20:40:18 +00:00
hidnplayr
29db36de54 Do not print message about unknown ethernet packet types, by default.
git-svn-id: svn://kolibrios.org@4256 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-11-19 18:58:46 +00:00
hidnplayr
c6d3f29329 SOCKET_receive: bugfixes, return 0 when remote end closed connection.
git-svn-id: svn://kolibrios.org@4219 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-11-12 20:05:57 +00:00
hidnplayr
fe0a297192 SOCKET_process_end: exit immediately if there are no active sockets.
git-svn-id: svn://kolibrios.org@4056 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-10-20 11:50:49 +00:00
hidnplayr
5bebe120f1 fixed #4052
git-svn-id: svn://kolibrios.org@4053 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-10-19 15:50:16 +00:00
hidnplayr
931a90c02d Some cleanup/refactoring of IPv4 code (preparing for routing)
git-svn-id: svn://kolibrios.org@4052 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-10-19 15:47:58 +00:00
hidnplayr
f39767f1f2 Bugfix in SOCKET_connect
git-svn-id: svn://kolibrios.org@4035 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-10-15 16:18:58 +00:00
hidnplayr
b99d839ce8 refactored SOCKET_connect
git-svn-id: svn://kolibrios.org@4030 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-10-15 10:35:08 +00:00
hidnplayr
e3504571ad SOCKET_connect: better error handling.
git-svn-id: svn://kolibrios.org@4025 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-10-14 07:08:51 +00:00
hidnplayr
8fe83f0f69 Cancel time-out timer if connection succeeded
git-svn-id: svn://kolibrios.org@4021 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-10-13 21:59:31 +00:00
hidnplayr
7cade993e9 kernel: wait 3 seconds for TCP connection to be established, timeout after that.
telnet: print error message when socket could not be opened.

git-svn-id: svn://kolibrios.org@4020 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-10-13 21:35:17 +00:00
hidnplayr
818a0e4636 Incoming packets are now handled in separate thread instead of directly by interrupt handler.
git-svn-id: svn://kolibrios.org@3982 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-10-07 20:53:02 +00:00
hidnplayr
3189551ee6 Fixing deadlock in SOCKET_process_end
git-svn-id: svn://kolibrios.org@3884 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-09-02 12:56:36 +00:00
hidnplayr
6a650a3fbd Bugfix for API 74, -1
git-svn-id: svn://kolibrios.org@3879 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-09-01 08:02:59 +00:00
hidnplayr
72f900e956 new function: NET_packet_free, i8255x driver should not cause problems anymore.
git-svn-id: svn://kolibrios.org@3861 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-08-07 13:13:29 +00:00
hidnplayr
66d1328706 Bugfixes in kernel related to forking of sockets.
git-svn-id: svn://kolibrios.org@3817 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-07-12 14:49:00 +00:00
hidnplayr
9f61003e5a Small bugfix in TCP_input for data when header prediction failed.
git-svn-id: svn://kolibrios.org@3756 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-07-04 10:15:03 +00:00
hidnplayr
b5b5e68553 Corrected IP source address for TCP_respond_segment
git-svn-id: svn://kolibrios.org@3752 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-07-03 12:45:34 +00:00
hidnplayr
e3b7958faa SOCKET_receive, return immediately when there is no data and SS_CANTRECVMORE is set.
Downloader: make better use of blocking sockets.

git-svn-id: svn://kolibrios.org@3737 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-30 23:08:53 +00:00
CleverMouse
65d0cef44b style fixes, no binary changes (style checker was sick for some time)
git-svn-id: svn://kolibrios.org@3711 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-26 23:35:43 +00:00
hidnplayr
41339ef767 Allow SO_NONBLOCK to be set in socket type on socket open (similar to linux)
git-svn-id: svn://kolibrios.org@3705 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-25 20:11:09 +00:00
hidnplayr
97c13d77de use blocking sockets by default.
git-svn-id: svn://kolibrios.org@3704 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-25 20:02:56 +00:00
hidnplayr
1ca5fecb5c Fixed alignment for data in network stack. Alqo, network queue uses a mutex now.
git-svn-id: svn://kolibrios.org@3698 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-24 11:39:05 +00:00
hidnplayr
a5c3784aca Fixed that horrible TCP kernel crash.
git-svn-id: svn://kolibrios.org@3697 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-24 10:47:25 +00:00
hidnplayr
f828457410 SOCKET_connect can now block if wanted.
git-svn-id: svn://kolibrios.org@3674 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-17 18:17:17 +00:00
hidnplayr
3e004fd364 Socket functions now return error code in ebx (bugfix)
git-svn-id: svn://kolibrios.org@3673 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-17 13:59:20 +00:00
hidnplayr
db0d887216 Return 0 in ebx when there is no error
git-svn-id: svn://kolibrios.org@3659 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-14 20:26:05 +00:00
hidnplayr
0192ef785b some socket functions now return error codes in ebx.
git-svn-id: svn://kolibrios.org@3658 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-14 20:14:35 +00:00
hidnplayr
52556729d6 Bugixes and improvements for closing TCP sockets.
git-svn-id: svn://kolibrios.org@3652 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-13 08:22:37 +00:00
hidnplayr
910527aadc Fix for previous revision
git-svn-id: svn://kolibrios.org@3648 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-12 10:53:22 +00:00
hidnplayr
3e584a778f Implemented global socket mutex.
git-svn-id: svn://kolibrios.org@3647 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-12 10:21:41 +00:00
hidnplayr
97a976fc9a SOCKET_close, free TCP socket after closing connection.
git-svn-id: svn://kolibrios.org@3646 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-12 09:06:59 +00:00
hidnplayr
819a12b8d2 Correct stats for TCP.
git-svn-id: svn://kolibrios.org@3644 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-11 11:11:26 +00:00
hidnplayr
2b3ee8e109 Correct stats for UDP and ICMP.
git-svn-id: svn://kolibrios.org@3643 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-11 10:46:29 +00:00
hidnplayr
2d3f4f397a Eth_input: allow frames smaller then 60 bytes.
git-svn-id: svn://kolibrios.org@3642 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-11 06:41:02 +00:00
hidnplayr
663c6adac5 More ARP bugfixes
git-svn-id: svn://kolibrios.org@3640 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-10 22:26:26 +00:00
hidnplayr
9246337d85 bugfixes in ARP and IPv4 code
git-svn-id: svn://kolibrios.org@3638 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-10 20:19:12 +00:00
hidnplayr
20ce7bf7bd bugfix in SOCKET_bind
git-svn-id: svn://kolibrios.org@3637 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-10 18:56:49 +00:00
hidnplayr
c30fb05dcc Loopback device now works with entire 127.0.0.1/8 range, and also keeps some stats.
git-svn-id: svn://kolibrios.org@3610 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-06 06:08:45 +00:00
hidnplayr
e395aa6070 bugfixes in ARP
git-svn-id: svn://kolibrios.org@3609 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-06 05:19:15 +00:00
hidnplayr
52893d0ce3 More timer bugfixes for TCP_output.
git-svn-id: svn://kolibrios.org@3603 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-05 00:53:57 +00:00