whitequark
|
de24d635fa
|
Rename features: std→use_std, logging→use_log.
|
2016-12-27 23:45:24 +00:00 |
whitequark
|
df69303624
|
Fix state names in documentation.
|
2016-12-27 23:28:57 +00:00 |
whitequark
|
979cd4c1bf
|
Implement the TCP LAST-ACK state.
|
2016-12-27 23:27:33 +00:00 |
whitequark
|
874264503d
|
Implement the TCP close operation.
|
2016-12-27 22:43:16 +00:00 |
whitequark
|
feaef0d7c4
|
Fix TCP sequence number in multiple consecutive non-ACKed data packets.
|
2016-12-27 20:39:46 +00:00 |
whitequark
|
17f96ba929
|
Fix TcpSocket::can_recv().
|
2016-12-27 20:17:46 +00:00 |
whitequark
|
71d1b4061f
|
Fix ACK validation of TCP RST packets.
|
2016-12-27 20:17:35 +00:00 |
whitequark
|
867dda659d
|
Fix several TCP out-of-bounds reads from the transmit buffer.
|
2016-12-27 20:17:03 +00:00 |
whitequark
|
69427c9e2f
|
Add TcpSocket::is_connected().
|
2016-12-27 18:54:45 +00:00 |
whitequark
|
e6357ee79c
|
Correctly propagate carries in the IP checksum.
|
2016-12-27 18:43:49 +00:00 |
whitequark
|
6b592742fd
|
Use the correct wrapping operations on TCP sequence numbers.
|
2016-12-27 18:34:13 +00:00 |
whitequark
|
bbff907e87
|
Fix examples.
|
2016-12-27 18:04:39 +00:00 |
whitequark
|
a8fc4fd832
|
Improve the user-facing TCP socket API.
|
2016-12-27 17:49:40 +00:00 |
whitequark
|
09040f3e91
|
Accept TCP ACK packets in CLOSE_WAIT state.
|
2016-12-27 14:13:42 +00:00 |
whitequark
|
d11016b138
|
Simplify TCP ACK handling.
|
2016-12-27 14:04:30 +00:00 |
whitequark
|
751a2269c3
|
Add support for TCP FIN in ESTABLISHED state.
|
2016-12-27 13:34:48 +00:00 |
whitequark
|
79553e81d4
|
Fix TCP incoming sequence number check.
|
2016-12-26 17:24:37 +00:00 |
whitequark
|
2d562c10fa
|
Add support for multiple outgoing in-flight TCP packets.
|
2016-12-26 16:59:39 +00:00 |
whitequark
|
3917ba5836
|
Shrink the buffers in examples for ease of testing.
|
2016-12-26 16:29:33 +00:00 |
whitequark
|
a6eab874be
|
Parameterize tracer over the write function.
|
2016-12-26 15:46:30 +00:00 |
whitequark
|
a8b4ed2deb
|
Implement the userspace side of TCP sockets.
|
2016-12-26 15:05:46 +00:00 |
whitequark
|
0e20ea9205
|
Implement TCP data transmission.
|
2016-12-26 14:24:17 +00:00 |
whitequark
|
0bf822c77e
|
Implement TCP RST handling.
|
2016-12-26 13:54:26 +00:00 |
whitequark
|
83f886826f
|
Validate ACK for TCP RST packets.
|
2016-12-26 13:10:39 +00:00 |
whitequark
|
f468f47959
|
Validate ACK even in TCP LISTEN state.
|
2016-12-26 13:00:39 +00:00 |
whitequark
|
2de98aea06
|
Add tests for TCP error conditions.
|
2016-12-26 12:44:41 +00:00 |
whitequark
|
25d453447f
|
Generalize the TCP tests to accept multiple packets.
|
2016-12-26 12:38:40 +00:00 |
whitequark
|
ea78053dc1
|
Factor out IpRepr into the wire module.
|
2016-12-26 11:20:20 +00:00 |
whitequark
|
ea07e79bdf
|
Group IP header parts in the socket layer as struct IpRepr.
|
2016-12-26 10:06:49 +00:00 |
whitequark
|
b5a9917950
|
Implement TCP data acknowledgement.
|
2016-12-25 11:19:50 +00:00 |
whitequark
|
0ae27678a0
|
Implement TCP data reception.
|
2016-12-25 11:09:50 +00:00 |
whitequark
|
bdfb99ea16
|
Validate TCP ACKs.
|
2016-12-25 09:22:49 +00:00 |
whitequark
|
fa1a51b90a
|
Add tests for TCP state machine.
|
2016-12-24 23:06:42 +00:00 |
whitequark
|
f5f0b8e435
|
Add basic TCP three-way handshake.
|
2016-12-23 08:05:50 +00:00 |
whitequark
|
3c05139204
|
Add logging capability.
|
2016-12-23 07:59:38 +00:00 |
whitequark
|
f46c77bdd6
|
Fix autoselection of source address.
|
2016-12-23 07:57:54 +00:00 |
whitequark
|
6539019f19
|
Get rid of explicit backlog.
|
2016-12-23 07:34:10 +00:00 |
whitequark
|
6d8d3cb29d
|
Use correct sequence numbers in TCP RST packets.
|
2016-12-23 07:34:10 +00:00 |
whitequark
|
3bd715e1bc
|
Use signed integers to represent TCP sequence numbers.
|
2016-12-23 07:34:07 +00:00 |
whitequark
|
2f24fb263b
|
Populate ARP cache from incoming IP packets.
|
2016-12-23 07:31:42 +00:00 |
whitequark
|
1ad8f9c9bd
|
Implement conversion of incoming TCP connections into TCP streams.
|
2016-12-20 22:57:21 +00:00 |
whitequark
|
53ddc9476f
|
Fix no_std build.
|
2016-12-20 22:06:36 +00:00 |
whitequark
|
bddb5f9127
|
Implement TCP server sockets.
|
2016-12-20 19:51:52 +00:00 |
whitequark
|
5a64a87dbe
|
Reply with ICMP dest. unreachable or TCP RST from unused ports.
|
2016-12-20 19:18:35 +00:00 |
whitequark
|
a3481537d9
|
Add some sanity into buffer names (avoid clases with wire::*).
|
2016-12-20 13:56:59 +00:00 |
whitequark
|
0d9a8a417d
|
Add some sanity into enumeration names (avoid "*Type").
|
2016-12-20 13:54:11 +00:00 |
whitequark
|
c562ea784d
|
Fix TcpRepr field visibility.
|
2016-12-20 13:44:41 +00:00 |
whitequark
|
3d5f47b89f
|
Implement TCP representation printing.
|
2016-12-20 13:16:29 +00:00 |
whitequark
|
513923725e
|
Implement TCP representation parsing and emission.
|
2016-12-20 12:52:33 +00:00 |
whitequark
|
31040bf0fc
|
In Repr::emit, do not assume that the packet is pre-zeroed.
|
2016-12-20 09:41:08 +00:00 |
whitequark
|
6d2c11fb61
|
Fix IP checksum calculation for odd-length packets.
|
2016-12-20 00:17:29 +00:00 |
whitequark
|
095005a597
|
Empty transmit buffers before starting to receive.
|
2016-12-20 00:07:02 +00:00 |
whitequark
|
f86fac2223
|
Sort out buffer lengths.
|
2016-12-19 23:50:04 +00:00 |
whitequark
|
9c922d0306
|
Implement TCP packet support.
|
2016-12-18 21:42:44 +00:00 |
whitequark
|
71fc81b7c5
|
Implement TCP stream ring buffers.
|
2016-12-18 19:40:50 +00:00 |
whitequark
|
fe96ff3015
|
UdpBufferElem → UdpPacket
|
2016-12-18 19:40:02 +00:00 |
whitequark
|
2dc837be9d
|
Fix lifetime variance.
|
2016-12-17 06:39:18 +00:00 |
whitequark
|
31e44445f5
|
Working UDP loopback.
|
2016-12-17 05:12:45 +00:00 |
whitequark
|
c672b94ef7
|
Rethink the buffering strategy with Managed<T>.
|
2016-12-17 04:15:55 +00:00 |
whitequark
|
d1d910b46d
|
Significantly simplify buffering.
|
2016-12-15 17:27:17 +00:00 |
whitequark
|
3fb5f04b07
|
Implement network part of communication through UDP sockets.
|
2016-12-15 05:40:55 +00:00 |
whitequark
|
fb172ed1ed
|
Implement UDP sockets.
|
2016-12-14 17:39:44 +00:00 |
whitequark
|
2b01a3dace
|
Implement UDP representation parsing and emission.
|
2016-12-14 02:11:50 +00:00 |
whitequark
|
5a721a7b11
|
Implement UDP packet support.
|
2016-12-14 00:11:45 +00:00 |
whitequark
|
57e544cc8c
|
Return interior pointers more uniformly.
|
2016-12-13 22:37:05 +00:00 |
whitequark
|
53309f8271
|
Simplify checksum computation.
|
2016-12-13 17:31:08 +00:00 |
whitequark
|
1c616218a1
|
Respond with ICMP echo request data in echo reply.
|
2016-12-13 17:02:50 +00:00 |
whitequark
|
d587981ef5
|
Implement ICMPv4 echo replies.
|
2016-12-12 23:22:59 +00:00 |
whitequark
|
c18d6bf04d
|
Actually commit ARP snooping.
|
2016-12-12 22:41:34 +00:00 |
whitequark
|
2482117682
|
Implement ICMPv4 echo request/reply representation parsing and emission.
|
2016-12-12 22:38:13 +00:00 |
whitequark
|
9fa0bffb7a
|
Implement ICMPv4 echo request/reply packet support.
|
2016-12-12 22:11:59 +00:00 |
whitequark
|
c5bdf30458
|
Implement IPv4 representation parsing and emission.
|
2016-12-12 20:09:37 +00:00 |
whitequark
|
921ca353b4
|
Implement IPv4 packet support.
|
2016-12-12 17:26:06 +00:00 |
whitequark
|
7f1b88ef45
|
Implement ARP snooping.
|
2016-12-12 12:30:35 +00:00 |
whitequark
|
4421b2fe27
|
Implement ARP replies.
|
2016-12-12 07:19:53 +00:00 |
whitequark
|
d862512582
|
Implement an ARP LRU cache.
|
2016-12-12 02:39:46 +00:00 |
whitequark
|
2e80d69384
|
Naming consistency.
|
2016-12-11 00:50:34 +00:00 |
whitequark
|
2a438b6e8d
|
Factor out pretty-printing of packets.
|
2016-12-11 00:48:44 +00:00 |
whitequark
|
e7d6237279
|
Implement TAP interface support.
|
2016-12-11 00:30:40 +00:00 |
whitequark
|
77225b77a9
|
Fix tests.
|
2016-12-11 00:30:40 +00:00 |
whitequark
|
fb3faa9d28
|
Implement a trait for sending and receiving frames.
|
2016-12-10 19:27:07 +00:00 |
whitequark
|
683652a9a6
|
smoltcp::interface → smoltcp::phy.
|
2016-12-10 18:33:19 +00:00 |
whitequark
|
b1149e746c
|
Implement raw socket interface and tcpdump.
|
2016-12-10 16:58:30 +00:00 |
whitequark
|
32ff49a795
|
Move protocol-related data structures to smoltcp::wire.
|
2016-12-10 13:13:13 +00:00 |
whitequark
|
d966c1870b
|
Implement ARP representation parsing and emission.
|
2016-12-10 11:16:58 +00:00 |
whitequark
|
adff3c0069
|
Imlpement ARP packet support.
|
2016-12-10 10:40:46 +00:00 |
whitequark
|
c638f45373
|
Implement Ethernet II frame support.
|
2016-12-10 09:55:45 +00:00 |