Commit Graph

182 Commits

Author SHA1 Message Date
hidnplayr
2bc923d897 SOCKET_receive_stream returns 0 now when there is no data instead of -1.
git-svn-id: svn://kolibrios.org@3461 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-04-09 11:43:59 +00:00
hidnplayr
1fc22f7bce Experimental support for MSG_PEEK and MSG_DONTWAIT in SOCKET_receive_stream.
git-svn-id: svn://kolibrios.org@3459 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-04-09 10:47:23 +00:00
hidnplayr
c9e26567fd Fixed wait_event call for tcp_input.
git-svn-id: svn://kolibrios.org@3407 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-23 16:46:22 +00:00
hidnplayr
4398dd7c40 Preparing to implement TCP reassembly queue.
Some cleanup of tcp_input and skip checksum recalculation for loopback segments. 

git-svn-id: svn://kolibrios.org@3406 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-23 14:02:38 +00:00
hidnplayr
3717c3370d Run TCP input code in a separate thread.
git-svn-id: svn://kolibrios.org@3389 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-18 21:04:15 +00:00
hidnplayr
de440713d1 Re-enabled network2 events.
git-svn-id: svn://kolibrios.org@3388 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-18 20:37:23 +00:00
hidnplayr
57c2018158 ARP_BLOCK logic was reversed
git-svn-id: svn://kolibrios.org@3386 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-18 16:26:54 +00:00
hidnplayr
a63322d121 ARP_BLOCK now lets you choose if ARP_IP_to_MAC should block or not.
git-svn-id: svn://kolibrios.org@3360 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-11 16:51:29 +00:00
hidnplayr
cc4161de83 Synced net branch with trunk (#3358)
git-svn-id: svn://kolibrios.org@3359 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-10 12:28:37 +00:00
hidnplayr
f7d75689e4 Fixed typo in ARP_IP_to_MAC (debug output displayed wrong IP)
git-svn-id: svn://kolibrios.org@3354 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-08 14:31:45 +00:00
hidnplayr
2c13dbe1c3 Netstat: redraw window on network subsystem event.
Kernel: send event when IP configuration changed.

git-svn-id: svn://kolibrios.org@3348 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-07 10:47:59 +00:00
hidnplayr
f685c27c07 Introduced new application event for network subsystem changes (link changed, ip changed, ...)
Removed get_mac and set_mac procedures from device structure, kernel does not need them.
Added link state detection capabilities for kernel and some drivers.

git-svn-id: svn://kolibrios.org@3346 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-07 09:35:24 +00:00
hidnplayr
8f48436569 Now Zeroconfig waits for driver to be initialised.
git-svn-id: svn://kolibrios.org@3340 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-06 11:15:28 +00:00
hidnplayr
1b65aa6050 Fixed SOCKET_process_end (broken in #3264), Use mutexes for ring buffer reading/writing.
git-svn-id: svn://kolibrios.org@3307 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-01 19:08:37 +00:00
hidnplayr
e2df6e8111 Fixed stack corruption in TCP_input when TCP queue is full
git-svn-id: svn://kolibrios.org@3293 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-28 11:51:11 +00:00
hidnplayr
ba61873d0c Fixed unlocking of mutex in TCP_output.
git-svn-id: svn://kolibrios.org@3289 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-28 03:21:03 +00:00
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