1
- 2.5.1 (2015-07-07)
1
+ ### 2.6.0 (2015-07-29)
2
+
3
+ * ARP now handles ARP frames, not Ethernet frames with ARP payload
4
+ (#164 , by @hannesm )
5
+ * Check length of received ethernet frame to avoid cstruct exceptions
6
+ (#117 , by @hannesm )
7
+ * Pull arpv4 module out of ipv4. Also add unit-tests for the newly created
8
+ ARP library (#155 , by @yomimono )
9
+
10
+ ### 2.5.1 (2015-07-07)
2
11
3
12
* Fix regression introduced in 2.5.0 where packet loss could lead to the
4
13
connection to become very slow (#157 , MagnusS, @talex5 , @yomimono and
12
21
* The ` channel ` library now lives in a separate repository and is released
13
22
separately (#159 , @samoht )
14
23
15
- 2.5.0 (2015-06-10)
24
+ ### 2.5.0 (2015-06-10)
25
+
16
26
* The test runs now produce ` .pcap ` files (#141 , by @MagnusS )
17
27
* Strip trailing bytes from network packets (#145 , by @talex5 )
18
28
* Add tests for uniform packet loss (#147 , by @MagnusS )
24
34
* Writing in a PCB which does not have the right state now returns an error
25
35
instead of blocking (#150 )
26
36
27
- 2.4.3 (2015-05-05)
37
+ ### 2.4.3 (2015-05-05)
38
+
28
39
* Fix infinite loop in ` Channel.read_line ` when the line does not contain a CRLF
29
40
sequence (#131 )
30
41
31
- 2.4.2 (2015-04-29)
42
+ ### 2.4.2 (2015-04-29)
43
+
32
44
* Fix a memory leak in ` Channel ` (#119 , by @yomimono )
33
45
* Add basic unit-test for channels (#119 , by @yomimono )
34
46
* Add alcotest testing templates
35
47
* Modernize Travis CI scripts
36
48
37
- 2.4.1 (2015-04-21):
49
+ ### 2.4.1 (2015-04-21)
50
+
38
51
* Merge between 2.4.0 and 2.3.1
39
52
40
- 2.4.0: (2015-03-24)
53
+ ### 2.4.0: (2015-03-24)
54
+
41
55
* ARP improvements (#118 )
42
56
43
- 2.3.1 (2015-03-31):
57
+ ### 2.3.1 (2015-03-31)
58
+
44
59
* Do not raise an assertion if an IP frame has extra trailing bytes (#221 ).
45
60
46
- 2.3.0 (2015-03-09):
47
- * Fix `STACKV4` for the `DEVICE` signature which has `connect` removed (in Mirage types 2.3+).
61
+ ### 2.3.0 (2015-03-09)
62
+
63
+ * Fix ` STACKV4 ` for the ` DEVICE ` signature which has ` connect ` removed
64
+ (in Mirage types 2.3+).
65
+
66
+ ### 2.2.3 (2015-03-09)
48
67
49
- 2.2.3 (2015-03-09):
50
68
* Add ICMPv6 error reporting functions (#101 )
51
69
* Add universal IP address converters (#108 )
52
70
* Add ` error_message ` functions for human-readable errors (#98 )
55
73
* Unhook unused modules ` Sliding_window ` and ` Profiler ` from the build. (#112 )
56
74
* Add an explicit ` connect ` method to the signatures. (#100 )
57
75
58
- 2.2.2 (2015-01-11):
59
- * Readded tracing and ARP fixes which got accidentally reverted in the IPv6 merge. (#96)
76
+ ### 2.2.2 (2015-01-11)
60
77
61
- 2.2.1 (2014-12-20):
62
- * Use `Bytes` instead of `String` to begin the `-safe-string` migration in OCaml 4.02.0 (#93).
78
+ * Readded tracing and ARP fixes which got accidentally reverted in the IPv6
79
+ merge. (#96 )
80
+
81
+ ### 2.2.1 (2014-12-20)
82
+
83
+ * Use ` Bytes ` instead of ` String ` to begin the ` -safe-string ` migration in OCaml
84
+ 4.02.0 (#93 ).
63
85
* Remove dependency on ` uint ` to avoid the need for a C stub (#92 ).
64
86
65
- 2.2.0 (2014-12-18):
87
+ ### 2.2.0 (2014-12-18)
66
88
67
89
Add IPv6 support. This changeset minimises interface changes to the existing
68
90
` STACKV4 ` interfaces to faciliate a progressive merge. The only visible
@@ -75,116 +97,142 @@ interface changes are:
75
97
* Several types that had ` v4 ` in their names (like ` IPV4.ipv4addr ` ) have lost
76
98
that particle.
77
99
78
- 2.1.1 (2014-12-12):
100
+ ### 2.1.1 (2014-12-12)
101
+
79
102
* Improve console printing for the DHCP client to output line
80
103
breaks properly on Xen consoles.
81
104
82
- 2.1.0 (2014-12-07):
105
+ ### 2.1.0 (2014-12-07)
106
+
83
107
* Build Xen stubs separately, with ` CFLAGS ` from ` mirage-xen ` 2.1.0+.
84
108
This allows us to use the red zone under x86_64 Unix again.
85
109
* Adding tracing labels and counters, which introduces a new dependency on the
86
110
` mirage-profile ` package.
87
111
88
- 2.0.3 (2014-12-05):
112
+ ### 2.0.3 (2014-12-05)
113
+
89
114
* Fixed race waiting for ARP response (#86 ).
90
115
* Move the the code that configures IPv4 address, netmask and gateways
91
116
after receiving a successful lease out of the ` Dhcp_clientv4 ` module
92
117
and into ` Stackv4 ` (#87 )
93
118
94
- 2.0.2 (2014-12-01):
95
- * Add IPv4 multicast to MAC address mapping in IPv4 output processing (#81 from Luke Dunstan).
96
- * Improve formatting of DHCP console logging, including printing out options (#83).
119
+ ### 2.0.2 (2014-12-01)
120
+
121
+ * Add IPv4 multicast to MAC address mapping in IPv4 output processing
122
+ (#81 from Luke Dunstan).
123
+ * Improve formatting of DHCP console logging, including printing out options
124
+ (#83 ).
97
125
* Build with -mno-red-zone on x86_64 to avoid stack corruption on Xen (#80 ).
98
126
99
- 2.0.1 (2014-11-04):
127
+ ### 2.0.1 (2014-11-04)
128
+
100
129
* Fixed race condition in the signalling between the rx/tx threads under load.
101
130
* Experimentally switch to immediate ACKs in TCPv4 by default instead of delayed ones.
102
131
103
- 2.0.0 (2014-11-02):
132
+ ### 2.0.0 (2014-11-02)
133
+
104
134
* Moved 1s complement checksum C code here from mirage-platform.
105
135
* Depend on ` Console_unix ` and ` Console_xen ` instead of ` Console ` .
106
136
* [ socket] Do not return an ` Eof ` when writing 0-length buffer (#76 ).
107
- * [socket] Accept callbacks now run in async threads instead of being serialised (#75).
137
+ * [ socket] Accept callbacks now run in async threads instead of being serialised
138
+ (#75 ).
139
+
140
+ ### 1.1.6 (2014-07-20)
108
141
109
- 1.1.6 (20-July-2014):
110
142
* Quieten down the stack logging rate by not announcing IPv6 packet discards.
111
143
* Raise exception ` Bad_option ` for unparseable or invalid TCPv4 options (#57 ).
112
- * Fix linking error with module `Tcp_checksum` by lifting it into top library (#60).
144
+ * Fix linking error with module ` Tcp_checksum ` by lifting it into top library
145
+ (#60 ).
113
146
* Add ` opam ` file to permit easier local pinning, and fix Travis to use this.
114
147
115
- 1.1.5 (18-June-2014):
148
+ ### 1.1.5 (2014-06-18)
149
+
116
150
* Ensure that DHCP completes before the application is started, so that
117
151
unikernels that establish outgoing connections can do so without a race.
118
152
(fix from Mindy Preston in #53 , followup in #55 )
119
153
* Add ` echo ` , ` chargen ` and ` discard ` services into the ` examples/ `
120
154
directory. (from Mindy Preston in #52 ).
121
155
122
- 1.1.4 (03-June-2014):
156
+ ### 1.1.4 (2014-06-03)
157
+
123
158
* [ tcp] Fully process the last ` ACK ` in a 3-way handshake for server connections.
124
159
This ensures that a ` FIN ` is correctly transmitted upon application-initiated
125
160
connection close. (fix from Mindy Preston in #51 ).
126
161
127
- 1.1.3 (01-April-2014):
162
+ ### 1.1.3 (2014-03-01)
163
+
128
164
* Expose IPV4 through the STACKV4 interface.
129
165
130
- 1.1.2 (27-March-2014):
166
+ ### 1.1.2 (2014-03-27)
167
+
131
168
* Fix DHCP variable length option parsing for MTU responses, which
132
169
in turns improves robustness on Amazon EC2 (fix from @yomimono
133
170
via mirage/mirage-tcpip #48 )
134
171
135
- 1.1.1 (21-February-2014):
172
+ ### 1.1.1 (2014-02-21)
173
+
136
174
* Catch and ignore top-level socket exceptions (#219 ).
137
175
* Set ` SO_REUSEADDR ` on listening sockets for Unix (#218 ).
138
176
* Adapt the Stack interfaces to the v1.1.1 mirage-types interface
139
177
(see mirage/mirage #226 for details).
140
178
141
- 1.1.0 (03-February-2014):
179
+ ### 1.1.0 (2014-02-03)
180
+
142
181
* Rewrite of the library as a set of functors that parameterize the
143
182
stack across the ` V1_LWT ` module types from Mirage 1.1.x. This removes
144
183
the need to compile separate Xen and Unix versions of the stack.
145
184
146
- 0.9.5 (08-December-2013):
185
+ ### 0.9.5 (2013-12-08)
186
+
147
187
* Build for either Xen or Unix, depending on the value of the ` OS ` envvar.
148
188
* Shift to the ` mirage-types ` 0.5.0+ interfaces, which breaks the
149
189
socket backend (temporarily).
150
190
* Port the direct stack to the new interfaces.
151
191
* Add Travis CI scripts.
152
192
153
- 0.9.4 (09-August-2013):
193
+ ### 0.9.4 (2013-08-09)
194
+
154
195
* Use the ` Ipaddr ` external library and remove the Homebrew
155
196
equivalents in ` Nettypes ` .
156
197
157
- 0.9.3 (18-July-2013):
198
+ ### 0.9.3 (2013-07-18)
199
+
158
200
* Changes in module Manager: Removed some functions from the `.mli
159
201
(plug/unplug) and added some modifications in the way the Manager
160
202
interacts with the underlying module Netif. The Netif.create function
161
203
does not take a callback anymore.
162
204
163
- 0.9.2 (09-July-2013):
205
+ ### 0.9.2 (2013-07-09)
206
+
164
207
* Improve TCP state machine for connection teardown.
165
208
* Limit fragment number to 8, and coalesce buffers if it goes higher.
166
209
* Adapt to mirage-platform-0.9.2 API changes.
167
210
168
- 0.9.1 (12-Jun-2013):
211
+ ### 0.9.1 (2013-06-12)
212
+
169
213
* Depend on mirage-platform-0.9.1 direct tuntap interfaces.
170
214
* Version bump to catch up with mirage-platform.
171
215
172
- 0.5.2 (08-Feb-2013):
216
+ ### 0.5.2 (08-Feb-2013-02-03)
217
+
173
218
* Encourage scatter-gather I/O all the time, rather than playing tricks
174
219
with packet header buffers. This simplifies the output path considerably
175
220
and cuts minor heap allocations down.
176
221
* Install the packed ` cmx ` along with the ` cmxa ` to ensure that the
177
222
compiler can do cross-module optimization (this is not a fatal error,
178
223
but will impact performance if the ` cmx ` file is not present).
179
224
180
- 0.5.1 (20-Dec-2012):
225
+ ### 0.5.1 (20-Dec-2012-12-20)
226
+
181
227
* Update socket stack to use Cstruct 0.6.0 API
182
228
183
- 0.5.0 (20-Dec-2012):
229
+ ### 0.5.0 (2012-12-20)
230
+
184
231
* Update Cstruct API to 0.6.0
185
232
* [ tcp] write now blocks if the write buffer and write window are full
186
233
187
- 0.4.1 (14-Dec-2012):
234
+ ### 0.4.1 (2012-12-14)
235
+
188
236
* Add iperf self-test that creates two VIFs and transmits across
189
237
them. This is a useful local test which stresses the bridge
190
238
code using just one VM.
@@ -197,11 +245,13 @@ interface changes are:
197
245
* Fix TCP fast recovery to wait until all in-flight packets are
198
246
acked, rather then exiting early.
199
247
200
- 0.4.0 (11-Dec-2012):
248
+ ### 0.4.0 (11-Dec-2012-12-11)
249
+
201
250
* Require OCaml-4.00.0 or higher, and add relevant build fixes
202
251
to deal with module packing.
203
252
204
- 0.3.1 (10-Dec-2012):
253
+ ### 0.3.1 (2012-12-10)
254
+
205
255
* Fix the DHCP client marshalling for IPv4 addresses.
206
256
* Expose the interface MAC address in the Manager signature.
207
257
* Tweak TCP ISN calculation to be more friendly on a 32-bit host.
@@ -210,5 +260,6 @@ interface changes are:
210
260
* Add Ethif.set/disable_promiscuous to permit directly tapping
211
261
a network interface.
212
262
213
- 0.3.0 (04-Sep-2012):
263
+ ### 0.3.0 (2012-09-04)
264
+
214
265
* Initial public release.
0 commit comments