Loading...
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 | 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(bar spoof bug)] 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. [COMPILE - CANT TEST] o IPIP and tunnels [TESTED] o Fix ethernet/token ring promisc broadcast error [QUICK TEST] (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. [SEPERATED/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 (tracroute 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 [IN/BUG] 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 [NOT INCLUDED YET] 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 [IN PROGRESS] 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 [IN - BUG] o New AF_UNIX sockets [TESTED] o Sendmsg/recvmsg (for some stuff only) [IN] o Device unload loopholes fixed [TESTED] o Extra firewall abilities [IN] 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 [IN] o Sendmsg/recvmsg for AX.25/Appletalk [IN] o Datagram generic iovec support [IN] o Misc minor bug fixes [IN] -------->>>>> 1.3.22 <<<<<------- o Device lock against page fault [TESTED] o IP_HDRINCL [TESTED] o IP firewalling spoofing protection [IN] o IGMP bug fixes and workarounds [TESTED] o IFF_ALLMULTI protocol layer support [TESTED] o First parts of IP multicast routing code [IN] o Generate BSD ENETDOWN errors [TESTED] o Clean device unload bug<Walter Wolfgang> [IN] -------->>>>> 1.3.24 <<<<<------- o Missing IGMP includes fixes [TESTED] o Smarter buffer use options for sockets [IN] o AF_UNIX smarter buffer driving [IN] o AF_UNIX full BSD semantics on STREAM writes [IN] o IOVEC's support repeated calls to copy more [IN] o Zero fragment 'solaris nfs' bug fixed <Werner> [IN] o NetROM supports sendmsg/recvmsg [IN] o Sendmsg verify_iovec bugfix [IN] o ARP PERM is really permanent now <Craig> [IN] o IPIP tunnels work fully we hope [IN] o Closing socket change (Marc Tamsky) [IN] o RFC1122 verification of tcp.c <Mike Shaver> [IN] -------->>>>> 1.3.26 <<<<<------- o Rewrote ICMP completely [TESTED - fragmenting is wrong] o Moved most IP addresses to __u32 [IN] o Cleaned up ICMP reporting [IN] o Tidied remove_sock [IN] o Added memory allocation type to ip_build_xmit [IN] o Cleaned up af_inet to use inet_error [IN] o Named firewall returns [IN] o Added firewall output checks to ip_build_xmit [IN] o Multicast router downs VIF's when their physical interface is dropped [IN] o Reformatted ipv4/protocol.c, dropped frag field [IN] o Fixed MSS for TCP [IN] o Dropped sock_awaitconn [IN] o Added ip_forward to ksyms for IPIP etc [IN] o Appletalk TIOCINQ/TIOCOUTQ bug fix [IN] o Rewrote the IFF_UP/IFF_DOWN handling code [IN] -------->>>>> 1.3.29 <<<<<------- o Major AX.25/NetROM fixes [John Naylor] [IN] o Error in ip_mr ioctls fixed [Michael Chastain] [IN] o TCP cache zap bugs hopefully fixed [IN] o Length checks in udp/raw sending [Craig Metz] [IN] -------->>>>> 1.3.31 <<<<<<------- o IP_OPTIONS [A.N.Kuznetsov] [IN] o TCP cache zap more fixes [IN] o Most of the IP multicast routing cache added [IN] o Kernel/user communication module (not used yet) [IN] -------->>>>> 1.3.31 <<<<<<------- o IFF_ALLMULTI support for 3c501,3c509,8390 and tulip(SMC etherpower) boards [IN] -------->>>>> 1.3.33 <<<<<<-------- o IFF_ALLMULTI causes an address check on ether [IN] o Added multicast ability readme file [IN] o Assorted driver/multicast fixes [IN] o IP routing change errors resemble BSD more [IN] o IP port masquerading fixes [IN] ---------- Things I thought Linus had for a while and not merged ---------------- o Paul Gortmakers 8390 Copy and checksum [Pending] ---------- Things pending from other people to chase ------------- ---------- Things pending for me to merge -------------- o IPFW support for TOS changing (Al Longyear) o AF_UNIX garbage collect code o Faster closedown option for heavy use sites (me) o Tom May's insw_and_checksum() --------------- Things That Need Doing Before 1.4 ------------------ o inet_error for other layers o Finish merging the bridge code o SIOCSLEEPRT patch o Fast checksum/copy on outgoing TCP o Fast dev_grab_next() transmit reload function and dev_push_failed() ?? o Faster ip_forward last hit cache [PENDING(GuruA0)] o L2 ip routing cache [PENDING(btv)] o Forwarding queue control (+ fairness algorithms ??) o IP forward flow control. o Infinite PPP devices. o Clean up RAW AX.25 sockets. 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 Strange eth0-eth3 bug o Finish IPIP bug fixes [Done hopefully] o Why doesnt the PROTO_UNREACH get sent ? [Should now work] o IP protocols using sendmsg() 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. 0.2 --- o Better TCP window handling [Pedro Roque] o Add tty support to sonix driver. o PPP for Sonix ISDN. o Loadable firewall extensions. o Screend loadable firewall module o LZ SLIP [Done, resolving patent issues] o AXIP 0.3 --- o Merge the layered protocol support. [ABANDONED TOO SLOW] o IP firewalling performance - caching and radix trees. o Zebedee o 802.2 Class 2 services (eg netbios). o Multidrop KISS [NOW AVAILABLE IN USER MODE] o Multicast routing [STARTED BITS] o IPX/Atalk/Netrom firewalling Possible projects for victim^H^H^H^H^Holunteers 1. Verifying the correctness of implementation against RFC1122 and making a list of violations (BSD is sufficiently screwed up you can't implement all of RFC1122 and talk to it usefully). [Done - Mike Shaver] 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. 4. RFC1323 and RFC1191. These are the extensions for very fast nets and for 'path MTU discovery' - a way of finding the best packetsize to use. 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. 5. Fixing the IP fragment handling so that the total space allocated to fragments is limited and old fragments are deleted to make room for new ones when space is exhausted. Fixing the fragment handling to work at a decent speed wouldn't be bad either. [In progress - Arnt Gulbrandsen] 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. 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]. 8. Making SLIP/PPP dynamically allocate devices so you never run out of channels. [Done (pending inclusion in the PPP case)] 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. 10. Frame Relay/WAN/ISDN drivers [I'm working on the sonix EuroISDN board driver but thats for an internal project and its general release is still a maybe (so is finishing it ;))][Jim Freeman is working on Frame Relay]. 11. IP over SCSI. 12. Debugging and making the appletalk alpha test code useful. [Done and in] 13. Mrouted Multicast routing. Or possibly MOSPF and others as they become available [Started: see/join linux-multicast@www.linux.org.uk if you wish to join in] 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. [Tentatively in progress] 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. 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 [Me] 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 |