Commit Graph

187 Commits

Author SHA1 Message Date
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
hidnplayr
c2bc66096c Renamed some variables and constants in network code, removed NET_set_default function, improved TCP timers
git-svn-id: svn://kolibrios.org@3600 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-04 14:12:37 +00:00
CleverMouse
a77e7ee15d make macro for push imm/pop dst
git-svn-id: svn://kolibrios.org@3598 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-06-04 11:14:37 +00:00
hidnplayr
8e107a1443 Socket_receive: return -1 when socket is closed.
git-svn-id: svn://kolibrios.org@3565 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-05-29 11:46:06 +00:00
hidnplayr
e93a49b442 Disabled network debug output by default.
git-svn-id: svn://kolibrios.org@3556 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-05-28 19:19:23 +00:00
hidnplayr
e4cf34c0de Merge new network stack with trunk
git-svn-id: svn://kolibrios.org@3545 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-05-28 17:34:26 +00:00
CleverMouse
f059bc06d5 priorities in scheduler
git-svn-id: svn://kolibrios.org@3534 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-05-27 09:02:35 +00:00
CleverMouse
b7bd43fe91 do not flood logs with unrecognized network packets
git-svn-id: svn://kolibrios.org@3517 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-05-17 13:32:52 +00:00
CleverMouse
d324897069 r781 didn't fix all artefacts of r465
git-svn-id: svn://kolibrios.org@2577 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-04-06 18:31:43 +00:00
Marat Zakiyanov (Mario79)
2f699083c4 1) Correcting information about copiright
2) VESA draw the small speedup

git-svn-id: svn://kolibrios.org@2455 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-03-13 16:51:57 +00:00
hidnplayr
58fe32f210 Usage of struct.inc from fasm in trunk kernel.
git-svn-id: svn://kolibrios.org@2381 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-02-22 15:46:09 +00:00
hidnplayr
df1f1777ac Re-enabled i8255x card 1068:8086.
git-svn-id: svn://kolibrios.org@2307 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-11-12 14:09:30 +00:00
hidnplayr
dea41c44ce re-enabled rtl8139 card in trunk kernel, it was disabled by error in r1887
git-svn-id: svn://kolibrios.org@2306 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-11-09 20:03:39 +00:00
CleverMouse
037099f50d Style corrected for new rules, no semantic changes
git-svn-id: svn://kolibrios.org@2288 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-10-14 21:38:50 +00:00
Marat Zakiyanov (Mario79)
4db1abbe76 I very much hope that this is the last fix for r.2129. This revision makes me cry.
git-svn-id: svn://kolibrios.org@2208 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-09-17 23:08:48 +00:00
Marat Zakiyanov (Mario79)
59fc4ab346 tcp.inc: fix for r2129
git-svn-id: svn://kolibrios.org@2186 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-09-14 16:21:32 +00:00
CleverMouse
eca36f7ef4 socket.inc: fix for r2129
git-svn-id: svn://kolibrios.org@2147 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-09-02 19:48:37 +00:00
Sergey Semyonov (Serge)
246c135659 irq: reset fail counter
all kernel: replace old non-blocking mutexes

git-svn-id: svn://kolibrios.org@2129 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-08-27 10:59:48 +00:00
Yogev Ezra
62a811ce4f Linux name fix
git-svn-id: svn://kolibrios.org@1888 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-02-24 20:22:13 +00:00
hidnplayr
77f1a07bff R6040 driver for trunk kernel
git-svn-id: svn://kolibrios.org@1887 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-02-24 17:25:38 +00:00
hidnplayr
54bb530589 Added i8255x compatible card 1068:8086 to the network card list.
git-svn-id: svn://kolibrios.org@1734 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-01-14 21:38:58 +00:00
CleverMouse
baca7793c6 fix RTL8139 under qemu
git-svn-id: svn://kolibrios.org@1644 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-10-05 10:36:33 +00:00
Alexey Teplov (
abfe37adc4 small changes and optimization
git-svn-id: svn://kolibrios.org@1369 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-01-08 12:39:50 +00:00
tsdima
2beb55bd3a fix: reset connection by peer
git-svn-id: svn://kolibrios.org@1288 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-11-27 19:49:15 +00:00
Evgeny Grechnikov (Diamond)
f38c7eea18 fix for TCP connections not closing (from tsdima)
git-svn-id: svn://kolibrios.org@1284 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-11-24 16:45:05 +00:00
hidnplayr
d75cb497f8 3c59x driver fix
git-svn-id: svn://kolibrios.org@1280 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-11-22 15:36:45 +00:00
CleverMouse
373d7e9391 add support for more network cards to forcedeth driver
git-svn-id: svn://kolibrios.org@1194 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-10-04 11:07:25 +00:00
CleverMouse
27b928368a * slow work in TCP resending fixed
* TCP resend timeout increased to slightly more realistic value

git-svn-id: svn://kolibrios.org@1183 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-09-28 10:09:06 +00:00
CleverMouse
a864f1a57e * one check moved so that early received FIN packet does not eat tail of data
* changes in state of TCP socket now notify socket's owner

git-svn-id: svn://kolibrios.org@1181 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-09-27 11:48:00 +00:00
Alexey Teplov (
83e2f051b2 Set align 4 for subroutines in main loop.
git-svn-id: svn://kolibrios.org@1168 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-09-18 18:30:04 +00:00
CleverMouse
257b31bb6d zero local port for socket open means choosing by the kernel
git-svn-id: svn://kolibrios.org@1154 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-09-09 11:31:04 +00:00
Evgeny Grechnikov (Diamond)
3d1a1e74fc grammar fixes in build.bat
git-svn-id: svn://kolibrios.org@1095 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-05-31 11:46:28 +00:00