network interfaces work

This commit is contained in:
John Smith
2021-12-30 23:24:17 -05:00
parent cf2acc4bd5
commit 7ba6748cd2
19 changed files with 975 additions and 164 deletions

123
Cargo.lock generated
View File

@@ -1668,6 +1668,16 @@ dependencies = [
"winapi",
]
[[package]]
name = "ifstructs"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b24d770f92a5ea876a33851b16553f21985bb83e7fe8e7e1f596ad75545e9581"
dependencies = [
"cfg-if 0.1.10",
"libc",
]
[[package]]
name = "impl-codec"
version = "0.5.1"
@@ -2102,6 +2112,71 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121"
[[package]]
name = "netlink-packet-core"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8349128e95f5dabcb8a18587ad06b3ca7993e90c0c360b4a2abac0313ebce727"
dependencies = [
"anyhow",
"byteorder",
"libc",
"netlink-packet-utils",
]
[[package]]
name = "netlink-packet-route"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fb5d54077de7c0904111e1d19b661b8cfccbc23d9ce5b6dbcc7362721e6e552"
dependencies = [
"anyhow",
"bitflags",
"byteorder",
"libc",
"netlink-packet-core",
"netlink-packet-utils",
]
[[package]]
name = "netlink-packet-utils"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a008a56eceb0cab06739c7f37f15bda27f1147a14d0e7136e8c913b94f1441d"
dependencies = [
"anyhow",
"byteorder",
"paste",
"thiserror",
]
[[package]]
name = "netlink-proto"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "073885f70c1d54fdc6148075e8e38a5e8a28179f59de5bd0fc6277cae4fec95a"
dependencies = [
"bytes 1.1.0",
"futures",
"log",
"netlink-packet-core",
"netlink-sys",
"tokio",
]
[[package]]
name = "netlink-sys"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed51a4602bb956eefef0ebc15f478bf9732fa3cc706e0a37112e654f41c5b92c"
dependencies = [
"async-io",
"bytes 1.1.0",
"futures",
"libc",
"log",
]
[[package]]
name = "nix"
version = "0.17.0"
@@ -2115,6 +2190,19 @@ dependencies = [
"void",
]
[[package]]
name = "nix"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1e25ee6b412c2a1e3fcb6a4499a5c1bfe7f43e014bdce9a6b6666e5aa2d187"
dependencies = [
"bitflags",
"cc",
"cfg-if 1.0.0",
"libc",
"memoffset",
]
[[package]]
name = "nix"
version = "0.23.0"
@@ -2421,6 +2509,12 @@ dependencies = [
"winapi",
]
[[package]]
name = "paste"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5"
[[package]]
name = "percent-encoding"
version = "2.1.0"
@@ -2831,6 +2925,21 @@ dependencies = [
"winapi",
]
[[package]]
name = "rtnetlink"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa584f57f271d3fbd9f59503b090a0410a531c8cc272143669bf136c62ef409d"
dependencies = [
"async-global-executor",
"futures",
"log",
"netlink-packet-route",
"netlink-proto",
"nix 0.22.0",
"thiserror",
]
[[package]]
name = "rusqlite"
version = "0.26.1"
@@ -3432,6 +3541,17 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tokio"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbbf1c778ec206785635ce8ad57fe52b3009ae9e0c9f574a728f3049d3e55838"
dependencies = [
"bytes 1.1.0",
"memchr",
"pin-project-lite",
]
[[package]]
name = "toml"
version = "0.5.8"
@@ -3656,6 +3776,7 @@ dependencies = [
"hashbrown",
"hex",
"if-addrs",
"ifstructs",
"jni",
"jni-sys",
"js-sys",
@@ -3663,6 +3784,7 @@ dependencies = [
"keyvaluedb-sqlite",
"keyvaluedb-web",
"lazy_static",
"libc",
"log",
"lru",
"maplit",
@@ -3673,6 +3795,7 @@ dependencies = [
"once_cell",
"parking_lot 0.11.2",
"rand 0.7.3",
"rtnetlink",
"rusqlite",
"rust-fsm",
"rustls",