1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
|
Ongoing things.
0.0
---
Initial patches to catch up with things we want to add.
o Merged in the Jorge Cwik fast checksum. [TESTED]
o Added Arnt Gulbrandsen's fast UDP build. [TESTED]
o Pauline Middelinks masquerade patch [TESTED]
0.1
---
o Remove excess transmit request calls. [TESTED]
o Set type before calling netif_rx() [TESTED]
o Inline sock_rcv_skb [TESTED]
o Cache last socket for UDP [TESTED]
o Cache last socket for TCP [TESTED]
o Routing cache (only in ip_build_header so far) [TESTED]
------->>>>> ALPHA 001 <<<<<----------
o eql load balancing driver. [TESTED]
o Token ring drivers. [TESTED]
o IPIP and tunnels [TESTED]
o Fix ethernet/token ring promisc broadcast error [TESTED]
(pkt_type set to OTHERHOST in error).
o Fixed bug in the routing caches [TESTED]
o Protocol header cache support [TESTED]
o Fixed ip_build_xmit loopback bugs [TESTED]
o Fixes for SIOCGSTAMP on SOCK_PACKET [TESTED]
o Perfect hash on net_bh(). [TESTED]
o Sonix ISDN driver. [SEPARATED/SENT]
o Use ip_build_xmit for raw sockets [TESTED]
o 3c501 fixed for speed [TESTED]
------->>>>> ALPHA 002 <<<<<--------
o PLIP, PPP and de bugs fixed [TESTED]
o Merged in G4KLX AX.25 state machine, with KA9Q
donated headers to get BSD free AX.25 done. [TESTED]
o Massive loopback device bug fixed [TESTED]
------->>>>> ALPHA 003 <<<<<----------
o Revised code layout [TESTED]
o More bug fixes (traceroute etc) [TESTED]
------->>>>> ALPHA 004 <<<<<----------
o IP build xmit fragment fixes [TESTED]
o TCP SWS probe fix [TESTED]
o Appletalk DDP [TESTED]
o IP firewall bug fixed [TESTED]
o IP masquerade ftp port spoof [TESTED]
o gcc 2.6.3 -O3 fix for checksum assembler [TESTED]
o /proc support shows both timers [TESTED]
o TCP irtt support [TESTED]
o RTF_REJECT routing support [TESTED]
o Fixed 0 length fragment bug [TESTED]
o Fixed overlapping reasm bug [TESTED]
o Newest AX.25 code from John Naylor [TESTED]
o NetROM from John Naylor [TESTED]
o Routerless DDP fixes from Wesley [TESTED]
------->>>>> ALPHA 005 <<<<<----------
o Several compile and bugfixes from Jakko [TESTED]
o Connect fix from Matt Day (+ fix to fix) [TESTED]
o RTT, memory leak and other netrom/ax.25 cures
-- John Naylor [TESTED]
o IP source route via broadcast now illegal [TESTED]
------->>>>> ALPHA 006 <<<<<----------
o Yet more NetROM/AX.25 improvements [TESTED]
-- John Naylor
o Fixed a _stupid_ appletalk bug [TESTED]
o Missing include [TESTED]
-- Lots of people
o Can drop all source routes [TESTED]
o Printing fixes for ip_fw [TESTED]
o UDP checksum fix (Gerhard) [TESTED]
o Newer 3c505 driver from Juha Laiho [IN]
o Security fix to axassociate [TESTED]
o Loopback driver debugged (fixes named) [TESTED]
o SCC driver from Joerg Reuter [TESTED]
o IP Firewall accounting zero bug [TESTED]
////////////////////////////1.3.0///////////////////////////
o Merged loadable firewall code [TESTED]
o New buffers used totally non optimally [TESTED]
o Fast ip_forwarding (needs changing) [NOW INCLUDED IN 1.3.15]
o Fixed connection hang bug in new SWS code [TESTED]
o Buffer management hack putting skbuff control
after data in the frame because kmalloc is
totally cache non-optimal [TESTED]
o Faster checksum [Tom May] [TESTED]
o Appletalk router fixes [Michael Callahan] [TESTED]
o TCP state error fixes [Mark Tamsky] [TESTED]
o Verify area fixes [Heiko Eissfeldt] [TESTED]
o Routes use metric field [John Naylor] [TESTED]
o Major AX.25/NetROM fixes [John Nalor] [TESTED]
------->>>>> NET3 030 <<<<<----------
o Long word align ethernet IP headers (64byte align for pentium) [TESTED]
(less helpful than I'd have liked)
o Fixed variable length header support to really work [TESTED]
o Mend appletalk/ipx partially [TESTED]
o Start playing with input checksum & copy [TESTED]
o Fixed PPP and other oddments [TESTED]
o Mended IPIP [TESTED]
------->>>>> 1.3.7 <<<<<----------
o Checksum bug fixed [TESTED]
o Lance driver panic cured [TESTED]
o DEC ALPHA stuff (Linus) [ASK HIM NOT ME]
o Always try to keep output packet order
(eg for vat and BSD fast path tcp) [TESTED]
o Copy the mac pointer in skb_clone [TESTED]
o Fix tcpdump panic [TESTED]
o Fix dev_alloc_skb NULL deref bug [TESTED]
o Fix Security error in SIGURG stuff [TESTED]
o Missing 15 byte slack on ip_loopback [TESTED]
------->>>>> 1.3.8 <<<<<----------
o UDP snmp count fixed [TESTED]
o IP snmp out count fixed [TESTED]
o First bit of Dave Bonn's fast forwarding [TESTED/NOW WORKS]
o Fix leaks and double free in firewalling [TESTED]
o Fix memory scribble in ip_build_xmit [TESTED]
o Do fast cases of ip_build_xmit first
slows fragmented I/O down, speeds up smaller
packets. UDP send ttcp can now touch 7.5Mbyte/sec
with nothing else going on. UDP recv is slower 8( [TESTED]
o Fixed and enabled ethernet header caches [TESTED]
o Removed junk from igmp [TESTED]
o Obscure UDP/copy&sum bug fix [TESTED]
o Fixed multicast [TESTED]
o TCP does rerouting for most cases [TESTED]
------->>>>> 1.3.14 <<<<<----------
o IPX works [TESTED]
o NetROM works [TESTED]
o AX.25 works [TESTED]
o Most modules need recompiling even though they
load OK [BLAME LINUS]
o Appletalk works nicely [CHECKED]
o Fast IP forwarding part 1 works [CHECKED]
------->>>>> 1.3.15 <<<<<---------
o Mike Shaver has started RFC1122 verification [DONE]
o Minor bug fixes [TESTED]
------->>>> 1.3.16 <<<--------
o Missing patches for device change in TCP [TESTED]
o Device locking [TESTED]
o Infinite slip devices [TESTED]
o New AF_UNIX sockets [TESTED]
o Sendmsg/recvmsg (for some stuff only) [TESTED]
o Device unload loopholes fixed [TESTED]
o Extra firewall abilities [TESTED]
o Appletalk node probe bug fix [TESTED]
------->>>> 1.3.18 <<<<---------
o AF_UNIX debugging [TESTED]
o TCP explode on SWS bug fix [TESTED]
o John Naylor's ARP hwtype fix [TESTED]
o Datagram select matches BSD semantics [TESTED]
-------->>>>> 1.3.21 <<<<<---------
o AF_UNIX fixes and 4K limiter [TESTED]
o Sendmsg/recvmsg for AX.25/Appletalk [TESTED]
o Datagram generic iovec support [TESTED]
o Misc minor bug fixes [TESTED]
-------->>>>> 1.3.22 <<<<<-------
o Device lock against page fault [TESTED]
o IP_HDRINCL [TESTED]
o IP firewalling spoofing protection [TESTED]
o IGMP bug fixes and workarounds [TESTED]
o IFF_ALLMULTI protocol layer support [TESTED]
o First parts of IP multicast routing code [TESTED]
o Generate BSD ENETDOWN errors [TESTED]
o Clean device unload bug<Walter Wolfgang> [TESTED]
-------->>>>> 1.3.24 <<<<<-------
o Missing IGMP includes fixes [TESTED]
o Smarter buffer use options for sockets [TESTED]
o AF_UNIX smarter buffer driving [TESTED]
o AF_UNIX full BSD semantics on STREAM writes [TESTED]
o IOVEC's support repeated calls to copy more [TESTED]
o Zero fragment 'solaris nfs' bug fixed <Werner> [TESTED]
o NetROM supports sendmsg/recvmsg [TESTED]
o Sendmsg verify_iovec bugfix [TESTED]
o ARP PERM is really permanent now <Craig> [TESTED]
o IPIP tunnels work fully we hope [UMM...]
o Closing socket change (Marc Tamsky) [TESTED]
o RFC1122 verification of tcp.c <Mike Shaver> [DONE]
-------->>>>> 1.3.26 <<<<<-------
o Rewrote ICMP completely [TESTED]
o Moved most IP addresses to __u32 [TESTED]
o Cleaned up ICMP reporting [TESTED]
o Tidied remove_sock [TESTED]
o Added memory allocation type to ip_build_xmit [TESTED]
o Cleaned up af_inet to use inet_error [TESTED]
o Named firewall returns [TESTED]
o Added firewall output checks to ip_build_xmit [TESTED]
o Multicast router downs VIF's when their
physical interface is dropped [TESTED]
o Reformatted ipv4/protocol.c, dropped frag field [TESTED]
o Fixed MSS for TCP [TESTED]
o Dropped sock_awaitconn [TESTED]
o Added ip_forward to ksyms for IPIP etc [TESTED]
o Appletalk TIOCINQ/TIOCOUTQ bug fix [TESTED]
o Rewrote the IFF_UP/IFF_DOWN handling code [TESTED]
-------->>>>> 1.3.29 <<<<<-------
o Major AX.25/NetROM fixes [John Naylor] [TESTED]
o Error in ip_mr ioctls fixed [Michael Chastain] [TESTED]
o TCP cache zap bugs hopefully fixed [CLOSE BUT NO COOKIE]
o Length checks in udp/raw sending [Craig Metz] [TESTED]
-------->>>>> 1.3.31 <<<<<<-------
o IP_OPTIONS [A.N.Kuznetsov] [TESTED]
o TCP cache zap more fixes [TESTED]
o Most of the IP multicast routing cache added [TESTED - WORK NEEDED]
o Kernel/user communication module (not used yet) [TESTED]
-------->>>>> 1.3.31 <<<<<<-------
o IFF_ALLMULTI support for 3c501,3c509,8390 and
tulip(SMC etherpower) boards [TESTED]
-------->>>>> 1.3.33 <<<<<<--------
o IFF_ALLMULTI causes an address check on ether [TESTED]
o Added multicast ability readme file [TESTED]
o Assorted driver/multicast fixes [TESTED]
o IP routing change errors resemble BSD more [TESTED/MORE TO COME]
o IP port masquerading fixes [TESTED]
-------->>>>> 1.3.35 <<<<<<--------
o Appletalk data now in the protinfo union [TESTED]
o BSD style bind to broadcast address supported [TESTED]
o Standard loadable firewall chains [TESTED]
o IPFW uses the firewall chains for firewall but
not yet acct/masquerade [TESTED]
o Firewall chain hooks in all other protocols [TESTED]
o Sendmsg/recvmsg for IPX. [TESTED]
o IPX uses sock_alloc_send_skb [TESTED]
o Recvmsg for all IP, sendmsg for TCP [TESTED]
(nearly ready to go all *msg())
-------->>>>> 1.3.42 <<<<<<--------
o ip udp/raw nonblock bug fixed [TESTED]
o ICMP lockup fix [TESTED]
o Fundamental operations now only sendmsg/recvmsg [TESTED]
o bind() for SOCK_PACKET [IN]
o set_mac_addr fixed up [TESTED]
o BSD SIOCSIFADDR, AF_UNSPEC behaviour [TESTED]
o Updated this list [OK]
o Massive ARP/cache/routing rewrite [ANK] [TESTED]
o AX.25 connect return fixed in using sock_error [TESTED]
o Proper netlink device major(36) [TESTED]
o First parts of the SKIP support [IN, not useful]
o TCP ICMP (SOSS should work again) [TESTED]
o IPFW support for TOS changing (Al Longyear) [TESTED]
o DECNET PPP test code [Steve] [IN]
o NFS root [Miguel/Gero] [TESTED]
o Path MTU discovery [ANK] [TESTED]
-------->>>>> 1.3.44 <<<<<<--------
o NFS root/ FPU clash fixed [TESTED]
o ARP lock bug fixed [TESTED]
o SO_BSDCOMPAT option(libbsd/ibcs2 ought to set) [SEMIDONE]
o Changed to new set_multicast_list() [TESTED]
o ARP ioctl() call fixes [Bernd] [TESTED]
o Fixes to the name set functions (maybe fixes
netrom) [Steve] [TESTED]
o Packet protocol labelling (not IPX yet) [TESTED]
o Faster buffer copy/clone [Linus] [TESTED]
-------->>>>> 1.3.46 <<<<<<--------
o AX.25/NetROM fixes/changes [John Naylor] [TESTED]
o Further attempts to fix the IPX memory bug [NOW FIXED]
o ARP fixes (Assorted) [TESTED]
o Driver fixes for multicast lists [TESTED]
-------->>>>> 1.3.48 <<<<<<--------
o IPalias [TESTED]
-------->>>>> 1.3.50 <<<<<<--------
o TCP soft error support [TESTED]
o Further 3c501 tweaking [TESTED]
o Still trying to make IPX work right [TESTED]
o Trap faulty boxes sending IGMP using 0.0.0.0 [TESTED]
o Only allow SMBFS selection with IP configured [TESTED]
o Packetwin driver [Craig] [IN]
o Net alias changes [Juan] [TESTED]
-------->>>>> 1.3.53 <<<<<<--------
o Missing htons() in ip_build_xmit [Mike Kilburn] [TESTED]
o Missing protocol type set in appletalk [TESTED]
o Net alias changes/documentation [Juan Ciarlante][TESTED]
o Set protocol type on IPX sends [Various] [TESTED]
o Lance driver packet length sanity check [TESTED]
-------->>>>> 1.3.60 <<<<<<--------
o Fixed NFS notice message [IN]
o Extra ETH_P_xx types [IN]
o Added skb_copy [IN]
o AX.25 unlock bug fix [Joerg] [IN]
o Disabled buggy kerneld support [IN]
o Removed dev_rint [IN]
o Fixed bind checking [IN]
o ARP changes [Bernd] [IN]
o IPX memory leak fix [Martin] [IN]
o Net builds without /proc [Paul] [IN]
o IP multicast races removed [IN]
o Device queue length limits and packet discarder [IN]
---------- Things I thought Linus had for a while and not merged ----------------
---------- Things pending from other people -------------
o Improved IPX support for lwared.
o Decnet pre pre pre pre pre Alpha 0.0.
o Chase Donald for new drivers, get people to sort out what net
drivers should cease to be 'Alpha'.
o IPX PPP support
o IP multicast bug fixes
---------- Things pending for me to merge --------------
o AF_UNIX garbage collect code
o Faster closedown option for heavy use sites (me)
o Tom May's insw_and_checksum()
o SPARC patches [Dave] [partly in]
--------------- Things That Need Doing Before 1.4 ------------------
o Clean up RAW AX.25 sockets. [Sorted by skb_clone change]
o Finish IPIP bug fixes [Done hopefully]
o Multicast routing [Nearly right]
o PPP/IPX
o IPX for Lwared
o SKIP [Available in user mode]
o AX.25/NetROM locking changes
o insw_and_csum
o AF_UNIX fd passing
-------------------------- Bugs to fix ------------------------------
o signal interrupting a unix domain connect can occasionally hang the
machine ??
o TCP socket cache gets things wrong very very occasionally under high
load. [TRYING THINGS]
o AX.25/NetROM needs more locking.
o NFS flow control is needed with the new multirequest NFS support.
o Need to be able to turn off the intelligent arp refreshing as it's not so
hot over AX.25 and upsets some people with very dumb ISDN bridges.
o Matti Arnio's TCP problem.
o Should unix domain connect never block ?
o Sort out kerneld getting things right.
0.2
---
o Fast checksum/copy on outgoing TCP
o Add tty support to sonix driver.
o PPP for Sonix ISDN.
o Screend loadable firewall module
o AXIP [AVAILABLE IN USER MODE]
o Finish merging the bridge code [LEAVE POST 1.4]
o Finish 802.2 Class I code to be compliant to the oddities of 802.2
o Tidy BPQ support to use a bpqip tunnel device
o Kill off old ip_queue_xmit/ip_send stuff.
o Remove kernel RARP and replace with user mode daemon.
o Throw out existing firewall ioctl()'s and use a single table load.
o SPARC merge
0.3
---
o 802.2 Class 2 services (eg netbios).
Possible projects for victim^H^H^H^H^Holunteers
2. Verifying all the error returns match the BSD ones (grotty job I
wouldn't wish on anyone).
3. 'Fast Retransmit'. This is a TCP algorithm extension BSD uses. If
you see about 3 acks in a row that are for the same 'old' value. You resend
the frame following the ack. (The assumption being that the acks are
because a single frame in the data stream has been lost). Given a
mathematician with some queue theory you can show this allows you to
lose one frame per window full of data without measurable speed loss.
[done]
4. RFC1323. These are the extensions for very fast nets.
RFC1323 will be useful for Linux talking to systems over 100Mb/sec
ethernet and over ATM as it allows large windows and protects from some
potential high speed TCP problems.
[In progress]
6. Delayed ack. This is mostly supported but not actually set up and
used yet. Basically ack frames are held back 1/10th of a second in the hope
that two acks can be merged into one or for interactive use the ack can
piggyback on the next character typed (great improvement on 2400 baud
modems). Johannes Stille did some work on this about 0.99.13 but it never
got merged in. [Pedro Roque] [Done, but needs fixing]
7. One on my tempting project list. Add an extra (unofficial - but so
is SLIP6) SLIP mode that does packet data compression [maybe use the code
from term].
9. Implementing streams. Not as a blind slow SYS5.4 style copy but actually
working out how to do it so it runs like greased lightning. Quite a big
problem. [See the LiS project]
10. Frame Relay/WAN/ISDN drivers [I'm working on the sonix EuroISDN board
driver but that's for an internal project and its general release is still
a maybe (so is finishing it ;))][Jim Freeman is working on Frame Relay as is
Mike McLagan][Fritz Elfert is doing the isdn4linux kit].
11. IP over SCSI. [worked on]
14. Bidirectional PLIP. Also PLIP for the newer style parallel ports.
15. 802.2LLC and thus Netbeui sockets. Becoming less important since the
rumour is microsoft are phasing out netbeui for netbios/IP. Microsoft have
gone for netbios/funny-ipx-variant it seems in Win95, but TCP is selectable.
16. X.25. This is one for a real head case with far too much time on
their hands. [Provisionally taken]
17. PPP multilink. Another nasty job.
[In progress]
18. Implement swIPe under Linux.
[Reportedly in progress]
19. IPv4 IP-AH and IP-ESP.
[Taken]
20. SKIP IP security using ENskip-0.10 - started
[Abandoned]
21. T/TCP support.
BTW: Don't let the magic words 'kernel programming' worry you. Its like DOS
- you make a mistake you have to reboot. You do at least get dumps and a
kernel logger that is reliable. There is now a loadable module allowing
use of gdb on the kernel (no breakpoints though!). No magic involved.
Alan
|