Files
LibreQoS/src/rust/Cargo.lock

3122 lines
74 KiB
Plaintext
Raw Normal View History

Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "aead"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c192eb8f11fc081b0fe4259ba5af04217d4e0faddd02417310a927911abd7c8"
dependencies = [
"crypto-common",
"generic-array",
]
[[package]]
name = "aes"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241"
dependencies = [
"cfg-if 1.0.0",
"cipher",
"cpufeatures",
]
[[package]]
name = "aes-gcm"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c"
dependencies = [
"aead",
"aes",
"cipher",
"ctr",
"ghash",
"subtle",
]
[[package]]
name = "aho-corasick"
version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
dependencies = [
"memchr",
]
[[package]]
name = "alloc-no-stdlib"
version = "2.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
[[package]]
name = "alloc-stdlib"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
dependencies = [
"alloc-no-stdlib",
]
[[package]]
name = "ansi_term"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
dependencies = [
"winapi",
]
[[package]]
name = "anyhow"
version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6"
[[package]]
name = "async-compression"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a"
dependencies = [
"brotli",
"flate2",
"futures-core",
"memchr",
"pin-project-lite",
"tokio",
]
[[package]]
name = "async-stream"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e"
dependencies = [
"async-stream-impl",
"futures-core",
]
[[package]]
name = "async-stream-impl"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "async-trait"
version = "0.1.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "atomic"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b88d82667eca772c4aa12f0f1348b3ae643424c8876448f3f7bd5787032e234c"
dependencies = [
"autocfg",
]
[[package]]
name = "atty"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi 0.1.19",
"libc",
"winapi",
]
[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "base64"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]]
name = "binascii"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "383d29d513d8764dcdc42ea295d979eb99c3c9f00607b3692cf68a431f7dca72"
[[package]]
name = "bincode"
version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
dependencies = [
"serde",
]
[[package]]
name = "bindgen"
version = "0.53.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c72a978d268b1d70b0e963217e60fdabd9523a941457a6c42a7315d15c7e89e5"
dependencies = [
"bitflags",
"cexpr",
"cfg-if 0.1.10",
"clang-sys",
"clap 2.34.0",
"env_logger",
"lazy_static",
"lazycell",
"log",
"peeking_take_while",
"proc-macro2",
"quote",
"regex",
"rustc-hash",
"shlex",
"which",
]
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "block-buffer"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
dependencies = [
"generic-array",
]
[[package]]
name = "brotli"
version = "3.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
"brotli-decompressor",
]
[[package]]
name = "brotli-decompressor"
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
]
[[package]]
name = "bstr"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
dependencies = [
"lazy_static",
"memchr",
"regex-automata",
"serde",
]
[[package]]
name = "bumpalo"
version = "3.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "byteorder"
version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
[[package]]
name = "cassowary"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
[[package]]
name = "cast"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "cc"
version = "1.0.77"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
[[package]]
name = "cexpr"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27"
dependencies = [
"nom",
]
[[package]]
name = "cfg-if"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "cipher"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e"
dependencies = [
"crypto-common",
"inout",
]
[[package]]
name = "clang-sys"
version = "0.29.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe6837df1d5cba2397b835c8530f51723267e16abbf83892e9e5af4f0e5dd10a"
dependencies = [
"glob",
"libc",
"libloading",
]
[[package]]
name = "clap"
version = "2.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
dependencies = [
"ansi_term",
"atty",
"bitflags",
"strsim 0.8.0",
"textwrap",
"unicode-width",
"vec_map",
]
[[package]]
name = "clap"
version = "4.0.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d"
dependencies = [
"bitflags",
"clap_derive",
"clap_lex",
"is-terminal",
"once_cell",
"strsim 0.10.0",
"termcolor",
]
[[package]]
name = "clap_derive"
version = "4.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014"
dependencies = [
"heck",
"proc-macro-error",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "clap_lex"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8"
dependencies = [
"os_str_bytes",
]
[[package]]
name = "cookie"
version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "344adc371239ef32293cb1c4fe519592fcf21206c79c02854320afcdf3ab4917"
dependencies = [
"aes-gcm",
"base64",
"hkdf",
"hmac",
"percent-encoding",
"rand",
"sha2",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"subtle",
"time",
"version_check",
]
[[package]]
name = "core-foundation"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
dependencies = [
"core-foundation-sys",
"libc",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "core-foundation-sys"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
[[package]]
name = "cpufeatures"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
dependencies = [
"libc",
]
[[package]]
name = "crc32fast"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "criterion"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f"
dependencies = [
"atty",
"cast",
"clap 2.34.0",
"criterion-plot",
"csv",
"futures",
"itertools",
"lazy_static",
"num-traits",
"oorandom",
"plotters",
"rayon",
"regex",
"serde",
"serde_cbor",
"serde_derive",
"serde_json",
"tinytemplate",
"tokio",
"walkdir",
]
[[package]]
name = "criterion-plot"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876"
dependencies = [
"cast",
"itertools",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "crossbeam-channel"
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-epoch",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-epoch"
version = "0.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
dependencies = [
"autocfg",
"cfg-if 1.0.0",
"crossbeam-utils",
"memoffset 0.7.1",
"scopeguard",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "crossterm"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c36c10130df424b2f3552fcc2ddcd9b28a27b1e54b358b45874f88d1ca6888c"
dependencies = [
"bitflags",
"crossterm_winapi 0.7.0",
"lazy_static",
"libc",
"mio 0.7.14",
"parking_lot 0.11.2",
"serde",
"signal-hook 0.1.17",
"winapi",
]
[[package]]
name = "crossterm"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
dependencies = [
"bitflags",
"crossterm_winapi 0.9.0",
"libc",
"mio 0.8.5",
"parking_lot 0.12.1",
"signal-hook 0.3.14",
"signal-hook-mio",
"winapi",
]
[[package]]
name = "crossterm_winapi"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0da8964ace4d3e4a044fd027919b2237000b24315a37c916f61809f1ff2140b9"
dependencies = [
"winapi",
]
[[package]]
name = "crossterm_winapi"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c"
dependencies = [
"winapi",
]
[[package]]
name = "crypto-common"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
"generic-array",
"rand_core",
"typenum",
]
[[package]]
name = "csv"
version = "1.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
dependencies = [
"bstr",
"csv-core",
"itoa 0.4.8",
"ryu",
"serde",
]
[[package]]
name = "csv-core"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
dependencies = [
"memchr",
]
[[package]]
name = "ctr"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
dependencies = [
"cipher",
]
[[package]]
name = "default-net"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14e349ed1e06fb344a7dd8b5a676375cf671b31e8900075dd2be816efc063a63"
dependencies = [
"libc",
"memalloc",
"system-configuration",
"windows 0.30.0",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "devise"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50c7580b072f1c8476148f16e0a0d5dedddab787da98d86c5082c5e9ed8ab595"
dependencies = [
"devise_codegen",
"devise_core",
]
[[package]]
name = "devise_codegen"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "123c73e7a6e51b05c75fe1a1b2f4e241399ea5740ed810b0e3e6cacd9db5e7b2"
dependencies = [
"devise_core",
"quote",
]
[[package]]
name = "devise_core"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "841ef46f4787d9097405cac4e70fb8644fc037b526e8c14054247c0263c400d0"
dependencies = [
"bitflags",
"proc-macro2",
"proc-macro2-diagnostics",
"quote",
"syn",
]
[[package]]
name = "digest"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
dependencies = [
"block-buffer",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"crypto-common",
"subtle",
]
[[package]]
name = "either"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
[[package]]
name = "encoding_rs"
version = "0.8.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "env_logger"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
dependencies = [
"atty",
"humantime",
"log",
"regex",
"termcolor",
]
[[package]]
name = "errno"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
dependencies = [
"errno-dragonfly",
"libc",
"winapi",
]
[[package]]
name = "errno-dragonfly"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "fastrand"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
dependencies = [
"instant",
]
[[package]]
name = "figment"
version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e56602b469b2201400dec66a66aec5a9b8761ee97cd1b8c96ab2483fcc16cc9"
dependencies = [
"atomic",
"pear",
"serde",
"toml",
"uncased",
"version_check",
]
[[package]]
name = "filetime"
version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9"
dependencies = [
"cfg-if 1.0.0",
"libc",
"redox_syscall",
"windows-sys",
]
[[package]]
name = "flate2"
version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
dependencies = [
"crc32fast",
"miniz_oxide",
]
[[package]]
name = "fnv"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "fs_extra"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "futures"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
dependencies = [
"futures-channel",
"futures-core",
"futures-executor",
"futures-io",
"futures-sink",
"futures-task",
"futures-util",
]
[[package]]
name = "futures-channel"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
dependencies = [
"futures-core",
"futures-sink",
]
[[package]]
name = "futures-core"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
[[package]]
name = "futures-executor"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
dependencies = [
"futures-core",
"futures-task",
"futures-util",
]
[[package]]
name = "futures-io"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
[[package]]
name = "futures-macro"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "futures-sink"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
[[package]]
name = "futures-task"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
[[package]]
name = "futures-util"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
dependencies = [
"futures-channel",
"futures-core",
"futures-io",
"futures-macro",
"futures-sink",
"futures-task",
"memchr",
"pin-project-lite",
"pin-utils",
"slab",
]
[[package]]
name = "generator"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d266041a359dfa931b370ef684cceb84b166beb14f7f0421f4a6a3d0c446d12e"
dependencies = [
"cc",
"libc",
"log",
"rustversion",
"windows 0.39.0",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
]
[[package]]
name = "generic-array"
version = "0.14.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
dependencies = [
"typenum",
"version_check",
]
[[package]]
name = "getrandom"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
dependencies = [
"cfg-if 1.0.0",
"libc",
"wasi",
]
[[package]]
name = "ghash"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40"
dependencies = [
"opaque-debug",
"polyval",
]
[[package]]
name = "glob"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
[[package]]
name = "h2"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
dependencies = [
"bytes",
"fnv",
"futures-core",
"futures-sink",
"futures-util",
"http",
"indexmap",
"slab",
"tokio",
"tokio-util",
"tracing",
]
[[package]]
name = "half"
version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "hashbrown"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]]
name = "heck"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
[[package]]
name = "hermit-abi"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
[[package]]
name = "hermit-abi"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
dependencies = [
"libc",
]
[[package]]
name = "hkdf"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
dependencies = [
"hmac",
]
[[package]]
name = "hmac"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
dependencies = [
"digest",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
]
[[package]]
name = "http"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
dependencies = [
"bytes",
"fnv",
"itoa 1.0.4",
]
[[package]]
name = "http-body"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
dependencies = [
"bytes",
"http",
"pin-project-lite",
]
[[package]]
name = "httparse"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
[[package]]
name = "httpdate"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
[[package]]
name = "humantime"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
dependencies = [
"quick-error",
]
[[package]]
name = "hyper"
version = "0.14.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c"
dependencies = [
"bytes",
"futures-channel",
"futures-core",
"futures-util",
"h2",
"http",
"http-body",
"httparse",
"httpdate",
"itoa 1.0.4",
"pin-project-lite",
"socket2",
"tokio",
"tower-service",
"tracing",
"want",
]
[[package]]
name = "indexmap"
version = "1.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
dependencies = [
"autocfg",
"hashbrown",
"serde",
]
[[package]]
name = "indoc"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da2d6f23ffea9d7e76c53eee25dfb67bcd8fde7f1198b0855350698c9f07c780"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "inlinable_string"
version = "0.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb"
[[package]]
name = "inotify"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
dependencies = [
"bitflags",
"inotify-sys",
"libc",
]
[[package]]
name = "inotify-sys"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
dependencies = [
"libc",
]
[[package]]
name = "inout"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
dependencies = [
"generic-array",
]
[[package]]
name = "instant"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "io-lifetimes"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c"
dependencies = [
"libc",
"windows-sys",
]
[[package]]
name = "ip_network"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1"
[[package]]
name = "ip_network_table"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4099b7cfc5c5e2fe8c5edf3f6f7adf7a714c9cc697534f63a5a5da30397cb2c0"
dependencies = [
"ip_network",
"ip_network_table-deps-treebitmap",
]
[[package]]
name = "ip_network_table-deps-treebitmap"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e537132deb99c0eb4b752f0346b6a836200eaaa3516dd7e5514b63930a09e5d"
[[package]]
name = "is-terminal"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330"
dependencies = [
"hermit-abi 0.2.6",
"io-lifetimes",
"rustix",
"windows-sys",
]
[[package]]
name = "itertools"
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
dependencies = [
"either",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "itoa"
version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
[[package]]
name = "itoa"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
[[package]]
name = "jemalloc-sys"
version = "0.5.2+5.3.0-patched"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "134163979b6eed9564c98637b710b40979939ba351f59952708234ea11b5f3f8"
dependencies = [
"cc",
"fs_extra",
"libc",
]
[[package]]
name = "jemallocator"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16c2514137880c52b0b4822b563fadd38257c1f380858addb74a400889696ea6"
dependencies = [
"jemalloc-sys",
"libc",
]
[[package]]
name = "js-sys"
version = "0.3.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
dependencies = [
"wasm-bindgen",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "kqueue"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98"
dependencies = [
"kqueue-sys",
"libc",
]
[[package]]
name = "kqueue-sys"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
dependencies = [
"bitflags",
"libc",
]
[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "lazycell"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "libbpf-sys"
version = "1.0.4+v1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6295785ed176d06d7a03595331cd89b986a0f4af84a7f35e8e745af9787f0b13"
dependencies = [
"cc",
"pkg-config",
]
[[package]]
name = "libc"
version = "0.2.137"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
[[package]]
name = "libloading"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753"
dependencies = [
"cc",
"winapi",
]
[[package]]
name = "linux-raw-sys"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f"
[[package]]
name = "lock_api"
version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
dependencies = [
"autocfg",
"scopeguard",
]
[[package]]
name = "log"
version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "log-once"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ae8737764ac12e9cfc5ab42a9ec2bdb7e2b376ce9694a4dffc92b7adee09cb5"
dependencies = [
"log",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "loom"
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5"
dependencies = [
"cfg-if 1.0.0",
"generator",
"scoped-tls",
"serde",
"serde_json",
"tracing",
"tracing-subscriber",
]
[[package]]
name = "lqos_bus"
version = "0.1.0"
dependencies = [
"bincode",
"cc",
"criterion",
"log",
"lqos_config",
"lqos_utils",
"nix",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"serde",
"thiserror",
"tokio",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
]
[[package]]
name = "lqos_config"
version = "0.1.0"
dependencies = [
"csv",
"ip_network",
"ip_network_table",
"log",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"serde",
"sha2",
"thiserror",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"toml",
"uuid",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
]
[[package]]
name = "lqos_node_manager"
version = "0.1.0"
dependencies = [
"anyhow",
"default-net",
"jemallocator",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"lazy_static",
"lqos_bus",
"lqos_config",
"lqos_utils",
"nix",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"parking_lot 0.12.1",
"rocket",
"rocket_async_compression",
"sysinfo",
]
[[package]]
name = "lqos_python"
version = "0.1.0"
dependencies = [
"anyhow",
"lqos_bus",
"pyo3",
"tokio",
]
[[package]]
name = "lqos_queue_tracker"
version = "0.1.0"
dependencies = [
"criterion",
"lazy_static",
"log",
"log-once",
"lqos_bus",
"lqos_config",
"lqos_sys",
"lqos_utils",
"parking_lot 0.12.1",
"rayon",
"serde",
"serde_json",
"thiserror",
"tokio",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "lqos_rs"
version = "0.1.0"
[[package]]
name = "lqos_sys"
version = "0.1.0"
dependencies = [
"anyhow",
"bindgen",
"byteorder",
"libbpf-sys",
"log",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"lqos_bus",
"lqos_config",
"nix",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
]
[[package]]
name = "lqos_utils"
version = "0.1.0"
dependencies = [
"log",
"nix",
"notify",
"serde",
"thiserror",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "lqosd"
version = "0.1.0"
dependencies = [
"anyhow",
"env_logger",
"jemallocator",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"lazy_static",
"log",
"lqos_bus",
"lqos_config",
"lqos_queue_tracker",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"lqos_sys",
"lqos_utils",
"nix",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"parking_lot 0.12.1",
"rayon",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"serde",
"serde_json",
"signal-hook 0.3.14",
"sysinfo",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"tokio",
]
[[package]]
name = "lqtop"
version = "0.1.0"
dependencies = [
"anyhow",
"crossterm 0.19.0",
"lqos_bus",
"lqos_utils",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"tokio",
"tui",
]
[[package]]
name = "matchers"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
dependencies = [
"regex-automata",
]
[[package]]
name = "memalloc"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "memoffset"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
dependencies = [
"autocfg",
]
[[package]]
name = "memoffset"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
dependencies = [
"autocfg",
]
[[package]]
name = "mime"
version = "0.3.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
[[package]]
name = "miniz_oxide"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
dependencies = [
"adler",
]
[[package]]
name = "mio"
version = "0.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc"
dependencies = [
"libc",
"log",
"miow",
"ntapi 0.3.7",
"winapi",
]
[[package]]
name = "mio"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
dependencies = [
"libc",
"log",
"wasi",
"windows-sys",
]
[[package]]
name = "miow"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
dependencies = [
"winapi",
]
[[package]]
name = "multer"
version = "2.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ed4198ce7a4cbd2a57af78d28c6fbb57d81ac5f1d6ad79ac6c5587419cbdf22"
dependencies = [
"bytes",
"encoding_rs",
"futures-util",
"http",
"httparse",
"log",
"memchr",
"mime",
"spin",
"tokio",
"tokio-util",
"version_check",
]
[[package]]
name = "nix"
version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
dependencies = [
"autocfg",
"bitflags",
"cfg-if 1.0.0",
"libc",
"memoffset 0.6.5",
"pin-utils",
]
[[package]]
name = "nom"
version = "5.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
dependencies = [
"memchr",
"version_check",
]
[[package]]
name = "notify"
version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed2c66da08abae1c024c01d635253e402341b4060a12e99b31c7594063bf490a"
dependencies = [
"bitflags",
"filetime",
"inotify",
"kqueue",
"libc",
"mio 0.8.5",
"walkdir",
"winapi",
]
[[package]]
name = "ntapi"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
dependencies = [
"winapi",
]
[[package]]
name = "ntapi"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc51db7b362b205941f71232e56c625156eb9a929f8cf74a428fd5bc094a4afc"
dependencies = [
"winapi",
]
[[package]]
name = "nu-ansi-term"
version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
"overload",
"winapi",
]
[[package]]
name = "num-traits"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
dependencies = [
"autocfg",
]
[[package]]
name = "num_cpus"
version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5"
dependencies = [
"hermit-abi 0.1.19",
"libc",
]
[[package]]
name = "once_cell"
version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
[[package]]
name = "oorandom"
version = "11.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "opaque-debug"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "os_str_bytes"
version = "6.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "parking_lot"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
dependencies = [
"instant",
"lock_api",
"parking_lot_core 0.8.5",
]
[[package]]
name = "parking_lot"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
"parking_lot_core 0.9.5",
]
[[package]]
name = "parking_lot_core"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
dependencies = [
"cfg-if 1.0.0",
"instant",
"libc",
"redox_syscall",
"smallvec",
"winapi",
]
[[package]]
name = "parking_lot_core"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba"
dependencies = [
"cfg-if 1.0.0",
"libc",
"redox_syscall",
"smallvec",
"windows-sys",
]
[[package]]
name = "paste"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1"
[[package]]
name = "pear"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15e44241c5e4c868e3eaa78b7c1848cadd6344ed4f54d029832d32b415a58702"
dependencies = [
"inlinable_string",
"pear_codegen",
"yansi",
]
[[package]]
name = "pear_codegen"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82a5ca643c2303ecb740d506539deba189e16f2754040a42901cd8105d0282d0"
dependencies = [
"proc-macro2",
"proc-macro2-diagnostics",
"quote",
"syn",
]
[[package]]
name = "peeking_take_while"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
[[package]]
name = "percent-encoding"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
[[package]]
name = "pin-project-lite"
version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
[[package]]
name = "pin-utils"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "pkg-config"
version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
[[package]]
name = "plotters"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97"
dependencies = [
"num-traits",
"plotters-backend",
"plotters-svg",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "plotters-backend"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142"
[[package]]
name = "plotters-svg"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f"
dependencies = [
"plotters-backend",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "polyval"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6"
dependencies = [
"cfg-if 1.0.0",
"cpufeatures",
"opaque-debug",
"universal-hash",
]
[[package]]
name = "ppv-lite86"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "proc-macro-error"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
"syn",
"version_check",
]
[[package]]
name = "proc-macro-error-attr"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
"proc-macro2",
"quote",
"version_check",
]
[[package]]
name = "proc-macro2"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
dependencies = [
"unicode-ident",
]
[[package]]
name = "proc-macro2-diagnostics"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada"
dependencies = [
"proc-macro2",
"quote",
"syn",
"version_check",
"yansi",
]
[[package]]
name = "pyo3"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "268be0c73583c183f2b14052337465768c07726936a260f480f0857cb95ba543"
dependencies = [
"cfg-if 1.0.0",
"indoc",
"libc",
"memoffset 0.6.5",
"parking_lot 0.12.1",
"pyo3-build-config",
"pyo3-ffi",
"pyo3-macros",
"unindent",
]
[[package]]
name = "pyo3-build-config"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28fcd1e73f06ec85bf3280c48c67e731d8290ad3d730f8be9dc07946923005c8"
dependencies = [
"once_cell",
"target-lexicon",
]
[[package]]
name = "pyo3-ffi"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f6cb136e222e49115b3c51c32792886defbfb0adead26a688142b346a0b9ffc"
dependencies = [
"libc",
"pyo3-build-config",
]
[[package]]
name = "pyo3-macros"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94144a1266e236b1c932682136dc35a9dee8d3589728f68130c7c3861ef96b28"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
"quote",
"syn",
]
[[package]]
name = "pyo3-macros-backend"
version = "0.17.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8df9be978a2d2f0cdebabb03206ed73b11314701a5bfe71b0d753b81997777f"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "quick-error"
version = "1.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
[[package]]
name = "quote"
version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
dependencies = [
"proc-macro2",
]
[[package]]
name = "rand"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
"rand_chacha",
"rand_core",
]
[[package]]
name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
"rand_core",
]
[[package]]
name = "rand_core"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
"getrandom",
]
[[package]]
name = "rayon"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b"
dependencies = [
"crossbeam-deque",
"either",
"rayon-core",
]
[[package]]
name = "rayon-core"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3"
dependencies = [
"crossbeam-channel",
"crossbeam-deque",
"crossbeam-utils",
"num_cpus",
]
[[package]]
name = "redox_syscall"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [
"bitflags",
]
[[package]]
name = "ref-cast"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53b15debb4f9d60d767cd8ca9ef7abb2452922f3214671ff052defc7f3502c44"
dependencies = [
"ref-cast-impl",
]
[[package]]
name = "ref-cast-impl"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abfa8511e9e94fd3de6585a3d3cd00e01ed556dc9814829280af0e8dc72a8f36"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "regex"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-automata"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
dependencies = [
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.6.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
[[package]]
name = "remove_dir_all"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
dependencies = [
"winapi",
]
[[package]]
name = "rmp"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44519172358fd6d58656c86ab8e7fbc9e1490c3e8f14d35ed78ca0dd07403c9f"
dependencies = [
"byteorder",
"num-traits",
"paste",
]
[[package]]
name = "rmp-serde"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5b13be192e0220b8afb7222aa5813cb62cc269ebb5cac346ca6487681d2913e"
dependencies = [
"byteorder",
"rmp",
"serde",
]
[[package]]
name = "rocket"
version = "0.5.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98ead083fce4a405feb349cf09abdf64471c6077f14e0ce59364aa90d4b99317"
dependencies = [
"async-stream",
"async-trait",
"atomic",
"atty",
"binascii",
"bytes",
"either",
"figment",
"futures",
"indexmap",
"log",
"memchr",
"multer",
"num_cpus",
"parking_lot 0.12.1",
"pin-project-lite",
"rand",
"ref-cast",
"rmp-serde",
"rocket_codegen",
"rocket_http",
"serde",
"serde_json",
"state",
"tempfile",
"time",
"tokio",
"tokio-stream",
"tokio-util",
"ubyte",
"uuid",
"version_check",
"yansi",
]
[[package]]
name = "rocket_async_compression"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b00d02d4cc15485485c160c1dcebd2d878bd04d56eefbbec1bd568d8b1c7916d"
dependencies = [
"async-compression",
"futures",
"lazy_static",
"log",
"rocket",
]
[[package]]
name = "rocket_codegen"
version = "0.5.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6aeb6bb9c61e9cd2c00d70ea267bf36f76a4cc615e5908b349c2f9d93999b47"
dependencies = [
"devise",
"glob",
"indexmap",
"proc-macro2",
"quote",
"rocket_http",
"syn",
"unicode-xid",
]
[[package]]
name = "rocket_http"
version = "0.5.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ded65d127954de3c12471630bf4b81a2792f065984461e65b91d0fdaafc17a2"
dependencies = [
"cookie",
"either",
"futures",
"http",
"hyper",
"indexmap",
"log",
"memchr",
"pear",
"percent-encoding",
"pin-project-lite",
"ref-cast",
"serde",
"smallvec",
"stable-pattern",
"state",
"time",
"tokio",
"uncased",
"uuid",
]
[[package]]
name = "rustc-hash"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustix"
version = "0.36.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb93e85278e08bb5788653183213d3a60fc242b10cb9be96586f5a73dcb67c23"
dependencies = [
"bitflags",
"errno",
"io-lifetimes",
"libc",
"linux-raw-sys",
"windows-sys",
]
[[package]]
name = "rustversion"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8"
[[package]]
name = "ryu"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
[[package]]
name = "same-file"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
dependencies = [
"winapi-util",
]
[[package]]
name = "scoped-tls"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
[[package]]
name = "scopeguard"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "serde"
version = "1.0.148"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_cbor"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
dependencies = [
"half",
"serde",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "serde_derive"
version = "1.0.148"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "serde_json"
version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
dependencies = [
"itoa 1.0.4",
"ryu",
"serde",
]
[[package]]
name = "sha2"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
dependencies = [
"cfg-if 1.0.0",
"cpufeatures",
"digest",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
]
[[package]]
name = "sharded-slab"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
dependencies = [
"lazy_static",
]
[[package]]
name = "shlex"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
[[package]]
name = "signal-hook"
version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729"
dependencies = [
"libc",
"mio 0.7.14",
"signal-hook-registry",
]
[[package]]
name = "signal-hook"
version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d"
dependencies = [
"libc",
"signal-hook-registry",
]
[[package]]
name = "signal-hook-mio"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
dependencies = [
"libc",
"mio 0.8.5",
"signal-hook 0.3.14",
]
[[package]]
name = "signal-hook-registry"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
dependencies = [
"libc",
]
[[package]]
name = "slab"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
dependencies = [
"autocfg",
]
[[package]]
name = "smallvec"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
[[package]]
name = "socket2"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
dependencies = [
"libc",
"winapi",
]
[[package]]
name = "spin"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
[[package]]
name = "stable-pattern"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4564168c00635f88eaed410d5efa8131afa8d8699a612c80c455a0ba05c21045"
dependencies = [
"memchr",
]
[[package]]
name = "state"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b"
dependencies = [
"loom",
]
[[package]]
name = "strsim"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
[[package]]
name = "strsim"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "subtle"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
[[package]]
name = "syn"
version = "1.0.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "sysinfo"
version = "0.26.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29ddf41e393a9133c81d5f0974195366bd57082deac6e0eb02ed39b8341c2bb6"
dependencies = [
"cfg-if 1.0.0",
"core-foundation-sys",
"libc",
"ntapi 0.4.0",
"once_cell",
"rayon",
"winapi",
]
[[package]]
name = "system-configuration"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd"
dependencies = [
"bitflags",
"core-foundation",
"system-configuration-sys",
]
[[package]]
name = "system-configuration-sys"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
dependencies = [
"core-foundation-sys",
"libc",
]
[[package]]
name = "target-lexicon"
version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "tempfile"
version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
dependencies = [
"cfg-if 1.0.0",
"fastrand",
"libc",
"redox_syscall",
"remove_dir_all",
"winapi",
]
[[package]]
name = "termcolor"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
dependencies = [
"winapi-util",
]
[[package]]
name = "textwrap"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
dependencies = [
"unicode-width",
]
[[package]]
name = "thiserror"
version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "thread_local"
version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
dependencies = [
"once_cell",
]
[[package]]
name = "time"
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
dependencies = [
"itoa 1.0.4",
"serde",
"time-core",
"time-macros",
]
[[package]]
name = "time-core"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
[[package]]
name = "time-macros"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
dependencies = [
"time-core",
]
[[package]]
name = "tinytemplate"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
dependencies = [
"serde",
"serde_json",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "tokio"
version = "1.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3"
dependencies = [
"autocfg",
"bytes",
"libc",
"memchr",
"mio 0.8.5",
"num_cpus",
"parking_lot 0.12.1",
"pin-project-lite",
"signal-hook-registry",
"socket2",
"tokio-macros",
"winapi",
]
[[package]]
name = "tokio-macros"
version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "tokio-stream"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce"
dependencies = [
"futures-core",
"pin-project-lite",
"tokio",
]
[[package]]
name = "tokio-util"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
dependencies = [
"bytes",
"futures-core",
"futures-sink",
"pin-project-lite",
"tokio",
"tracing",
]
[[package]]
name = "toml"
version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
dependencies = [
"serde",
]
[[package]]
name = "tower-service"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
[[package]]
name = "tracing"
version = "0.1.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
dependencies = [
"cfg-if 1.0.0",
"pin-project-lite",
"tracing-attributes",
"tracing-core",
]
[[package]]
name = "tracing-attributes"
version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "tracing-core"
version = "0.1.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
dependencies = [
"once_cell",
"valuable",
]
[[package]]
name = "tracing-log"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
dependencies = [
"lazy_static",
"log",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
dependencies = [
"matchers",
"nu-ansi-term",
"once_cell",
"regex",
"sharded-slab",
"smallvec",
"thread_local",
"tracing",
"tracing-core",
"tracing-log",
]
[[package]]
name = "try-lock"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
[[package]]
name = "tui"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1"
dependencies = [
"bitflags",
"cassowary",
"crossterm 0.25.0",
"unicode-segmentation",
"unicode-width",
]
[[package]]
name = "typenum"
version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "ubyte"
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c81f0dae7d286ad0d9366d7679a77934cfc3cf3a8d67e82669794412b2368fe6"
dependencies = [
"serde",
]
[[package]]
name = "uncased"
version = "0.9.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622"
dependencies = [
"serde",
"version_check",
]
[[package]]
name = "unicode-ident"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
[[package]]
name = "unicode-segmentation"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a"
[[package]]
name = "unicode-width"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
[[package]]
name = "unicode-xid"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
[[package]]
name = "unindent"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "universal-hash"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5"
dependencies = [
"crypto-common",
"subtle",
]
[[package]]
name = "uuid"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c"
dependencies = [
"getrandom",
"rand",
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
"serde",
]
[[package]]
name = "valuable"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "vec_map"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "walkdir"
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
dependencies = [
"same-file",
"winapi",
"winapi-util",
]
[[package]]
name = "want"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
dependencies = [
"log",
"try-lock",
]
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
dependencies = [
"cfg-if 1.0.0",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
dependencies = [
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
[[package]]
name = "web-sys"
version = "0.3.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
dependencies = [
"js-sys",
"wasm-bindgen",
]
[[package]]
name = "webusers"
version = "0.1.0"
dependencies = [
"anyhow",
"clap 4.0.29",
"lqos_config",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "which"
version = "3.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724"
dependencies = [
"libc",
]
[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
dependencies = [
"winapi",
]
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b749ebd2304aa012c5992d11a25d07b406bdbe5f79d371cb7a918ce501a19eb0"
dependencies = [
"windows_aarch64_msvc 0.30.0",
"windows_i686_gnu 0.30.0",
"windows_i686_msvc 0.30.0",
"windows_x86_64_gnu 0.30.0",
"windows_x86_64_msvc 0.30.0",
]
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "windows"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a"
dependencies = [
"windows_aarch64_msvc 0.39.0",
"windows_i686_gnu 0.39.0",
"windows_i686_msvc 0.39.0",
"windows_x86_64_gnu 0.39.0",
"windows_x86_64_msvc 0.39.0",
]
[[package]]
name = "windows-sys"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc 0.42.0",
"windows_i686_gnu 0.42.0",
"windows_i686_msvc 0.42.0",
"windows_x86_64_gnu 0.42.0",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc 0.42.0",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
[[package]]
name = "windows_aarch64_msvc"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29277a4435d642f775f63c7d1faeb927adba532886ce0287bd985bffb16b6bca"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "windows_aarch64_msvc"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2"
[[package]]
name = "windows_aarch64_msvc"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
[[package]]
name = "windows_i686_gnu"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1145e1989da93956c68d1864f32fb97c8f561a8f89a5125f6a2b7ea75524e4b8"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "windows_i686_gnu"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b"
[[package]]
name = "windows_i686_gnu"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
[[package]]
name = "windows_i686_msvc"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4a09e3a0d4753b73019db171c1339cd4362c8c44baf1bcea336235e955954a6"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "windows_i686_msvc"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106"
[[package]]
name = "windows_i686_msvc"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
[[package]]
name = "windows_x86_64_gnu"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ca64fcb0220d58db4c119e050e7af03c69e6f4f415ef69ec1773d9aab422d5a"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "windows_x86_64_gnu"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65"
[[package]]
name = "windows_x86_64_gnu"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
[[package]]
name = "windows_x86_64_msvc"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08cabc9f0066848fef4bc6a1c1668e6efce38b661d2aeec75d18d8617eebb5f1"
Add Rust source tree to the main repo. Replaces the previously separate repo, merging the Rust system into the mainline ready for 1.4. The Rust system currently provides: * lqos_bus: type definitions for localhost control bus. * lqos_config: handler for configuration files. * lqos_node_manager: local web-based monitor and manager. * lqos_sys: eBPF program that handles all of the tracking, CPU assignment, VLAN redirect, TC queue assignment, and RTT tracking. Wrapped in a Rust core, providing consistent in-Rust building and mostly-safe wrappers to C code. * lqosd: a daemon designed to run continually while LibreQoS is operating. On start, it parses the configuration files and sets up interface mapping (the Python code is still required to actually build queues). It then assigns the various eBPF programs to appropriate interfaces. The eBPF systems are removed when the daemon terminates. lqosd also provides a "bus", listening to requests for changes or information on localhost, providing a control plane for the rest of the project. * lqtop: An example program demonstrating how to use the bus, acts like "top", showing current network traffic and mappings. * xdp_iphash_to_cpu_cmdline: a Rust wrapper providing the same services as the cpumap originated tool of the same name. This is a "shim" - it will go away once the native Python library is ready. * xdp_pping: also a shim, providing equivalent services to the cpumap service of the same name. A helper shell script "remove_pinned_maps.sh" can be used to remove all pinned eBPF maps from the system, allowing for eBPF program upgrades that change persistent map structures without a reboot. Signed-off-by: Herbert Wolverson <herberticus@gmail.com>
2023-01-04 15:09:06 +00:00
[[package]]
name = "windows_x86_64_msvc"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809"
[[package]]
name = "windows_x86_64_msvc"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
[[package]]
name = "xdp_iphash_to_cpu_cmdline"
version = "0.1.0"
dependencies = [
"anyhow",
"clap 4.0.29",
"lqos_bus",
"tokio",
]
[[package]]
name = "xdp_pping"
version = "0.1.0"
dependencies = [
"anyhow",
"lqos_bus",
"tokio",
]
[[package]]
name = "yansi"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"