Commit Graph

218 Commits

Author SHA1 Message Date
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
hidnplayr
7ce53df3a1 Fixed bugs in new ARP code and TCP_output.
git-svn-id: svn://kolibrios.org@3602 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-05 00:44:59 +00:00
hidnplayr
c0fe9dddf7 Improved loopback device, separate ARP tables for every interface, added arpstat functionality to netstat, preparing zeroconf to work on multiple interfaces, improved API (fn 76, fn 74), fixed some bugs.
git-svn-id: svn://kolibrios.org@3601 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-05 00:21:20 +00:00