├── .clang-format ├── .gitattributes ├── .gitignore ├── CMakeLists.txt ├── README.md ├── apps ├── CMakeLists.txt ├── bidirectional_stream_copy.cc ├── bidirectional_stream_copy.hh ├── bouncer.cc ├── lab7.cc ├── network_simulator.cc ├── tcp_benchmark.cc ├── tcp_ip_ethernet.cc ├── tcp_ipv4.cc ├── tcp_native.cc ├── tcp_udp.cc ├── tun.cc ├── udp_tcpdump.cc └── webget.cc ├── doctests ├── CMakeLists.txt ├── address_dt.cc ├── address_example_1.cc ├── address_example_2.cc ├── address_example_3.cc ├── parser_dt.cc ├── parser_example.cc ├── socket_dt.cc ├── socket_example_1.cc ├── socket_example_2.cc └── socket_example_3.cc ├── etc ├── Doxyfile.in ├── build_defs.cmake ├── build_type.cmake ├── cflags.cmake ├── clang_format.cmake ├── clang_tidy.cmake ├── cppcheck.cmake ├── cppreference-doxygen-web.tag.xml ├── doxygen.cmake ├── linux-man-doxygen-web.tag.xml ├── rfc-doxygen-web.tag.xml ├── sponge_doxygen.css ├── sponge_small.png ├── tests.cmake └── tunconfig ├── libsponge ├── CMakeLists.txt ├── byte_stream.cc ├── byte_stream.hh ├── network_interface.cc ├── network_interface.hh ├── router.cc ├── router.hh ├── stream_reassembler.cc ├── stream_reassembler.hh ├── tap.sh ├── tcp_connection.cc ├── tcp_connection.hh ├── tcp_helpers │ ├── arp_message.cc │ ├── arp_message.hh │ ├── ethernet_frame.cc │ ├── ethernet_frame.hh │ ├── ethernet_header.cc │ ├── ethernet_header.hh │ ├── fd_adapter.cc │ ├── fd_adapter.hh │ ├── ipv4_datagram.cc │ ├── ipv4_datagram.hh │ ├── ipv4_header.cc │ ├── ipv4_header.hh │ ├── lossy_fd_adapter.hh │ ├── tcp_config.hh │ ├── tcp_header.cc │ ├── tcp_header.hh │ ├── tcp_over_ip.cc │ ├── tcp_over_ip.hh │ ├── tcp_segment.cc │ ├── tcp_segment.hh │ ├── tcp_sponge_socket.cc │ ├── tcp_sponge_socket.hh │ ├── tcp_state.cc │ ├── tcp_state.hh │ ├── tuntap_adapter.cc │ └── tuntap_adapter.hh ├── tcp_receiver.cc ├── tcp_receiver.hh ├── tcp_sender.cc ├── tcp_sender.hh ├── util │ ├── address.cc │ ├── address.hh │ ├── buffer.cc │ ├── buffer.hh │ ├── eventloop.cc │ ├── eventloop.hh │ ├── file_descriptor.cc │ ├── file_descriptor.hh │ ├── parser.cc │ ├── parser.hh │ ├── socket.cc │ ├── socket.hh │ ├── tun.cc │ ├── tun.hh │ ├── util.cc │ └── util.hh ├── wrapping_integers.cc └── wrapping_integers.hh ├── tap.sh ├── tests ├── CMakeLists.txt ├── byte_stream_capacity.cc ├── byte_stream_construction.cc ├── byte_stream_many_writes.cc ├── byte_stream_one_write.cc ├── byte_stream_test_harness.cc ├── byte_stream_test_harness.hh ├── byte_stream_two_writes.cc ├── fsm_ack_rst.cc ├── fsm_ack_rst_relaxed.cc ├── fsm_ack_rst_win.cc ├── fsm_ack_rst_win_relaxed.cc ├── fsm_active_close.cc ├── fsm_connect.cc ├── fsm_connect_relaxed.cc ├── fsm_listen.cc ├── fsm_listen_relaxed.cc ├── fsm_loopback.cc ├── fsm_loopback_win.cc ├── fsm_passive_close.cc ├── fsm_reorder.cc ├── fsm_retx.cc ├── fsm_retx.hh ├── fsm_retx_relaxed.cc ├── fsm_retx_win.cc ├── fsm_stream_reassembler_cap.cc ├── fsm_stream_reassembler_dup.cc ├── fsm_stream_reassembler_harness.hh ├── fsm_stream_reassembler_holes.cc ├── fsm_stream_reassembler_many.cc ├── fsm_stream_reassembler_overlapping.cc ├── fsm_stream_reassembler_seq.cc ├── fsm_stream_reassembler_single.cc ├── fsm_stream_reassembler_win.cc ├── fsm_winsize.cc ├── ipv4_parser.cc ├── ipv4_parser.data ├── net_interface.cc ├── network_interface_test_harness.cc ├── network_interface_test_harness.hh ├── receiver_harness.hh ├── recv_close.cc ├── recv_connect.cc ├── recv_reorder.cc ├── recv_special.cc ├── recv_transmit.cc ├── recv_window.cc ├── send_ack.cc ├── send_close.cc ├── send_connect.cc ├── send_equivalence_checker.cc ├── send_equivalence_checker.hh ├── send_extra.cc ├── send_retx.cc ├── send_transmit.cc ├── send_window.cc ├── sender_harness.hh ├── string_conversions.hh ├── tcp_expectation.hh ├── tcp_expectation_forward.hh ├── tcp_fsm_test_harness.cc ├── tcp_fsm_test_harness.hh ├── tcp_parser.cc ├── test_err_if.hh ├── test_should_be.hh ├── test_utils.hh ├── test_utils_ipv4.hh ├── webget_t.sh ├── wrapping_integers_cmp.cc ├── wrapping_integers_roundtrip.cc ├── wrapping_integers_unwrap.cc └── wrapping_integers_wrap.cc ├── tun.sh └── txrx.sh /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/README.md -------------------------------------------------------------------------------- /apps/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/CMakeLists.txt -------------------------------------------------------------------------------- /apps/bidirectional_stream_copy.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/bidirectional_stream_copy.cc -------------------------------------------------------------------------------- /apps/bidirectional_stream_copy.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/bidirectional_stream_copy.hh -------------------------------------------------------------------------------- /apps/bouncer.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/bouncer.cc -------------------------------------------------------------------------------- /apps/lab7.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/lab7.cc -------------------------------------------------------------------------------- /apps/network_simulator.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/network_simulator.cc -------------------------------------------------------------------------------- /apps/tcp_benchmark.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/tcp_benchmark.cc -------------------------------------------------------------------------------- /apps/tcp_ip_ethernet.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/tcp_ip_ethernet.cc -------------------------------------------------------------------------------- /apps/tcp_ipv4.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/tcp_ipv4.cc -------------------------------------------------------------------------------- /apps/tcp_native.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/tcp_native.cc -------------------------------------------------------------------------------- /apps/tcp_udp.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/tcp_udp.cc -------------------------------------------------------------------------------- /apps/tun.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/tun.cc -------------------------------------------------------------------------------- /apps/udp_tcpdump.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/udp_tcpdump.cc -------------------------------------------------------------------------------- /apps/webget.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/apps/webget.cc -------------------------------------------------------------------------------- /doctests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/CMakeLists.txt -------------------------------------------------------------------------------- /doctests/address_dt.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/address_dt.cc -------------------------------------------------------------------------------- /doctests/address_example_1.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/address_example_1.cc -------------------------------------------------------------------------------- /doctests/address_example_2.cc: -------------------------------------------------------------------------------- 1 | const Address a_dns_server("18.71.0.151", 53); 2 | -------------------------------------------------------------------------------- /doctests/address_example_3.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/address_example_3.cc -------------------------------------------------------------------------------- /doctests/parser_dt.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/parser_dt.cc -------------------------------------------------------------------------------- /doctests/parser_example.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/parser_example.cc -------------------------------------------------------------------------------- /doctests/socket_dt.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/socket_dt.cc -------------------------------------------------------------------------------- /doctests/socket_example_1.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/socket_example_1.cc -------------------------------------------------------------------------------- /doctests/socket_example_2.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/socket_example_2.cc -------------------------------------------------------------------------------- /doctests/socket_example_3.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/doctests/socket_example_3.cc -------------------------------------------------------------------------------- /etc/Doxyfile.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/Doxyfile.in -------------------------------------------------------------------------------- /etc/build_defs.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/build_defs.cmake -------------------------------------------------------------------------------- /etc/build_type.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/build_type.cmake -------------------------------------------------------------------------------- /etc/cflags.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/cflags.cmake -------------------------------------------------------------------------------- /etc/clang_format.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/clang_format.cmake -------------------------------------------------------------------------------- /etc/clang_tidy.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/clang_tidy.cmake -------------------------------------------------------------------------------- /etc/cppcheck.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/cppcheck.cmake -------------------------------------------------------------------------------- /etc/cppreference-doxygen-web.tag.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/cppreference-doxygen-web.tag.xml -------------------------------------------------------------------------------- /etc/doxygen.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/doxygen.cmake -------------------------------------------------------------------------------- /etc/linux-man-doxygen-web.tag.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/linux-man-doxygen-web.tag.xml -------------------------------------------------------------------------------- /etc/rfc-doxygen-web.tag.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/rfc-doxygen-web.tag.xml -------------------------------------------------------------------------------- /etc/sponge_doxygen.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/sponge_doxygen.css -------------------------------------------------------------------------------- /etc/sponge_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/sponge_small.png -------------------------------------------------------------------------------- /etc/tests.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/etc/tests.cmake -------------------------------------------------------------------------------- /etc/tunconfig: -------------------------------------------------------------------------------- 1 | TUN_IP_PREFIX=169.254 2 | -------------------------------------------------------------------------------- /libsponge/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/CMakeLists.txt -------------------------------------------------------------------------------- /libsponge/byte_stream.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/byte_stream.cc -------------------------------------------------------------------------------- /libsponge/byte_stream.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/byte_stream.hh -------------------------------------------------------------------------------- /libsponge/network_interface.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/network_interface.cc -------------------------------------------------------------------------------- /libsponge/network_interface.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/network_interface.hh -------------------------------------------------------------------------------- /libsponge/router.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/router.cc -------------------------------------------------------------------------------- /libsponge/router.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/router.hh -------------------------------------------------------------------------------- /libsponge/stream_reassembler.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/stream_reassembler.cc -------------------------------------------------------------------------------- /libsponge/stream_reassembler.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/stream_reassembler.hh -------------------------------------------------------------------------------- /libsponge/tap.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tap.sh -------------------------------------------------------------------------------- /libsponge/tcp_connection.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_connection.cc -------------------------------------------------------------------------------- /libsponge/tcp_connection.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_connection.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/arp_message.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/arp_message.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/arp_message.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/arp_message.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/ethernet_frame.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/ethernet_frame.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/ethernet_frame.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/ethernet_frame.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/ethernet_header.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/ethernet_header.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/ethernet_header.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/ethernet_header.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/fd_adapter.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/fd_adapter.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/fd_adapter.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/fd_adapter.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/ipv4_datagram.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/ipv4_datagram.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/ipv4_datagram.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/ipv4_datagram.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/ipv4_header.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/ipv4_header.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/ipv4_header.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/ipv4_header.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/lossy_fd_adapter.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/lossy_fd_adapter.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_config.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_config.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_header.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_header.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_header.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_header.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_over_ip.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_over_ip.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_over_ip.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_over_ip.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_segment.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_segment.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_segment.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_segment.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_sponge_socket.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_sponge_socket.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_sponge_socket.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_sponge_socket.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_state.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_state.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tcp_state.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tcp_state.hh -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tuntap_adapter.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tuntap_adapter.cc -------------------------------------------------------------------------------- /libsponge/tcp_helpers/tuntap_adapter.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_helpers/tuntap_adapter.hh -------------------------------------------------------------------------------- /libsponge/tcp_receiver.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_receiver.cc -------------------------------------------------------------------------------- /libsponge/tcp_receiver.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_receiver.hh -------------------------------------------------------------------------------- /libsponge/tcp_sender.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_sender.cc -------------------------------------------------------------------------------- /libsponge/tcp_sender.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/tcp_sender.hh -------------------------------------------------------------------------------- /libsponge/util/address.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/address.cc -------------------------------------------------------------------------------- /libsponge/util/address.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/address.hh -------------------------------------------------------------------------------- /libsponge/util/buffer.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/buffer.cc -------------------------------------------------------------------------------- /libsponge/util/buffer.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/buffer.hh -------------------------------------------------------------------------------- /libsponge/util/eventloop.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/eventloop.cc -------------------------------------------------------------------------------- /libsponge/util/eventloop.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/eventloop.hh -------------------------------------------------------------------------------- /libsponge/util/file_descriptor.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/file_descriptor.cc -------------------------------------------------------------------------------- /libsponge/util/file_descriptor.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/file_descriptor.hh -------------------------------------------------------------------------------- /libsponge/util/parser.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/parser.cc -------------------------------------------------------------------------------- /libsponge/util/parser.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/parser.hh -------------------------------------------------------------------------------- /libsponge/util/socket.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/socket.cc -------------------------------------------------------------------------------- /libsponge/util/socket.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/socket.hh -------------------------------------------------------------------------------- /libsponge/util/tun.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/tun.cc -------------------------------------------------------------------------------- /libsponge/util/tun.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/tun.hh -------------------------------------------------------------------------------- /libsponge/util/util.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/util.cc -------------------------------------------------------------------------------- /libsponge/util/util.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/util/util.hh -------------------------------------------------------------------------------- /libsponge/wrapping_integers.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/wrapping_integers.cc -------------------------------------------------------------------------------- /libsponge/wrapping_integers.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/libsponge/wrapping_integers.hh -------------------------------------------------------------------------------- /tap.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tap.sh -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/CMakeLists.txt -------------------------------------------------------------------------------- /tests/byte_stream_capacity.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/byte_stream_capacity.cc -------------------------------------------------------------------------------- /tests/byte_stream_construction.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/byte_stream_construction.cc -------------------------------------------------------------------------------- /tests/byte_stream_many_writes.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/byte_stream_many_writes.cc -------------------------------------------------------------------------------- /tests/byte_stream_one_write.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/byte_stream_one_write.cc -------------------------------------------------------------------------------- /tests/byte_stream_test_harness.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/byte_stream_test_harness.cc -------------------------------------------------------------------------------- /tests/byte_stream_test_harness.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/byte_stream_test_harness.hh -------------------------------------------------------------------------------- /tests/byte_stream_two_writes.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/byte_stream_two_writes.cc -------------------------------------------------------------------------------- /tests/fsm_ack_rst.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_ack_rst.cc -------------------------------------------------------------------------------- /tests/fsm_ack_rst_relaxed.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_ack_rst_relaxed.cc -------------------------------------------------------------------------------- /tests/fsm_ack_rst_win.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_ack_rst_win.cc -------------------------------------------------------------------------------- /tests/fsm_ack_rst_win_relaxed.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_ack_rst_win_relaxed.cc -------------------------------------------------------------------------------- /tests/fsm_active_close.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_active_close.cc -------------------------------------------------------------------------------- /tests/fsm_connect.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_connect.cc -------------------------------------------------------------------------------- /tests/fsm_connect_relaxed.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_connect_relaxed.cc -------------------------------------------------------------------------------- /tests/fsm_listen.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_listen.cc -------------------------------------------------------------------------------- /tests/fsm_listen_relaxed.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_listen_relaxed.cc -------------------------------------------------------------------------------- /tests/fsm_loopback.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_loopback.cc -------------------------------------------------------------------------------- /tests/fsm_loopback_win.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_loopback_win.cc -------------------------------------------------------------------------------- /tests/fsm_passive_close.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_passive_close.cc -------------------------------------------------------------------------------- /tests/fsm_reorder.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_reorder.cc -------------------------------------------------------------------------------- /tests/fsm_retx.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_retx.cc -------------------------------------------------------------------------------- /tests/fsm_retx.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_retx.hh -------------------------------------------------------------------------------- /tests/fsm_retx_relaxed.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_retx_relaxed.cc -------------------------------------------------------------------------------- /tests/fsm_retx_win.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_retx_win.cc -------------------------------------------------------------------------------- /tests/fsm_stream_reassembler_cap.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_stream_reassembler_cap.cc -------------------------------------------------------------------------------- /tests/fsm_stream_reassembler_dup.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_stream_reassembler_dup.cc -------------------------------------------------------------------------------- /tests/fsm_stream_reassembler_harness.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_stream_reassembler_harness.hh -------------------------------------------------------------------------------- /tests/fsm_stream_reassembler_holes.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_stream_reassembler_holes.cc -------------------------------------------------------------------------------- /tests/fsm_stream_reassembler_many.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_stream_reassembler_many.cc -------------------------------------------------------------------------------- /tests/fsm_stream_reassembler_overlapping.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_stream_reassembler_overlapping.cc -------------------------------------------------------------------------------- /tests/fsm_stream_reassembler_seq.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_stream_reassembler_seq.cc -------------------------------------------------------------------------------- /tests/fsm_stream_reassembler_single.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_stream_reassembler_single.cc -------------------------------------------------------------------------------- /tests/fsm_stream_reassembler_win.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_stream_reassembler_win.cc -------------------------------------------------------------------------------- /tests/fsm_winsize.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/fsm_winsize.cc -------------------------------------------------------------------------------- /tests/ipv4_parser.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/ipv4_parser.cc -------------------------------------------------------------------------------- /tests/ipv4_parser.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/ipv4_parser.data -------------------------------------------------------------------------------- /tests/net_interface.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/net_interface.cc -------------------------------------------------------------------------------- /tests/network_interface_test_harness.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/network_interface_test_harness.cc -------------------------------------------------------------------------------- /tests/network_interface_test_harness.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/network_interface_test_harness.hh -------------------------------------------------------------------------------- /tests/receiver_harness.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/receiver_harness.hh -------------------------------------------------------------------------------- /tests/recv_close.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/recv_close.cc -------------------------------------------------------------------------------- /tests/recv_connect.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/recv_connect.cc -------------------------------------------------------------------------------- /tests/recv_reorder.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/recv_reorder.cc -------------------------------------------------------------------------------- /tests/recv_special.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/recv_special.cc -------------------------------------------------------------------------------- /tests/recv_transmit.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/recv_transmit.cc -------------------------------------------------------------------------------- /tests/recv_window.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/recv_window.cc -------------------------------------------------------------------------------- /tests/send_ack.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/send_ack.cc -------------------------------------------------------------------------------- /tests/send_close.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/send_close.cc -------------------------------------------------------------------------------- /tests/send_connect.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/send_connect.cc -------------------------------------------------------------------------------- /tests/send_equivalence_checker.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/send_equivalence_checker.cc -------------------------------------------------------------------------------- /tests/send_equivalence_checker.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/send_equivalence_checker.hh -------------------------------------------------------------------------------- /tests/send_extra.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/send_extra.cc -------------------------------------------------------------------------------- /tests/send_retx.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/send_retx.cc -------------------------------------------------------------------------------- /tests/send_transmit.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/send_transmit.cc -------------------------------------------------------------------------------- /tests/send_window.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/send_window.cc -------------------------------------------------------------------------------- /tests/sender_harness.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/sender_harness.hh -------------------------------------------------------------------------------- /tests/string_conversions.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/string_conversions.hh -------------------------------------------------------------------------------- /tests/tcp_expectation.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/tcp_expectation.hh -------------------------------------------------------------------------------- /tests/tcp_expectation_forward.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/tcp_expectation_forward.hh -------------------------------------------------------------------------------- /tests/tcp_fsm_test_harness.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/tcp_fsm_test_harness.cc -------------------------------------------------------------------------------- /tests/tcp_fsm_test_harness.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/tcp_fsm_test_harness.hh -------------------------------------------------------------------------------- /tests/tcp_parser.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/tcp_parser.cc -------------------------------------------------------------------------------- /tests/test_err_if.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/test_err_if.hh -------------------------------------------------------------------------------- /tests/test_should_be.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/test_should_be.hh -------------------------------------------------------------------------------- /tests/test_utils.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/test_utils.hh -------------------------------------------------------------------------------- /tests/test_utils_ipv4.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/test_utils_ipv4.hh -------------------------------------------------------------------------------- /tests/webget_t.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/webget_t.sh -------------------------------------------------------------------------------- /tests/wrapping_integers_cmp.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/wrapping_integers_cmp.cc -------------------------------------------------------------------------------- /tests/wrapping_integers_roundtrip.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/wrapping_integers_roundtrip.cc -------------------------------------------------------------------------------- /tests/wrapping_integers_unwrap.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/wrapping_integers_unwrap.cc -------------------------------------------------------------------------------- /tests/wrapping_integers_wrap.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tests/wrapping_integers_wrap.cc -------------------------------------------------------------------------------- /tun.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/tun.sh -------------------------------------------------------------------------------- /txrx.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Altair-Alpha/CS144-Lab/HEAD/txrx.sh --------------------------------------------------------------------------------