Skip to content

Commit 6f1ed71

Browse files
committed
Merge pull request #165 from samoht/master
Prepare the release
2 parents 5123752 + 2dd75b7 commit 6f1ed71

File tree

7 files changed

+128
-77
lines changed

7 files changed

+128
-77
lines changed

.travis-ci.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ eval `opam config env`
1010

1111
opam repo add mirage-dev https://github.com/mirage/mirage-dev.git
1212

13-
git clone git://github.com/samoht/mirage-www
13+
git clone git://github.com/mirage/mirage-www
1414
cd mirage-www
1515

1616
opam install mirage

.travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
language: c
22
script: bash -ex .travis-ci.sh
33
env:
4-
- OCAML_VERSION=4.02 PACKAGE=tcpip MIRAGE_MODE=unix PINS="mirage-types:https://github.com/yomimono/mirage.git#separate_arp mirage:https://github.com/yomimono/mirage.git#separate_arp"
5-
- UPDATE_GCC_BINUTILS=1 OCAML_VERSION=4.01 PACKAGE=tcpip MIRAGE_MODE=xen PINS="mirage-types:https://github.com/yomimono/mirage.git#separate_arp mirage:https://github.com/yomimono/mirage.git#separate_arp"
4+
- OCAML_VERSION=4.02 PACKAGE=tcpip MIRAGE_MODE=unix
5+
- UPDATE_GCC_BINUTILS=1 OCAML_VERSION=4.01 PACKAGE=tcpip MIRAGE_MODE=xen

CHANGES renamed to CHANGES.md

+95-44
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
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)
211

312
* Fix regression introduced in 2.5.0 where packet loss could lead to the
413
connection to become very slow (#157, MagnusS, @talex5, @yomimono and
@@ -12,7 +21,8 @@
1221
* The `channel` library now lives in a separate repository and is released
1322
separately (#159, @samoht)
1423

15-
2.5.0 (2015-06-10)
24+
### 2.5.0 (2015-06-10)
25+
1626
* The test runs now produce `.pcap` files (#141, by @MagnusS)
1727
* Strip trailing bytes from network packets (#145, by @talex5)
1828
* Add tests for uniform packet loss (#147, by @MagnusS)
@@ -24,29 +34,37 @@
2434
* Writing in a PCB which does not have the right state now returns an error
2535
instead of blocking (#150)
2636

27-
2.4.3 (2015-05-05)
37+
### 2.4.3 (2015-05-05)
38+
2839
* Fix infinite loop in `Channel.read_line` when the line does not contain a CRLF
2940
sequence (#131)
3041

31-
2.4.2 (2015-04-29)
42+
### 2.4.2 (2015-04-29)
43+
3244
* Fix a memory leak in `Channel` (#119, by @yomimono)
3345
* Add basic unit-test for channels (#119, by @yomimono)
3446
* Add alcotest testing templates
3547
* Modernize Travis CI scripts
3648

37-
2.4.1 (2015-04-21):
49+
### 2.4.1 (2015-04-21)
50+
3851
* Merge between 2.4.0 and 2.3.1
3952

40-
2.4.0: (2015-03-24)
53+
### 2.4.0: (2015-03-24)
54+
4155
* ARP improvements (#118)
4256

43-
2.3.1 (2015-03-31):
57+
### 2.3.1 (2015-03-31)
58+
4459
* Do not raise an assertion if an IP frame has extra trailing bytes (#221).
4560

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)
4867

49-
2.2.3 (2015-03-09):
5068
* Add ICMPv6 error reporting functions (#101)
5169
* Add universal IP address converters (#108)
5270
* Add `error_message` functions for human-readable errors (#98)
@@ -55,14 +73,18 @@
5573
* Unhook unused modules `Sliding_window` and `Profiler` from the build. (#112)
5674
* Add an explicit `connect` method to the signatures. (#100)
5775

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)
6077

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).
6385
* Remove dependency on `uint` to avoid the need for a C stub (#92).
6486

65-
2.2.0 (2014-12-18):
87+
### 2.2.0 (2014-12-18)
6688

6789
Add IPv6 support. This changeset minimises interface changes to the existing
6890
`STACKV4` interfaces to faciliate a progressive merge. The only visible
@@ -75,116 +97,142 @@ interface changes are:
7597
* Several types that had `v4` in their names (like `IPV4.ipv4addr`) have lost
7698
that particle.
7799

78-
2.1.1 (2014-12-12):
100+
### 2.1.1 (2014-12-12)
101+
79102
* Improve console printing for the DHCP client to output line
80103
breaks properly on Xen consoles.
81104

82-
2.1.0 (2014-12-07):
105+
### 2.1.0 (2014-12-07)
106+
83107
* Build Xen stubs separately, with `CFLAGS` from `mirage-xen` 2.1.0+.
84108
This allows us to use the red zone under x86_64 Unix again.
85109
* Adding tracing labels and counters, which introduces a new dependency on the
86110
`mirage-profile` package.
87111

88-
2.0.3 (2014-12-05):
112+
### 2.0.3 (2014-12-05)
113+
89114
* Fixed race waiting for ARP response (#86).
90115
* Move the the code that configures IPv4 address, netmask and gateways
91116
after receiving a successful lease out of the `Dhcp_clientv4` module
92117
and into `Stackv4` (#87)
93118

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).
97125
* Build with -mno-red-zone on x86_64 to avoid stack corruption on Xen (#80).
98126

99-
2.0.1 (2014-11-04):
127+
### 2.0.1 (2014-11-04)
128+
100129
* Fixed race condition in the signalling between the rx/tx threads under load.
101130
* Experimentally switch to immediate ACKs in TCPv4 by default instead of delayed ones.
102131

103-
2.0.0 (2014-11-02):
132+
### 2.0.0 (2014-11-02)
133+
104134
* Moved 1s complement checksum C code here from mirage-platform.
105135
* Depend on `Console_unix` and `Console_xen` instead of `Console`.
106136
* [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)
108141

109-
1.1.6 (20-July-2014):
110142
* Quieten down the stack logging rate by not announcing IPv6 packet discards.
111143
* 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).
113146
* Add `opam` file to permit easier local pinning, and fix Travis to use this.
114147

115-
1.1.5 (18-June-2014):
148+
### 1.1.5 (2014-06-18)
149+
116150
* Ensure that DHCP completes before the application is started, so that
117151
unikernels that establish outgoing connections can do so without a race.
118152
(fix from Mindy Preston in #53, followup in #55)
119153
* Add `echo`, `chargen` and `discard` services into the `examples/`
120154
directory. (from Mindy Preston in #52).
121155

122-
1.1.4 (03-June-2014):
156+
### 1.1.4 (2014-06-03)
157+
123158
* [tcp] Fully process the last `ACK` in a 3-way handshake for server connections.
124159
This ensures that a `FIN` is correctly transmitted upon application-initiated
125160
connection close. (fix from Mindy Preston in #51).
126161

127-
1.1.3 (01-April-2014):
162+
### 1.1.3 (2014-03-01)
163+
128164
* Expose IPV4 through the STACKV4 interface.
129165

130-
1.1.2 (27-March-2014):
166+
### 1.1.2 (2014-03-27)
167+
131168
* Fix DHCP variable length option parsing for MTU responses, which
132169
in turns improves robustness on Amazon EC2 (fix from @yomimono
133170
via mirage/mirage-tcpip#48)
134171

135-
1.1.1 (21-February-2014):
172+
### 1.1.1 (2014-02-21)
173+
136174
* Catch and ignore top-level socket exceptions (#219).
137175
* Set `SO_REUSEADDR` on listening sockets for Unix (#218).
138176
* Adapt the Stack interfaces to the v1.1.1 mirage-types interface
139177
(see mirage/mirage#226 for details).
140178

141-
1.1.0 (03-February-2014):
179+
### 1.1.0 (2014-02-03)
180+
142181
* Rewrite of the library as a set of functors that parameterize the
143182
stack across the `V1_LWT` module types from Mirage 1.1.x. This removes
144183
the need to compile separate Xen and Unix versions of the stack.
145184

146-
0.9.5 (08-December-2013):
185+
### 0.9.5 (2013-12-08)
186+
147187
* Build for either Xen or Unix, depending on the value of the `OS` envvar.
148188
* Shift to the `mirage-types` 0.5.0+ interfaces, which breaks the
149189
socket backend (temporarily).
150190
* Port the direct stack to the new interfaces.
151191
* Add Travis CI scripts.
152192

153-
0.9.4 (09-August-2013):
193+
### 0.9.4 (2013-08-09)
194+
154195
* Use the `Ipaddr` external library and remove the Homebrew
155196
equivalents in `Nettypes`.
156197

157-
0.9.3 (18-July-2013):
198+
### 0.9.3 (2013-07-18)
199+
158200
* Changes in module Manager: Removed some functions from the `.mli
159201
(plug/unplug) and added some modifications in the way the Manager
160202
interacts with the underlying module Netif. The Netif.create function
161203
does not take a callback anymore.
162204

163-
0.9.2 (09-July-2013):
205+
### 0.9.2 (2013-07-09)
206+
164207
* Improve TCP state machine for connection teardown.
165208
* Limit fragment number to 8, and coalesce buffers if it goes higher.
166209
* Adapt to mirage-platform-0.9.2 API changes.
167210

168-
0.9.1 (12-Jun-2013):
211+
### 0.9.1 (2013-06-12)
212+
169213
* Depend on mirage-platform-0.9.1 direct tuntap interfaces.
170214
* Version bump to catch up with mirage-platform.
171215

172-
0.5.2 (08-Feb-2013):
216+
### 0.5.2 (08-Feb-2013-02-03)
217+
173218
* Encourage scatter-gather I/O all the time, rather than playing tricks
174219
with packet header buffers. This simplifies the output path considerably
175220
and cuts minor heap allocations down.
176221
* Install the packed `cmx` along with the `cmxa` to ensure that the
177222
compiler can do cross-module optimization (this is not a fatal error,
178223
but will impact performance if the `cmx` file is not present).
179224

180-
0.5.1 (20-Dec-2012):
225+
### 0.5.1 (20-Dec-2012-12-20)
226+
181227
* Update socket stack to use Cstruct 0.6.0 API
182228

183-
0.5.0 (20-Dec-2012):
229+
### 0.5.0 (2012-12-20)
230+
184231
* Update Cstruct API to 0.6.0
185232
* [tcp] write now blocks if the write buffer and write window are full
186233

187-
0.4.1 (14-Dec-2012):
234+
### 0.4.1 (2012-12-14)
235+
188236
* Add iperf self-test that creates two VIFs and transmits across
189237
them. This is a useful local test which stresses the bridge
190238
code using just one VM.
@@ -197,11 +245,13 @@ interface changes are:
197245
* Fix TCP fast recovery to wait until all in-flight packets are
198246
acked, rather then exiting early.
199247

200-
0.4.0 (11-Dec-2012):
248+
### 0.4.0 (11-Dec-2012-12-11)
249+
201250
* Require OCaml-4.00.0 or higher, and add relevant build fixes
202251
to deal with module packing.
203252

204-
0.3.1 (10-Dec-2012):
253+
### 0.3.1 (2012-12-10)
254+
205255
* Fix the DHCP client marshalling for IPv4 addresses.
206256
* Expose the interface MAC address in the Manager signature.
207257
* Tweak TCP ISN calculation to be more friendly on a 32-bit host.
@@ -210,5 +260,6 @@ interface changes are:
210260
* Add Ethif.set/disable_promiscuous to permit directly tapping
211261
a network interface.
212262

213-
0.3.0 (04-Sep-2012):
263+
### 0.3.0 (2012-09-04)
264+
214265
* Initial public release.

_oasis

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
OASISFormat: 0.4
22
Name: tcpip
3-
Version: 2.5.1
3+
Version: 2.6.0
44
Synopsis: Ethernet, TCP/IPv4 and DHCPv4 library
55
Authors: Anil Madhavapeddy, Balraj Singh, Richard Mortier,
66
Nicolas Ojeda Bar, Thomas Gazagnaire, Vincent Bernardoff,

0 commit comments

Comments
 (0)