Cargo Features

[dependencies]
demikernel = { version = "1.5.13", default-features = false, features = ["catnap-libos", "catpowder-libos", "catmem-libos", "catnip-libos", "catloop-libos", "libdpdk", "libxdp", "mlx4", "mlx5", "profiler", "auto-calibrate"] }
default = catnap-libos

The catnap-libos feature is set by default whenever demikernel is added without default-features = false somewhere in the dependency tree.

catnap-libos default

Affects libos::network, demikernel::inetstack

catpowder-libos

Affects libos::network, demikernel::inetstack

catmem-libos catloop-libos?

Affects libos::memory, linux::shm

catnip-libos = libdpdk

Affects libos::network, demikernel::inetstack

catloop-libos = catmem-libos

Affects libos::network, demikernel::inetstack

libdpdk catnip-libos? = demikernel-dpdk-bindings
libxdp = demikernel-xdp-bindings
mlx4

Enables mlx4 of demikernel-dpdk-bindings

Demikernel crates (published on crates.io).

mlx5

Enables mlx5 of demikernel-dpdk-bindings

profiler

Affects demikernel::perftools

auto-calibrate

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

demikernel-dpdk-bindings libdpdk? mlx4? mlx5?
demikernel-xdp-bindings win libxdp?