Commit Graph

57 Commits

Author SHA1 Message Date
jiangjianfeng 01cac4268e Manage dependencies at workspace level 2026-01-04 10:51:36 -08:00
jiangjianfeng 34ab63addb Manage package metadata at workspace level 2026-01-04 10:51:36 -08:00
jiangjianfeng bc230b24e1 Fix doc warnings 2026-01-02 11:26:43 -08:00
Zhang Junyang c7a2c81366 Miscellaneous clippy fixes for Rust 2024 2025-12-09 09:23:58 +08:00
Zhang Junyang 69327eee8d Upgrade to Rust 2024 2025-12-09 09:23:58 +08:00
Zhang Junyang 6d2679852f Fix `if let` chains that can be collapsed 2025-12-09 09:23:58 +08:00
Zhang Junyang 559ce94aba Fix elided lifetimes in return values 2025-12-09 09:23:58 +08:00
Zhang Junyang dd410444e5 Format with new `rustfmt` 2025-12-09 09:23:58 +08:00
jiangjianfeng 188b20eb99 Support SO_BROADCAST for UDP sockets 2025-11-28 10:34:26 +08:00
jiangjianfeng ff39f6df75 Correct the reuseaddr behavior 2025-07-28 10:20:50 +08:00
jiangjianfeng 2c41055470 Expose more methods on bigtcp iface 2025-04-15 17:20:12 +08:00
jiangjianfeng 7d24e63216 Move network polling code to bottom half 2025-04-15 14:54:51 +08:00
Ruihan Li d9f3a7761a Notify socket events directly 2025-03-20 11:44:47 +08:00
Ruihan Li 2f66f5d234 Revert "Set hash buckets as 2 to work around performance bottleneck"
This reverts commit 631ab21838.
2025-03-20 11:44:47 +08:00
Ruihan Li 7f323ac501 Don't remove TIME-WAIT sockets 2025-03-20 11:44:47 +08:00
Ruihan Li 240192f735 Make connection addition and deletion in order 2025-03-20 11:44:47 +08:00
Ruihan Li a7e718e812 Avoid `O(n)` iteration when sending TCP packets 2025-03-20 11:44:47 +08:00
Ruihan Li d40d452e9d Receive RST packets as `ECONNRESET` errors 2025-03-10 18:08:08 +08:00
Ruihan Li aa29640ed7 Send RST packets when appropriate 2025-03-10 18:08:08 +08:00
Ruihan Li eef56c770b Simplify the TCP state check 2025-03-10 18:08:08 +08:00
Ruihan Li 9e1c939a3f Remove `static_assertions` 2025-03-06 16:35:21 +08:00
Ruihan Li 0398ea3d17 Split `bound.rs` into small files 2025-02-18 19:20:05 +08:00
jiangjianfeng 3f951e0c0c Enable gVisor tcp_socket_test 2025-02-11 10:50:20 +08:00
Ruihan Li 95bbc7f367 Enforce `#[expect(lint)]` 2025-02-08 15:10:04 +08:00
Ruihan Li 0dca168717 Use `#[expect(lint)]`, not `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
jiangjianfeng 14f0f5a7b5 Avoid iterating over all sockets to remove dead sockets 2025-01-24 11:46:18 +08:00
jiangjianfeng 0c8200dc7b Add nginx benchmark and workaround 2025-01-01 10:43:14 +08:00
jiangjianfeng 631ab21838 Set hash buckets as 2 to work around performance bottleneck 2024-12-31 13:19:30 +08:00
Ruihan Li 7334c93ff5 Make bigtcp error wrappers consistent 2024-12-30 21:41:51 +08:00
jiangjianfeng 39cc0dca26 Add socket hash table 2024-12-30 09:46:14 +08:00
jiangjianfeng 9a540d0fb6 Notify virtqueue in a batch manner 2024-12-19 14:49:56 +08:00
Ruihan Li 776fd6a892 Create backlog sockets on demand 2024-12-17 20:14:53 +08:00
jiangjianfeng 58cf8ea681 Set keepalive and tcp_nodelay on underlying sockets 2024-12-15 16:50:43 +08:00
Ruihan Li 39a5e88baf Protect `used_ports` with `LocalIrqDisabled` 2024-12-12 20:50:12 +08:00
Ruihan Li 1716f4f324 Use `Pollee` as the socket observer 2024-12-12 20:50:12 +08:00
Ruihan Li fa76afb3a9 Make `Ext` a trait 2024-12-12 20:50:12 +08:00
Ruihan Li a260411a2a Implement `WriteIrqDisabled` 2024-12-03 12:07:24 +08:00
jiangjianfeng 495c93c2ad Refactor Rwlock to take type parameter 2024-11-21 15:46:10 +08:00
Ruihan Li 1c1da8ea06 Don't poll ifaces if not necessary 2024-11-20 16:39:18 +08:00
Ruihan Li fab61f5f66 Make `Pollee` stateless 2024-11-20 16:39:18 +08:00
jiangjianfeng 4c80367bc8 Fix CI lint error 2024-11-08 10:53:30 +08:00
Ruihan Li 9707b46c7f Bump smoltcp version 2024-11-08 10:49:02 +08:00
Jianfeng Jiang c1fd09fd41 Remove TimeWait socket if a new Syn is received 2024-11-07 14:21:52 +08:00
jiangjianfeng 090149eed7 Add tcp latency test over virtio-net 2024-10-14 20:59:25 +08:00
Zhang Junyang 9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +08:00
Ruihan Li 76d4b180d0 Increase the TCP socket buffer length 2024-09-30 20:37:57 +08:00
Ruihan Li ee1656ba35 Move packet dispatch out of smoltcp 2024-09-30 16:00:51 +08:00
jiangjianfeng f793259512 Avoiding busy loop in sending packet and optimize device caps 2024-09-30 15:03:58 +08:00
YanWQ-monad 839c2a6689 Extract shared code from timer 2024-09-30 10:02:08 +08:00
Ruihan Li fc77c474db Move and group methods 2024-09-26 15:22:16 +08:00