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

