Kai Lüke
2ac9c77d18
Document that Packetization Layer Path MTU Discovery in TCP is not supported
...
PLPMTU should be used if ICMP messages are dropped by the network.
Closes : #277
Approved by: whitequark
2019-02-27 00:29:01 +08:00
Kai Lüke
15c6c24a87
Increase number of assembler gaps to 32 for std/alloc targets
...
Only allowing four missing packets is hurting
performance for large receive windows.
The new value was picked by observing good
performance with 500 kB socket buffers.
Closes : #264
Approved by: whitequark
2018-10-05 18:36:35 +08:00
whitequark
b06bb735c7
Bring feature list in README up to date.
2018-08-28 00:13:35 +00:00
jhwgh1968
88016e675f
Fully implement TCP Window Scaling
...
Closes : #253
Approved by: whitequark
2018-08-20 06:57:44 +08:00
Astro
a8f2725784
Implement IGMPv1/v2 processing.
...
Closes : #178
Approved by: whitequark
2018-08-01 10:26:51 +08:00
Valentin Lorentz
2d716883b6
Add support for IPv6 gateways.
...
Closes : #207
Approved by: dlrobertson
2018-05-14 09:39:39 +08:00
Kai Lüke
febe22b578
Mention that Probing Zero Windows is not implemented for TCP
...
Closes : #201
Approved by: whitequark
2018-05-08 01:47:24 +08:00
Dan Robertson
879e3ea3cd
Update README detailing IPv6 support
...
Add sections detailing the current support for IPv6.
Closes : #196
Approved by: whitequark
2018-05-07 23:49:56 +08:00
Michal Podhradsky
31ab2c788e
Update README.md
2018-04-17 18:04:55 +00:00
Adam Greig
96118d370d
Use core::time::Duration. Closes #182 .
...
Duration is now in core, so we can use that instead of conditional
compilation on std and std::time::Duration.
Closes : #189
Approved by: whitequark
2018-04-11 07:24:32 +08:00
Herman J. Radtke III
d612a93163
Fix mistakes in README
...
- Fix binary path in tcpdump example
- Fix IP address in ping example
2018-01-13 18:42:17 +00:00
Dan Robertson
439e0a2cc1
Add the proto-ipv4 feature.
2017-12-24 13:28:59 +00:00
whitequark
d8685dbb1e
Unswitch the IP checksum loop for 30% improvement in performance.
2017-12-23 12:17:39 +00:00
whitequark
fb11c4a84d
Convert the stress.rs example into a simple benchmark.
...
There are no more bugs exposed by stress.rs as far as I can tell,
so let's make it do something more useful.
2017-12-22 20:59:30 +00:00
whitequark
ae17151f2a
Fix a few documentation issues. NFC.
2017-12-22 13:13:43 +00:00
whitequark
8b6050f711
Clean up our feature story and more aggressively test features.
2017-12-22 08:54:58 +00:00
whitequark
8863eb8db1
Add an HTTP client example.
2017-12-18 14:53:09 +00:00
whitequark
eaa50d0003
Rewrite the ARP cache to allow for flood protection and expiration.
2017-11-21 10:53:55 +00:00
whitequark
cee79f30f3
Update README.
2017-11-10 02:02:17 +00:00
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