[package]
edition = "2021"
name = "bgpsim"
version = "0.20.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A network control-plane simulator"
homepage = "https://bgpsim.github.io"
readme = "README.md"
keywords = [
"bgp",
"ospf",
"routing",
"network",
]
categories = ["simulation"]
license-file = "LICENSE"
repository = "https://github.com/nsg-ethz/bgpsim"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
export = ["dep:bimap"]
rand = ["dep:rand"]
rand_queue = [
"rand",
"dep:rand_distr",
"dep:priority-queue",
"dep:geoutils",
]
topology_zoo = [
"dep:xmltree",
"dep:geoutils",
"dep:include-flate",
"dep:mapproj",
]
[lib]
name = "bgpsim"
path = "src/lib.rs"
[[bin]]
name = "generate-topology-zoo"
path = "generate_topology_zoo.rs"
required-features = ["topology_zoo"]
[[bench]]
name = "benchmark"
path = "benches/benchmark.rs"
harness = false
required-features = [
"topology_zoo",
"rand_queue",
"rand",
]
[[bench]]
name = "common"
path = "benches/common.rs"
harness = false
required-features = [
"topology_zoo",
"rand_queue",
"rand",
]
[[bench]]
name = "roland"
path = "benches/roland.rs"
harness = false
required-features = [
"topology_zoo",
"rand_queue",
"rand",
]
[dependencies.bgpsim-macros]
version = "0.20.2"
[dependencies.bimap]
version = "0.6.2"
optional = true
[dependencies.crossbeam]
version = "0.8.4"
[dependencies.geoutils]
version = "0.5.1"
optional = true
[dependencies.include-flate]
version = "0.2"
features = ["stable"]
optional = true
[dependencies.ipnet]
version = "2.5.0"
features = ["serde"]
[dependencies.itertools]
version = "0.10"
[dependencies.lazy_static]
version = "1.4.0"
[dependencies.log]
version = "0.4"
[dependencies.maplit]
version = "1.0.2"
[dependencies.mapproj]
version = "0.4.0"
optional = true
[dependencies.ordered-float]
version = "3.0.0"
features = ["serde"]
[dependencies.petgraph]
version = "0.6"
features = ["serde-1"]
[dependencies.prefix-trie]
version = "0.8.1"
features = [
"serde",
"ipnet",
]
[dependencies.priority-queue]
version = "1.2.2"
features = ["serde"]
optional = true
[dependencies.rand]
version = "0.8.4"
optional = true
[dependencies.rand_distr]
version = "0.4.3"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_with]
version = "2.0"
features = []
[dependencies.thiserror]
version = "1"
[dependencies.xmltree]
version = "0.10"
optional = true
[dev-dependencies.approx]
version = "0.5.1"
[dev-dependencies.criterion]
version = "0.4.0"
[dev-dependencies.env_logger]
version = "0.9.0"
[dev-dependencies.generic-tests]
version = "0.1.2"
[dev-dependencies.pretty_assertions]
version = "1.2.1"
[dev-dependencies.rand]
version = "0.8.4"