-
Notifications
You must be signed in to change notification settings - Fork 46
/
ChangeLog
216 lines (194 loc) · 9.92 KB
/
ChangeLog
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
0.1:
* Initial release.
0.2:
* Fixed byte order problems in some headers.
* Corrected sequence number handling.
* Wait on reboot (DELETE_PERIOD).
* Draft 10 compliance.
* Gratuitous flag in RREQ for ICMP ECHO requests.
* Show node's own sequence number in routing table log.
* Made expanding ring search optional.
* ICMP Destination Host Unreachable to application on route lookup failure.
* Fixed pointer error in seek_list.c which caused seg-faults.
* Experimental Internet gateway support (more like a bad hack ;-).
* Fixed bugs when there was a hashing conflict in the routing table.
* Experimental support for receiving N hellos before treating a node as
a neighbor.
0.3:
* New timer code to fix obscure crashes (very stable now).
* Multiple network interfaces support.
* Fixed bug which caused some RERRs to not be sent.
* HELLO message jittering.
* Code is AODV-interop tested and verified.
* Updated README.
* New command line parsing, and options.
* Added command line option to disable wait on reboot (maybe Manel
will stop whining about the 15 secs delay now ;-).
0.4:
* Fixed inconsistency in "--no-worb" option (was --disable-worb in --help).
* Fixes/changes for unidir and n-hello modes.
* Removed dependency on modified ip_queue kernel module. Now packets are
re-routed on the NF_IP_POST_ROUTING hook instead.
* Removed use of skb->protocol to detect IP packets in netfilter
code. Apparently skb->protocol is not always set. This caused much
grief, since some packets were not being processed by AODV.
* Fixed bug in RERR-code which made routes be invalidated twice.
* Fixed bug when TTL_START was set to last_hcnt=255 when doing RREQs.
* Squashed bug in packet_input.c which made routes not timeout when hello
messages stops being received.
0.5:
* Replaced "#ifdef DEBUG" with a DEBUG macro to make the code cleaner.
* Ported code to the NS-2 simulator. See README for more information.
* Fixed bug in hello_process_non_hello() which caused the hop count of
routes to not be updated.
* Changes to how the timer/event queue is aged to better fit NS.
* Fixed lots of RERR related bugs.
* Fixed so that expired routing table entries are never expunged before
PATH_TRAVERSAL_TIME when waiting for a RREP.
* Moved packet buffering to separate source file (packet_queue.c).
0.6:
* Made it so that a check for queued packets to send is always done
whenever a new route is added or updated.
* Implemented simple rate limiting by discarding outgoing control packets
in case the RATELIMIT is reached.
* Added new aodv_neighbor.c module to separate generic neighbor processing
from HELLO message processing. Now adding a neighbor is explicit and
separate from for example HELLO processing.
* Code changed to conform with the new draft v11 terminology. Routing table
debug output also changed to reflect this.
* Fixed missing NULL pointer check for route pointer (line 320 of
packet_input.c) that potentially could cause a segfault.
* When using AODV-UU in NS, periodic routing table logging was not
performed until the routing table was updated for the first time. Fixed.
* Compilation problems in NS under SuSE Linux ("undefined reference")
have been fixed.
* NS support code updated to work with ns-2 version 2.1b9a.
* NS support code should now compile under Sun Solaris and other platforms
which lack <endian.h>.
* Implemented local repair.
* Removed unnecessary flags in routing table.
* Fixed RREP forwarding so that precursor lists are updated correctly.
* Lots of code cleanups and restructuring.
* Implemented garbage collection of old packets in packet_queue.c.
0.7:
* Added new RREP waiting parameters to conform with AODV draft v13.
* Implemented a better RATELIMIT algorithm.
* Fixed broken make targets (install, all).
* Fixed bug that caused NO DELETE RERRs to not be sent. Thanks to McWood
* NS support code updated to work with ns-2 version 2.26.
* aodv_socket.c now use RAW UDP sockets only.
* New shared linked list implementation.
* Lots of cleanup... Please report bugs!
* Made link layer feedback a runtime option (in ns-2).
0.7.1:
* Removed extra 8 bit "flags" in RREQ struct that was not supposed to
be there. Thanks Krishna Prabhala <[email protected]>, for
discovering that.
0.7.2:
* Fixed small compilation bug when compiling against ns-2.
0.8:
* Fixed overflow bug in timeval_add_msec. Thanks to Stefan Book
* IP addresses are now stored as "struct in_addr".
* Fixed segmentation fault in timer queue when executing expired timers.
* Changed unknown sequence number behavior. 0 now means unknown. This
is different from rfc3561, but functionally equivalent.
* Simulation supports hierarchical addressing.
* Included experimental gateway connectivity using tunnels (both ns-2
and real world).
* Address locality can be implemented in locality.c
* Made sequence numbers rollover safe.
* HELLO messages and link layer feedback is now a runtime setting that
can be toggled in the simulation script. AODV-UU also sets the
correct time parameters automatically.
* Updated README.ns regarding the link layer feedback run-time option.
* Updated README.ns; it incorrectly stated that "make" and
"make distclean" commands should be run with a leading "./".
* AODV-UU log files are renamed to aodvd.log and aodvd.rtlog.
* In ns-2, AODV-UU log files are now named by node number (not pseudo IP).
* AODV-UU no longer uses the mobilenode class in ns-2 that the ns-2
bundled AODV uses. Instead, it implements a new node type called
AODVNode which is similar to DSR's SRNode. This fixes a bug where
routing table entries were not refreshed at the destination node since
packets were previously passed directly to the sink. See the README.ns
file.
* Fixed bug where HELLO timers were not updated when receiving data packets.
* Support for ns-2.27.
* In ns-2 (2.27), the RREP originator address is now logged in the trace
file.
* If CONFIG_GATEWAY is defined during compilation, AODV-UU will buffer
full data packets in user space and use a RAW socket to send them. This is
to avoid some problems experienced with the netfilter queueing mechanism.
0.8.1:
* Non-AODV broadcast packets now have their ttl decremented so that
they are not forwarded forever.
* Support for compiling against kernel 2.6.x.
* Experimental link layer feedback. Your network card driver needs
support for wireless extensions > 13. Use the hostap driver
(http://hostap.epitest.fi/) or a patch for Orinoco driver can be found
here: http://www.cs.umd.edu/~moustafa/. Also needs a recent wireless tools
package installed to compile. Use -DLLFEEDBACK when compiling.
* Support for signal quality threshold for AODV control packets. Needs a
patched WiFi driver.
* Fix compilation bug on PPC-64 ([email protected]).
* Reverted back to using SOCK_DGRAM for the control socket so that control
traffic packets are killed properly.
0.9:
* Implemented kernel forwarding. Packets are not sent to user space
anymore. This removes the dependency on CONFIG_IP_NF_QUEUE in the
kernel. Routes in user space are refreshed by messages sent over a
netlink socket. This could potentially be optimized in the future to
reduce the amount of messages necessary to send.
* Lots of bug fixes.
* Makefile fixes to compile for MIPS and ARM.
0.9.1:
* Fixed compilation error in kernel module due to changes in the kernel.
* Fixed bug with updating reverse routes in nl.c (thanks Jung-nam Kwak).
* Several minor fixes.
0.9.2:
* Adding and deleting entries from the kernel routing table is now
handled through netlink sockets instead of IOCTLs.
* Added support for debug output from the kernel module by passing
messages over a netlink socket.
* Fixed the broken gateway support in 0.9.1.
* TCP can now work properly with gateway encapsulation by reducing
the TCP maximum segment size (MSS) to account for the 8 byte
encapsulation header. However, there seem to be some bug that may freeze the
machine, probably a locking issue. The code is therefore disabled in
koadv-mod.c. Enable at your own risk. Another alternative to run TCP is to
se iperf and manually set the MSS to MAX minus 8 bytes.
* Compile fixes for never kernels.
* Lots of minor bug fixes.
0.9.3:
* Changed AODV netlink type to always use LINK_MAX-1 to avoid conflicts
with already allocated numbers in kernel source file
include/linux/netlink.h
* Set AODVGRP_NOTIFY to 1 to fix kernel netlink broadcasting
* Fixed bug that did not initialize if_info lock in kernel module.
* Fixed bug that caused the kernel module to stay loaded after shutdown.
* Fixed bug in debug.c that caused addresses to be printed in reverse.
0.9.4:
* Release was pulled back.
0.9.5:
* Compile fix for kernel 2.6.20
* Crosscompile Makefile fixes for ARM (thanks to Kevin Fall, [email protected]).
* Fixed bug that caused problems for running with more than one interface.
(thanks to Ignacio García Pérez Ignacio <[email protected]>)
* Free packet in aodv_socket_send() in ns-2. Thanks to Thomas Zahn
* Add IP_HDR_LEN to packets in ns-2. (Also Thomas Zahn).
* Fixed expire list bug, which caused the list length to not be decreased
when an entry was removed.
* Use route metric when deleting routes instead of always using 1.
(Thanks to Vlasios Tsiatsis <[email protected]>)
* Compile against Linux 2.6.22
0.9.6:
* Fixed bug in requeuing of packets after local repair in ns-2
(Balazs Kovacs <[email protected]>).
* Compile fixes for Linux 2.6.22
* Added network namespace parameter (&init_net) to kernel network functions. (see git commit object 881d966b)
* proc_net_create() function has been removed from kernel 2.6.24 (see git commit object 44656ba1).i So it was replaced by create_proc_read_entry().
* Netfilter has replaced sk_buff ** by sk_buff * (see git commit object 3db05fea)
* netlink_kernel_create() 'input' parameter has been changed (see git commit object cd40b7d3)
* Thanks to Andre Guedes <[email protected]> from Federal University of Pernambuco (UFPE), Brazil.