Commit Graph

343 Commits

Author SHA1 Message Date
hidnplayr
c4c2da3caa Updated PCI macros for network drivers.
git-svn-id: svn://kolibrios.org@3205 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-31 13:10:10 +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
a52b2728a7 Some refactoring of DEC21x4x driver.
git-svn-id: svn://kolibrios.org@3201 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-27 20:13:23 +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
14192f7dba Fixed some PCI function macros for network cards.
(Now PCnet32 driver works again in VmWare)

git-svn-id: svn://kolibrios.org@3199 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-25 17:07:13 +00:00
hidnplayr
03cfe90034 Refactored PCnet driver. Omitted unnecessary copying of data.
git-svn-id: svn://kolibrios.org@3198 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-24 22:03:35 +00:00
hidnplayr
ac5091bcec Bugfix in PCnet driver.
git-svn-id: svn://kolibrios.org@3197 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-24 16:19:22 +00:00
hidnplayr
2a1f846c07 Changed working title of network branch in kernel.asm.
git-svn-id: svn://kolibrios.org@3193 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-22 15:57:31 +00:00
hidnplayr
5959abc989 Stub for new IRC client.
git-svn-id: svn://kolibrios.org@3191 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-22 14:05:00 +00:00
hidnplayr
fbf1d3eec3 Syncing net branch with trunk.
git-svn-id: svn://kolibrios.org@3187 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-21 20:59:27 +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
IgorA
0ab5d31ac7 correct import function names
git-svn-id: svn://kolibrios.org@3179 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-17 20:06:52 +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
43ea83d5a4 Fixed bug in RTL8029 which led to crash after receiving TCP frame.
git-svn-id: svn://kolibrios.org@3158 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-11 10:45:19 +00:00
hidnplayr
8e9d5576fd Fixed autobuild
git-svn-id: svn://kolibrios.org@3156 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-10 17:39:29 +00:00
hidnplayr
efb37b3598 Replaced signed relative jumps with unsigned ones were needed.
(I must lose this bad habbit in 2013...)

git-svn-id: svn://kolibrios.org@3155 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-10 17:35:32 +00:00
hidnplayr
1dfb449935 Added VIA Rhine driver. Only tested on Rhine II cards.
git-svn-id: svn://kolibrios.org@3154 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-10 07:40:01 +00:00
hidnplayr
161e024c27 Fixed and refactored RTL8029/NE2000 driver. Some fine-tuning still needed.
git-svn-id: svn://kolibrios.org@3149 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-01-03 13:25:22 +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
9e043be92f Kill sockets when process crashes.
git-svn-id: svn://kolibrios.org@3145 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-12-30 10:06:53 +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
ad6b39e045 Fixed bug in i8254x driver
git-svn-id: svn://kolibrios.org@2999 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-11-03 18:07:44 +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
380bfe324d fixed build for i8255x stub
git-svn-id: svn://kolibrios.org@2983 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-10-07 14:30:46 +00:00
hidnplayr
847c1548de Fixing build for new stack
git-svn-id: svn://kolibrios.org@2982 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-10-07 14:27:45 +00:00
hidnplayr
ce2dee6a2b Renaming exported function 'EthReceiver' to 'ETH_input'
git-svn-id: svn://kolibrios.org@2981 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-10-07 14:23:05 +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
4d9c0c2526 Added some more configuration protocols to the PPPoE program
git-svn-id: svn://kolibrios.org@2965 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-09-02 10:04:23 +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
329d879229 Cleanup of PPPoE dialer
git-svn-id: svn://kolibrios.org@2963 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-31 10:39:57 +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
761cdb63f8 Stub for simple PPPoE dialer
git-svn-id: svn://kolibrios.org@2959 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-30 16:11:36 +00:00
hidnplayr
df4d790daf Enabled Anonymous access to FTP daemon, RETR command now ignores first '/'.
git-svn-id: svn://kolibrios.org@2958 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-30 07:21:52 +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
e5b4e6fe9d Fixed bug in netcfg when run with 'A' parameter
git-svn-id: svn://kolibrios.org@2949 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 12:31:03 +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
9c91f40719 Added missing files, fixed ftpd.
git-svn-id: svn://kolibrios.org@2945 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-27 23:29:21 +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
ac776f502e When a process ends by function -1, kill all it's sockets.
git-svn-id: svn://kolibrios.org@2941 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-27 20:12:11 +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
hidnplayr
7957e16d02 Fixed kernel crash when keepalive timer expires.
git-svn-id: svn://kolibrios.org@2936 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-26 10:13:59 +00:00
hidnplayr
3e0a804c48 Fixed bug in network drivers irq handler.
Updated netdrv.inc and pci.inc 

git-svn-id: svn://kolibrios.org@2935 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-25 17:56:09 +00:00
hidnplayr
c575a498b5 Fixed bug wich caused i8254x driver to be able to load multiple times on the same device.
git-svn-id: svn://kolibrios.org@2934 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-25 16:05:36 +00:00
hidnplayr
26eb4cbcc9 Removed useless cli before calling mutex
git-svn-id: svn://kolibrios.org@2932 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-20 16:04:05 +00:00
hidnplayr
de28332c4d Rewrote PPPoE from scratch.
TODO: link IPv4_output to PPPoE_session_output

git-svn-id: svn://kolibrios.org@2931 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-19 19:09:09 +00:00
hidnplayr
615e3cc84c Some updates for TCP
git-svn-id: svn://kolibrios.org@2930 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-19 11:21:20 +00:00
hidnplayr
e12b00bee6 Bugfix in pci.inc for network drivers.
git-svn-id: svn://kolibrios.org@2929 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-18 00:06:27 +00:00
hidnplayr
78aa083db1 some updates for i8254x driver
git-svn-id: svn://kolibrios.org@2925 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-16 13:42:00 +00:00
hidnplayr
8140e5df69 Some markup changes in network stack.
git-svn-id: svn://kolibrios.org@2924 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-15 16:15:57 +00:00
hidnplayr
a31be47dbc some markup changes in dec21x4x.asm
git-svn-id: svn://kolibrios.org@2923 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-15 15:04:34 +00:00
hidnplayr
70c292f418 fixed find_mmio32 in pci.inc
git-svn-id: svn://kolibrios.org@2922 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-15 10:50:36 +00:00
hidnplayr
85ca6be824 i8254x driver stub (works in vBox)
git-svn-id: svn://kolibrios.org@2921 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-15 10:46:06 +00:00
hidnplayr
4fcb9b82ce Removed useless button from NetCFG
git-svn-id: svn://kolibrios.org@2919 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-10 12:28:14 +00:00
hidnplayr
68230a94d8 Fixed bug in RTL8169 driver
git-svn-id: svn://kolibrios.org@2918 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-09 20:27:09 +00:00
hidnplayr
26aeed8f84 added rtl8169 device 0x813610ec, and a whole list of i8254x devices
git-svn-id: svn://kolibrios.org@2917 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-09 19:42:16 +00:00
hidnplayr
3b724316fb Some cleanup in rtl8169 driver
git-svn-id: svn://kolibrios.org@2916 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-09 14:35:51 +00:00
hidnplayr
cfa8509ec1 Added crude loopback device.
git-svn-id: svn://kolibrios.org@2914 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-08 13:14:32 +00:00
hidnplayr
a9f1828898 Fixed bugs in SIS900 RX:
-Receiver MUST be re-enabled by the driver.
-Driver MUST check for multiple packets at once.

git-svn-id: svn://kolibrios.org@2913 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-08 10:21:59 +00:00
hidnplayr
940c0c5fa6 Completion of the new SIS900 driver.
-cleanup of used packets after they are sent
-transmit function now checks first if the descriptor is free

git-svn-id: svn://kolibrios.org@2912 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-08 10:03:47 +00:00
hidnplayr
8ba3e5e11b added latency config macro to pci.inc
git-svn-id: svn://kolibrios.org@2911 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-07 20:26:26 +00:00
hidnplayr
5ae9070151 SIS900:
-refactoring
-fixed SIS900-635 MAC read
-fixed alignment issues
-added multiple TX descriptor support
TODO: clear sent packets from memory

git-svn-id: svn://kolibrios.org@2910 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-07 20:22:07 +00:00
hidnplayr
c9bbdd57de Bugfix in SIS900 init, added some debug output, Bugfix in set_rxd, some refactoring
git-svn-id: svn://kolibrios.org@2909 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-07 09:59:58 +00:00
hidnplayr
0b4a7112cd Bugfix in 'hook' procedure for SIS900 driver
git-svn-id: svn://kolibrios.org@2908 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-07 09:03:26 +00:00
hidnplayr
04bafecfc8 Now NetCFG also works with PCI devices wich have multiple functions.
git-svn-id: svn://kolibrios.org@2907 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-07 08:49:16 +00:00
hidnplayr
8c28651ace Removed unused libini from network library
git-svn-id: svn://kolibrios.org@2905 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-06 09:12:07 +00:00
hidnplayr
e838b363d6 Fixed debug output for previous revision
git-svn-id: svn://kolibrios.org@2894 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-27 22:24:08 +00:00
hidnplayr
5133c50635 TCP_send now sends correct data under all conditions
git-svn-id: svn://kolibrios.org@2893 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-27 22:14:12 +00:00
hidnplayr
ad2eb55fab code improvements and cleanup for FTPd
git-svn-id: svn://kolibrios.org@2892 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-26 23:24:24 +00:00
hidnplayr
83c26b2500 Better debug info for network, lots of improvements in TCP code
git-svn-id: svn://kolibrios.org@2891 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-26 23:21:35 +00:00
hidnplayr
0287f5c75b Bugfixes & further development of TCP_output
git-svn-id: svn://kolibrios.org@2890 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-26 14:54:57 +00:00
hidnplayr
e19d06cb9f network code cleanup, implemented TCP_sendalot
git-svn-id: svn://kolibrios.org@2888 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-24 20:29:46 +00:00
hidnplayr
c95986da86 netdrv.inc cleanup
git-svn-id: svn://kolibrios.org@2887 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-22 20:07:20 +00:00
hidnplayr
8a10e28dfe added pci.inc for drivers, removed redundant code from netdrv.inc
git-svn-id: svn://kolibrios.org@2886 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-22 19:47:29 +00:00
hidnplayr
a105ce8fd8 Fixed bug with TCP_close
git-svn-id: svn://kolibrios.org@2882 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-19 13:17:11 +00:00
hidnplayr
ca262f8c90 Disable keepalive timer on listening socket.
git-svn-id: svn://kolibrios.org@2880 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-17 22:53:05 +00:00
hidnplayr
3c7b5955e3 Correct TCP socket closing after keepalive expires.
git-svn-id: svn://kolibrios.org@2879 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-17 22:20:18 +00:00
hidnplayr
ffd03b26b7 Fixed bug in FTP type command.
git-svn-id: svn://kolibrios.org@2878 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-17 22:01:08 +00:00