whitequark
5c2deb5dd2
Update README.
2017-10-25 00:30:57 +00:00
whitequark
1cd3625bf4
Small adjustments to TTL code; style, docs, and tests. NFCI.
2017-10-24 23:12:55 +00:00
Dan Robertson
eef65d2676
Implement set_ttl for Tcp and Udp sockets
...
- Add the ttl member to the IpRepr
- Add the ttl member along with setters and getters to the tcp and udp
socket types
- Add unit tests for the new set_ttl parameter
- Update usage of IpRepr to include the ttl value
2017-10-24 23:02:18 +00:00
Egor Karavaev
5be76b8dc1
Add support for IPv4 default gateway.
2017-10-03 15:17:29 +00:00
whitequark
4826d37c45
Allow disabling any of: raw, TCP or UDP sockets.
2017-09-25 00:20:22 +00:00
whitequark
0a8a962e94
Reorganize features using namespaces, to match module hierarchy.
...
I'm about to add a whole lot more features, and it's going to get
quite confusing otherwise.
2017-09-24 23:51:19 +00:00
Egor Karavaev
0e88617b82
Uncomment associated constants.
2017-09-24 23:25:18 +00:00
whitequark
2bb1d1bfc1
Clarify README paragraph about features.
...
We can easily (although annoyingly) do IP fragmentation with
the assembler now, so I don't see *any* features that are apriori
impossible to implement anymore.
2017-09-24 16:07:24 +00:00
whitequark
42b3a71f72
Add a keep-alive and timeout demo to the examples.
2017-09-24 13:58:53 +00:00
whitequark
73462b9503
Bump version.
2017-09-22 20:01:44 +00:00
whitequark
94e3109ab0
Update features to reflect merge of alloc and collections crates.
2017-09-22 19:54:47 +00:00
whitequark
4f6f6d7610
Update README.
...
Mention SACKs, don't spend many words on junk no one wants,
reword everything, and reorder the features so that the ones
with a higher cost/benefit ratio are higher up.
2017-09-22 19:49:54 +00:00
whitequark
e38ec8f397
Update README.
...
We don't really care about fast open one way or another, this entry
was a misunderstanding of RFC 793's behavior wrt data in SYN packets.
2017-09-22 19:20:24 +00:00
whitequark
7a2cd7842d
Implement reassembly of out-of-order TCP segments.
2017-09-22 10:06:40 +00:00
whitequark
9281733209
Implement TCP timeouts.
2017-09-18 11:05:40 +00:00
whitequark
fe80bca19d
Implement TCP keep-alive.
2017-09-16 10:54:59 +00:00
whitequark
bdb9c03081
Update feature list in README to mention everything from RFC 1122.
2017-09-03 12:03:55 +00:00
whitequark
9a5d056d7f
Add a TCP data source endpoint to the server example.
2017-08-31 09:09:16 +00:00
whitequark
a9c958612c
README: add some notable omissions.
2017-08-30 06:15:39 +00:00
whitequark
acf4688ad8
README: fix typo.
2017-08-25 06:20:10 +00:00
whitequark
afdf73ffef
TcpRepr::push → TcpControl::Psh.
...
This is done for simplification. FIN implies PSH, RST doesn't have
any meaning with PSH, and SYN|PSH only makes sense in the context
of TCP Fast Open, in the context of which, any data in the original
SYN already implies PSH.
2017-08-25 06:05:17 +00:00
whitequark
66a6dde59c
README.md: cleanup.
2017-08-21 07:28:32 +00:00
whitequark
e0d8fcfb72
Emit exceptional events with the DEBUG log level, not TRACE.
2017-08-01 11:21:58 +00:00
whitequark
7825bc6070
Implement fmt::Write for TcpSocket.
2017-07-30 06:59:01 +00:00
whitequark
ae903e8841
Add UdpSocket::is_open, similar to TcpSocket::is_open in function.
...
Fixes #31 .
2017-07-30 01:17:58 +00:00
whitequark
7b194c5d36
Update README.
...
Fixes #30 .
2017-07-30 00:56:56 +00:00
whitequark
bcd9be3d17
Update README.
2017-07-23 22:36:56 +00:00
whitequark
75ddbe9776
Add a bare-metal usage example.
2017-07-14 03:18:11 +00:00
whitequark
62c9b7d6fa
In examples, trace the packets being dropped by the fault injector.
2017-06-26 08:44:07 +00:00
Egor Karavaev
8d7fa94a6d
Add the `ping` example.
2017-06-21 03:51:02 +00:00
Egor Karavaev
59fc0c0358
Factor out the "raw_socket" and "tap_interface" features
...
This makes it possible to build smoltcp with the "std" feature on platforms
without libc, such as redox.
2017-06-15 10:12:11 +00:00
whitequark
53be7a7747
Add a sinkhole to the server example.
2017-05-29 16:54:51 +00:00
whitequark
91ef5c60c3
Add packet shaping to the fault injector.
2017-05-29 10:53:30 +00:00
whitequark
73bb4b8593
Implement TCP TIME-WAIT timeouts.
2017-04-21 16:01:49 +00:00
whitequark
06a019becf
Update README to mention lack of multicast support.
2017-03-06 04:01:06 +00:00
whitequark
c9a2ac7a40
Update README.
2017-03-05 06:18:50 +00:00
whitequark
ae89abe0a4
Update README to explain how the client example works.
2017-03-05 06:15:15 +00:00
whitequark
493a319132
Remove the `use_` prefix from feature names.
...
I haven't realized that a feature `log` with an optional crate
dependency `log` activates that dependency, and added the prefix
to avoid a "clash". This is unnecessary.
2017-03-05 05:49:38 +00:00
whitequark
be9699e814
Update TCP implementation status in README.
2017-01-27 03:09:26 +00:00
whitequark
87cfcf0b91
README: clarify status of 802.3 support.
2017-01-25 12:29:52 +00:00
whitequark
34d32f67a2
Gate the really verbose log messages behind a feature.
...
Otherwise, trying to use the socket buffers instead of BufReader/
BufWriter is doomed to overwhelm the application logic.
2017-01-19 12:23:32 +00:00
Taylor Cramer
c489c6b16f
Fix mislabeled features in README.md
2017-01-16 11:36:37 +00:00
whitequark
37afb84d74
Add the use_collections feature.
2017-01-10 12:09:26 +00:00
whitequark
27ccfc1bb0
Implement TCP retransmission.
2016-12-31 08:35:46 +00:00
whitequark
e1e0c2e838
Impement fault injection.
2016-12-31 01:05:29 +00:00
whitequark
287affb447
Implement the TCP TIME-WAIT state.
2016-12-28 05:33:12 +00:00
whitequark
1fdf545800
Fix outdated info in README.
2016-12-28 00:27:49 +00:00
whitequark
1fe5c5f4a4
We don't build on stable... yet.
2016-12-28 00:23:28 +00:00
whitequark
2404647163
Update Cargo metadata.
2016-12-28 00:21:01 +00:00
whitequark
22b0406c59
More sensible naming for examples.
2016-12-28 00:18:10 +00:00