OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [lwIP_Demo_Rowley_ARM7/] [lwip-1.1.0/] [CHANGELOG] - Blame information for rev 583

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 583 jeremybenn
FUTURE
2
 
3
  * TODO: The lwIP source code makes some invalid assumptions on processor
4
    word-length, storage sizes and alignment. See the mailing lists for
5
    problems with exoteric (/DSP) architectures showing these problems.
6
    We still have to fix some of these issues neatly.
7
 
8
  * TODO: the ARP layer is not protected against concurrent access. If
9
    you run from a multitasking OS, serialize access to ARP (called from
10
    your network device driver and from a timeout thread.)
11
 
12
HISTORY
13
 
14
(HEAD)
15
 
16
  2004-12-28 Leon Woestenberg 
17
  * etharp.*: Disabled multiple packets on the ARP queue.
18
    This clashes with TCP queueing.
19
 
20
  2004-11-28 Leon Woestenberg 
21
  * etharp.*: Fixed race condition from ARP request to ARP timeout.
22
    Halved the ARP period, doubled the period counts.
23
    ETHARP_MAX_PENDING now should be at least 2. This prevents
24
    the counter from reaching 0 right away (which would allow
25
    too little time for ARP responses to be received).
26
 
27
  2004-11-25 Leon Woestenberg 
28
  * dhcp.c: Decline messages were not multicast but unicast.
29
  * etharp.c: ETHARP_CREATE is renamed to ETHARP_TRY_HARD.
30
    Do not try hard to insert arbitrary packet's source address,
31
    etharp_ip_input() now calls etharp_update() without ETHARP_TRY_HARD.
32
    etharp_query() now always DOES call ETHARP_TRY_HARD so that users
33
    querying an address will see it appear in the cache (DHCP could
34
    suffer from this when a server invalidly gave an in-use address.)
35
  * ipv4/ip_addr.h: Renamed ip_addr_maskcmp() to _netcmp() as we are
36
    comparing network addresses (identifiers), not the network masks
37
    themselves.
38
  * ipv4/ip_addr.c: ip_addr_isbroadcast() now checks that the given
39
    IP address actually belongs to the network of the given interface.
40
 
41
  2004-11-24 Kieran Mansley 
42
  * tcp.c: Increment pcb->snd_buf when ACK is received in SYN_SENT state.
43
 
44
(STABLE-1_1_0-RC1)
45
 
46
  2004-10-16 Kieran Mansley 
47
  * tcp.c: Add code to tcp_recved() to send an ACK (window update) immediately,
48
        even if one is already pending, if the rcv_wnd is above a threshold
49
        (currently TCP_WND/2). This avoids waiting for a timer to expire to send a
50
        delayed ACK in order to open the window if the stack is only receiving data.
51
 
52
  2004-09-12 Kieran Mansley 
53
  * tcp*.*: Retransmit time-out handling improvement by Sam Jansen.
54
 
55
  2004-08-20 Tony Mountifield 
56
  * etharp.c: Make sure the first pbuf queued on an ARP entry
57
    is properly ref counted.
58
 
59
  2004-07-27 Tony Mountifield 
60
  * debug.h: Added (int) cast in LWIP_DEBUGF() to avoid compiler
61
    warnings about comparison.
62
  * pbuf.c: Stopped compiler complaining of empty if statement
63
    when LWIP_DEBUGF() empty.  Closed an unclosed comment.
64
  * tcp.c: Stopped compiler complaining of empty if statement
65
    when LWIP_DEBUGF() empty.
66
  * ip.h Corrected IPH_TOS() macro: returns a byte, so doesn't need htons().
67
  * inet.c: Added a couple of casts to quiet the compiler.
68
    No need to test isascii(c) before isdigit(c) or isxdigit(c).
69
 
70
  2004-07-22 Tony Mountifield 
71
  * inet.c: Made data types consistent in inet_ntoa().
72
    Added casts for return values of checksum routines, to pacify compiler.
73
  * ip_frag.c, tcp_out.c, sockets.c, pbuf.c
74
    Small corrections to some debugging statements, to pacify compiler.
75
 
76
  2004-07-21 Tony Mountifield 
77
  * etharp.c: Removed spurious semicolon and added missing end-of-comment.
78
  * ethernetif.c Updated low_level_output() to match prototype for
79
    netif->linkoutput and changed low_level_input() similarly for consistency.
80
  * api_msg.c: Changed recv_raw() from int to u8_t, to match prototype
81
    of raw_recv() in raw.h and so avoid compiler error.
82
  * sockets.c: Added trivial (int) cast to keep compiler happier.
83
  * ip.c, netif.c Changed debug statements to use the tidier ip4_addrN() macros.
84
 
85
(STABLE-1_0_0)
86
 
87
  ++ Changes:
88
 
89
  2004-07-05 Leon Woestenberg 
90
  * sockets.*: Restructured LWIP_PRIVATE_TIMEVAL. Make sure
91
    your cc.h file defines this either 1 or 0. If non-defined,
92
    defaults to 1.
93
  * .c: Added  and  includes where used.
94
  * etharp.c: Made some array indices unsigned.
95
 
96
  2004-06-27 Leon Woestenberg 
97
  * netif.*: Added netif_set_up()/down().
98
  * dhcp.c: Changes to restart program flow.
99
 
100
  2004-05-07 Leon Woestenberg 
101
  * etharp.c: In find_entry(), instead of a list traversal per candidate, do a
102
    single-pass lookup for different candidates. Should exploit locality.
103
 
104
  2004-04-29 Leon Woestenberg 
105
  * tcp*.c: Cleaned up source comment documentation for Doxygen processing.
106
  * opt.h: ETHARP_ALWAYS_INSERT option removed to comply with ARP RFC.
107
  * etharp.c: update_arp_entry() only adds new ARP entries when adviced to by
108
    the caller. This deprecates the ETHARP_ALWAYS_INSERT overrule option.
109
 
110
  ++ Bug fixes:
111
 
112
  2004-04-27 Leon Woestenberg 
113
  * etharp.c: Applied patch of bug #8708 by Toni Mountifield with a solution
114
    suggested by Timmy Brolin. Fix for 32-bit processors that cannot access
115
    non-aligned 32-bit words, such as soms 32-bit TCP/IP header fields. Fix
116
    is to prefix the 14-bit Ethernet headers with two padding bytes.
117
 
118
  2004-04-23 Leon Woestenberg 
119
  * ip_addr.c: Fix in the ip_addr_isbroadcast() check.
120
  * etharp.c: Fixed the case where the packet that initiates the ARP request
121
    is not queued, and gets lost. Fixed the case where the packets destination
122
    address is already known; we now always queue the packet and perform an ARP
123
    request.
124
 
125
(STABLE-0_7_0)
126
 
127
  ++ Bug fixes:
128
 
129
  * Fixed TCP bug for SYN_SENT to ESTABLISHED state transition.
130
  * Fixed TCP bug in dequeueing of FIN from out of order segment queue.
131
  * Fixed two possible NULL references in rare cases.
132
 
133
(STABLE-0_6_6)
134
 
135
  ++ Bug fixes:
136
 
137
  * Fixed DHCP which did not include the IP address in DECLINE messages.
138
 
139
  ++ Changes:
140
 
141
  * etharp.c has been hauled over a bit.
142
 
143
(STABLE-0_6_5)
144
 
145
  ++ Bug fixes:
146
 
147
  * Fixed TCP bug induced by bad window resizing with unidirectional TCP traffic.
148
  * Packets sent from ARP queue had invalid source hardware address.
149
 
150
  ++ Changes:
151
 
152
  * Pass-by ARP requests do now update the cache.
153
 
154
  ++ New features:
155
 
156
  * No longer dependent on ctype.h.
157
  * New socket options.
158
  * Raw IP pcb support.
159
 
160
(STABLE-0_6_4)
161
 
162
  ++ Bug fixes:
163
 
164
  * Some debug formatters and casts fixed.
165
  * Numereous fixes in PPP.
166
 
167
  ++ Changes:
168
 
169
  * DEBUGF now is LWIP_DEBUGF
170
  * pbuf_dechain() has been re-enabled.
171
  * Mentioned the changed use of CVS branches in README.
172
 
173
(STABLE-0_6_3)
174
 
175
  ++ Bug fixes:
176
 
177
  * Fixed pool pbuf memory leak in pbuf_alloc().
178
    Occured if not enough PBUF_POOL pbufs for a packet pbuf chain.
179
    Reported by Savin Zlobec.
180
 
181
  * PBUF_POOL chains had their tot_len field not set for non-first
182
    pbufs. Fixed in pbuf_alloc().
183
 
184
  ++ New features:
185
 
186
  * Added PPP stack contributed by Marc Boucher
187
 
188
  ++ Changes:
189
 
190
  * Now drops short packets for ICMP/UDP/TCP protocols. More robust.
191
 
192
  * ARP queueuing now queues the latest packet instead of the first.
193
    This is the RFC recommended behaviour, but can be overridden in
194
    lwipopts.h.
195
 
196
(0.6.2)
197
 
198
  ++ Bugfixes:
199
 
200
  * TCP has been fixed to deal with the new use of the pbuf->ref
201
    counter.
202
 
203
  * DHCP dhcp_inform() crash bug fixed.
204
 
205
  ++ Changes:
206
 
207
  * Removed pbuf_pool_free_cache and pbuf_pool_alloc_cache. Also removed
208
    pbuf_refresh(). This has sped up pbuf pool operations considerably.
209
    Implemented by David Haas.
210
 
211
(0.6.1)
212
 
213
  ++ New features:
214
 
215
  * The packet buffer implementation has been enhanced to support
216
    zero-copy and copy-on-demand for packet buffers which have their
217
    payloads in application-managed memory.
218
    Implemented by David Haas.
219
 
220
    Use PBUF_REF to make a pbuf refer to RAM. lwIP will use zero-copy
221
    if an outgoing packet can be directly sent on the link, or perform
222
    a copy-on-demand when necessary.
223
 
224
    The application can safely assume the packet is sent, and the RAM
225
    is available to the application directly after calling udp_send()
226
    or similar function.
227
 
228
  ++ Bugfixes:
229
 
230
  * ARP_QUEUEING should now correctly work for all cases, including
231
    PBUF_REF.
232
    Implemented by Leon Woestenberg.
233
 
234
  ++ Changes:
235
 
236
  * IP_ADDR_ANY is no longer a NULL pointer. Instead, it is a pointer
237
    to a '0.0.0.0' IP address.
238
 
239
  * The packet buffer implementation is changed. The pbuf->ref counter
240
    meaning has changed, and several pbuf functions have been
241
    adapted accordingly.
242
 
243
  * netif drivers have to be changed to set the hardware address length field
244
    that must be initialized correctly by the driver (hint: 6 for Ethernet MAC).
245
    See the contrib/ports/c16x cs8900 driver as a driver example.
246
 
247
  * netif's have a dhcp field that must be initialized to NULL by the driver.
248
    See the contrib/ports/c16x cs8900 driver as a driver example.
249
 
250
(0.5.x) This file has been unmaintained up to 0.6.1. All changes are
251
  logged in CVS but have not been explained here.
252
 
253
(0.5.3) Changes since version 0.5.2
254
 
255
  ++ Bugfixes:
256
 
257
  * memp_malloc(MEMP_API_MSG) could fail with multiple application
258
    threads because it wasn't protected by semaphores.
259
 
260
  ++ Other changes:
261
 
262
  * struct ip_addr now packed.
263
 
264
  * The name of the time variable in arp.c has been changed to ctime
265
    to avoid conflicts with the time() function.
266
 
267
(0.5.2) Changes since version 0.5.1
268
 
269
  ++ New features:
270
 
271
  * A new TCP function, tcp_tmr(), now handles both TCP timers.
272
 
273
  ++ Bugfixes:
274
 
275
  * A bug in tcp_parseopt() could cause the stack to hang because of a
276
    malformed TCP option.
277
 
278
  * The address of new connections in the accept() function in the BSD
279
    socket library was not handled correctly.
280
 
281
  * pbuf_dechain() did not update the ->tot_len field of the tail.
282
 
283
  * Aborted TCP connections were not handled correctly in all
284
    situations.
285
 
286
  ++ Other changes:
287
 
288
  * All protocol header structs are now packed.
289
 
290
  * The ->len field in the tcp_seg structure now counts the actual
291
    amount of data, and does not add one for SYN and FIN segments.
292
 
293
(0.5.1) Changes since version 0.5.0
294
 
295
  ++ New features:
296
 
297
  * Possible to run as a user process under Linux.
298
 
299
  * Preliminary support for cross platform packed structs.
300
 
301
  * ARP timer now implemented.
302
 
303
  ++ Bugfixes:
304
 
305
  * TCP output queue length was badly initialized when opening
306
    connections.
307
 
308
  * TCP delayed ACKs were not sent correctly.
309
 
310
  * Explicit initialization of BSS segment variables.
311
 
312
  * read() in BSD socket library could drop data.
313
 
314
  * Problems with memory alignment.
315
 
316
  * Situations when all TCP buffers were used could lead to
317
    starvation.
318
 
319
  * TCP MSS option wasn't parsed correctly.
320
 
321
  * Problems with UDP checksum calculation.
322
 
323
  * IP multicast address tests had endianess problems.
324
 
325
  * ARP requests had wrong destination hardware address.
326
 
327
  ++ Other changes:
328
 
329
  * struct eth_addr changed from u16_t[3] array to u8_t[6].
330
 
331
  * A ->linkoutput() member was added to struct netif.
332
 
333
  * TCP and UDP ->dest_* struct members where changed to ->remote_*.
334
 
335
  * ntoh* macros are now null definitions for big endian CPUs.
336
 
337
(0.5.0) Changes since version 0.4.2
338
 
339
  ++ New features:
340
 
341
  * Redesigned operating system emulation layer to make porting easier.
342
 
343
  * Better control over TCP output buffers.
344
 
345
  * Documenation added.
346
 
347
  ++ Bugfixes:
348
 
349
  * Locking issues in buffer management.
350
 
351
  * Bugfixes in the sequential API.
352
 
353
  * IP forwarding could cause memory leakage. This has been fixed.
354
 
355
  ++ Other changes:
356
 
357
  * Directory structure somewhat changed; the core/ tree has been
358
    collapsed.
359
 
360
(0.4.2) Changes since version 0.4.1
361
 
362
  ++ New features:
363
 
364
  * Experimental ARP implementation added.
365
 
366
  * Skeleton Ethernet driver added.
367
 
368
  * Experimental BSD socket API library added.
369
 
370
  ++ Bugfixes:
371
 
372
  * In very intense situations, memory leakage could occur. This has
373
    been fixed.
374
 
375
  ++ Other changes:
376
 
377
  * Variables named "data" and "code" have been renamed in order to
378
    avoid name conflicts in certain compilers.
379
 
380
  * Variable++ have in appliciable cases been translated to ++variable
381
    since some compilers generate better code in the latter case.
382
 
383
(0.4.1) Changes since version 0.4
384
 
385
  ++ New features:
386
 
387
  * TCP: Connection attempts time out earlier than data
388
    transmissions. Nagle algorithm implemented. Push flag set on the
389
    last segment in a burst.
390
 
391
  * UDP: experimental support for UDP-Lite extensions.
392
 
393
  ++ Bugfixes:
394
 
395
  * TCP: out of order segments were in some cases handled incorrectly,
396
    and this has now been fixed. Delayed acknowledgements was broken
397
    in 0.4, has now been fixed. Binding to an address that is in use
398
    now results in an error. Reset connections sometimes hung an
399
    application; this has been fixed.
400
 
401
  * Checksum calculation sometimes failed for chained pbufs with odd
402
    lengths. This has been fixed.
403
 
404
  * API: a lot of bug fixes in the API. The UDP API has been improved
405
    and tested. Error reporting and handling has been
406
    improved. Logical flaws and race conditions for incoming TCP
407
    connections has been found and removed.
408
 
409
  * Memory manager: alignment issues. Reallocating memory sometimes
410
    failed, this has been fixed.
411
 
412
  * Generic library: bcopy was flawed and has been fixed.
413
 
414
  ++ Other changes:
415
 
416
  * API: all datatypes has been changed from generic ones such as
417
    ints, to specified ones such as u16_t. Functions that return
418
    errors now have the correct type (err_t).
419
 
420
  * General: A lot of code cleaned up and debugging code removed. Many
421
    portability issues have been fixed.
422
 
423
  * The license was changed; the advertising clause was removed.
424
 
425
  * C64 port added.
426
 
427
  * Thanks: Huge thanks go to Dagan Galarneau, Horst Garnetzke, Petri
428
    Kosunen, Mikael Caleres, and Frits Wilmink for reporting and
429
    fixing bugs!
430
 
431
(0.4) Changes since version 0.3.1
432
 
433
  * Memory management has been radically changed; instead of
434
    allocating memory from a shared heap, memory for objects that are
435
    rapidly allocated and deallocated is now kept in pools. Allocation
436
    and deallocation from those memory pools is very fast. The shared
437
    heap is still present but is used less frequently.
438
 
439
  * The memory, memory pool, and packet buffer subsystems now support
440
    4-, 2-, or 1-byte alignment.
441
 
442
  * "Out of memory" situations are handled in a more robust way.
443
 
444
  * Stack usage has been reduced.
445
 
446
  * Easier configuration of lwIP parameters such as memory usage,
447
    TTLs, statistics gathering, etc. All configuration parameters are
448
    now kept in a single header file "lwipopts.h".
449
 
450
  * The directory structure has been changed slightly so that all
451
    architecture specific files are kept under the src/arch
452
    hierarchy.
453
 
454
  * Error propagation has been improved, both in the protocol modules
455
    and in the API.
456
 
457
  * The code for the RTXC architecture has been implemented, tested
458
    and put to use.
459
 
460
  * Bugs have been found and corrected in the TCP, UDP, IP, API, and
461
    the Internet checksum modules.
462
 
463
  * Bugs related to porting between a 32-bit and a 16-bit architecture
464
    have been found and corrected.
465
 
466
  * The license has been changed slightly to conform more with the
467
    original BSD license, including the advertisement clause.
468
 
469
(0.3.1) Changes since version 0.3
470
 
471
  * Fix of a fatal bug in the buffer management. Pbufs with allocated
472
    RAM never returned the RAM when the pbuf was deallocated.
473
 
474
  * TCP congestion control, window updates and retransmissions did not
475
    work correctly. This has now been fixed.
476
 
477
  * Bugfixes in the API.
478
 
479
(0.3) Changes since version 0.2
480
 
481
  * New and improved directory structure. All include files are now
482
    kept in a dedicated include/ directory.
483
 
484
  * The API now has proper error handling. A new function,
485
    netconn_err(), now returns an error code for the connection in
486
    case of errors.
487
 
488
  * Improvements in the memory management subsystem. The system now
489
    keeps a pointer to the lowest free memory block. A new function,
490
    mem_malloc2() tries to allocate memory once, and if it fails tries
491
    to free some memory and retry the allocation.
492
 
493
  * Much testing has been done with limited memory
494
    configurations. lwIP now does a better job when overloaded.
495
 
496
  * Some bugfixes and improvements to the buffer (pbuf) subsystem.
497
 
498
  * Many bugfixes in the TCP code:
499
 
500
    - Fixed a bug in tcp_close().
501
 
502
    - The TCP receive window was incorrectly closed when out of
503
      sequence segments was received. This has been fixed.
504
 
505
    - Connections are now timed-out of the FIN-WAIT-2 state.
506
 
507
    - The initial congestion window could in some cases be too
508
      large. This has been fixed.
509
 
510
    - The retransmission queue could in some cases be screwed up. This
511
      has been fixed.
512
 
513
    - TCP RST flag now handled correctly.
514
 
515
    - Out of sequence data was in some cases never delivered to the
516
      application. This has been fixed.
517
 
518
    - Retransmitted segments now contain the correct acknowledgment
519
      number and advertised window.
520
 
521
    - TCP retransmission timeout backoffs are not correctly computed
522
      (ala BSD). After a number of retransmissions, TCP now gives up
523
      the connection.
524
 
525
  * TCP connections now are kept on three lists, one for active
526
    connections, one for listening connections, and one for
527
    connections that are in TIME-WAIT. This greatly speeds up the fast
528
    timeout processing for sending delayed ACKs.
529
 
530
  * TCP now provides proper feedback to the application when a
531
    connection has been successfully set up.
532
 
533
  * More comments have been added to the code. The code has also been
534
    somewhat cleaned up.
535
 
536
(0.2) Initial public release.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.