1[package] 2name = "smoltcp" 3version = "0.9.1" 4edition = "2021" 5rust-version = "1.65" 6authors = ["whitequark <whitequark@whitequark.org>"] 7description = "A TCP/IP stack designed for bare-metal, real-time systems without a heap." 8documentation = "https://docs.rs/smoltcp/" 9homepage = "https://github.com/smoltcp-rs/smoltcp" 10repository = "https://github.com/smoltcp-rs/smoltcp.git" 11readme = "README.md" 12keywords = ["ip", "tcp", "udp", "ethernet", "network"] 13categories = ["embedded", "network-programming"] 14license = "0BSD" 15# Each example should have an explicit `[[example]]` section here to 16# ensure that the correct features are enabled. 17autoexamples = false 18 19[dependencies] 20managed = { version = "0.8", default-features = false, features = ["map"] } 21byteorder = { version = "1.0", default-features = false } 22log = { version = "0.4.4", default-features = false, optional = true } 23libc = { version = "0.2.18", optional = true } 24bitflags = { version = "1.0", default-features = false } 25defmt = { version = "0.3", optional = true } 26cfg-if = "1.0.0" 27heapless = "0.7.8" 28 29[dev-dependencies] 30env_logger = "0.9" 31getopts = "0.2" 32rand = "0.8" 33url = "2.0" 34 35[features] 36std = ["managed/std", "alloc"] 37alloc = ["managed/alloc", "defmt?/alloc"] 38verbose = [] 39defmt = [ "dep:defmt", "heapless/defmt", "heapless/defmt-impl" ] 40"medium-ethernet" = ["socket"] 41"medium-ip" = ["socket"] 42"medium-ieee802154" = ["socket", "proto-sixlowpan"] 43 44"phy-raw_socket" = ["std", "libc"] 45"phy-tuntap_interface" = ["std", "libc", "medium-ethernet"] 46 47"proto-ipv4" = [] 48"proto-ipv4-fragmentation" = ["proto-ipv4", "_proto-fragmentation"] 49"proto-igmp" = ["proto-ipv4"] 50"proto-dhcpv4" = ["proto-ipv4"] 51"proto-ipv6" = [] 52"proto-sixlowpan" = ["proto-ipv6"] 53"proto-sixlowpan-fragmentation" = ["proto-sixlowpan", "_proto-fragmentation"] 54"proto-dns" = [] 55 56"socket" = [] 57"socket-raw" = ["socket"] 58"socket-udp" = ["socket"] 59"socket-tcp" = ["socket"] 60"socket-icmp" = ["socket"] 61"socket-dhcpv4" = ["socket", "medium-ethernet", "proto-dhcpv4"] 62"socket-dns" = ["socket", "proto-dns"] 63"socket-mdns" = ["socket-dns"] 64 65"async" = [] 66 67default = [ 68 "std", "log", # needed for `cargo test --no-default-features --features default` :/ 69 "medium-ethernet", "medium-ip", "medium-ieee802154", 70 "phy-raw_socket", "phy-tuntap_interface", 71 "proto-ipv4", "proto-igmp", "proto-dhcpv4", "proto-ipv6", "proto-dns", 72 "proto-ipv4-fragmentation", "proto-sixlowpan-fragmentation", 73 "socket-raw", "socket-icmp", "socket-udp", "socket-tcp", "socket-dhcpv4", "socket-dns", "socket-mdns", 74 "async" 75] 76 77# Private features 78# Features starting with "_" are considered private. They should not be enabled by 79# other crates, and they are not considered semver-stable. 80 81"_proto-fragmentation" = [] 82 83# BEGIN AUTOGENERATED CONFIG FEATURES 84# Generated by gen_config.py. DO NOT EDIT. 85iface-max-addr-count-1 = [] 86iface-max-addr-count-2 = [] # Default 87iface-max-addr-count-3 = [] 88iface-max-addr-count-4 = [] 89iface-max-addr-count-5 = [] 90iface-max-addr-count-6 = [] 91iface-max-addr-count-7 = [] 92iface-max-addr-count-8 = [] 93 94iface-max-multicast-group-count-1 = [] 95iface-max-multicast-group-count-2 = [] 96iface-max-multicast-group-count-3 = [] 97iface-max-multicast-group-count-4 = [] # Default 98iface-max-multicast-group-count-5 = [] 99iface-max-multicast-group-count-6 = [] 100iface-max-multicast-group-count-7 = [] 101iface-max-multicast-group-count-8 = [] 102iface-max-multicast-group-count-16 = [] 103iface-max-multicast-group-count-32 = [] 104iface-max-multicast-group-count-64 = [] 105iface-max-multicast-group-count-128 = [] 106iface-max-multicast-group-count-256 = [] 107iface-max-multicast-group-count-512 = [] 108iface-max-multicast-group-count-1024 = [] 109 110iface-max-sixlowpan-address-context-count-1 = [] 111iface-max-sixlowpan-address-context-count-2 = [] 112iface-max-sixlowpan-address-context-count-3 = [] 113iface-max-sixlowpan-address-context-count-4 = [] # Default 114iface-max-sixlowpan-address-context-count-5 = [] 115iface-max-sixlowpan-address-context-count-6 = [] 116iface-max-sixlowpan-address-context-count-7 = [] 117iface-max-sixlowpan-address-context-count-8 = [] 118iface-max-sixlowpan-address-context-count-16 = [] 119iface-max-sixlowpan-address-context-count-32 = [] 120iface-max-sixlowpan-address-context-count-64 = [] 121iface-max-sixlowpan-address-context-count-128 = [] 122iface-max-sixlowpan-address-context-count-256 = [] 123iface-max-sixlowpan-address-context-count-512 = [] 124iface-max-sixlowpan-address-context-count-1024 = [] 125 126iface-neighbor-cache-count-1 = [] 127iface-neighbor-cache-count-2 = [] 128iface-neighbor-cache-count-3 = [] 129iface-neighbor-cache-count-4 = [] # Default 130iface-neighbor-cache-count-5 = [] 131iface-neighbor-cache-count-6 = [] 132iface-neighbor-cache-count-7 = [] 133iface-neighbor-cache-count-8 = [] 134iface-neighbor-cache-count-16 = [] 135iface-neighbor-cache-count-32 = [] 136iface-neighbor-cache-count-64 = [] 137iface-neighbor-cache-count-128 = [] 138iface-neighbor-cache-count-256 = [] 139iface-neighbor-cache-count-512 = [] 140iface-neighbor-cache-count-1024 = [] 141 142iface-max-route-count-1 = [] 143iface-max-route-count-2 = [] # Default 144iface-max-route-count-3 = [] 145iface-max-route-count-4 = [] 146iface-max-route-count-5 = [] 147iface-max-route-count-6 = [] 148iface-max-route-count-7 = [] 149iface-max-route-count-8 = [] 150iface-max-route-count-16 = [] 151iface-max-route-count-32 = [] 152iface-max-route-count-64 = [] 153iface-max-route-count-128 = [] 154iface-max-route-count-256 = [] 155iface-max-route-count-512 = [] 156iface-max-route-count-1024 = [] 157 158fragmentation-buffer-size-256 = [] 159fragmentation-buffer-size-512 = [] 160fragmentation-buffer-size-1024 = [] 161fragmentation-buffer-size-1500 = [] # Default 162fragmentation-buffer-size-2048 = [] 163fragmentation-buffer-size-4096 = [] 164fragmentation-buffer-size-8192 = [] 165fragmentation-buffer-size-16384 = [] 166fragmentation-buffer-size-32768 = [] 167fragmentation-buffer-size-65536 = [] 168 169assembler-max-segment-count-1 = [] 170assembler-max-segment-count-2 = [] 171assembler-max-segment-count-3 = [] 172assembler-max-segment-count-4 = [] # Default 173assembler-max-segment-count-8 = [] 174assembler-max-segment-count-16 = [] 175assembler-max-segment-count-32 = [] 176 177reassembly-buffer-size-256 = [] 178reassembly-buffer-size-512 = [] 179reassembly-buffer-size-1024 = [] 180reassembly-buffer-size-1500 = [] # Default 181reassembly-buffer-size-2048 = [] 182reassembly-buffer-size-4096 = [] 183reassembly-buffer-size-8192 = [] 184reassembly-buffer-size-16384 = [] 185reassembly-buffer-size-32768 = [] 186reassembly-buffer-size-65536 = [] 187 188reassembly-buffer-count-1 = [] # Default 189reassembly-buffer-count-2 = [] 190reassembly-buffer-count-3 = [] 191reassembly-buffer-count-4 = [] 192reassembly-buffer-count-8 = [] 193reassembly-buffer-count-16 = [] 194reassembly-buffer-count-32 = [] 195 196dns-max-result-count-1 = [] # Default 197dns-max-result-count-2 = [] 198dns-max-result-count-3 = [] 199dns-max-result-count-4 = [] 200dns-max-result-count-8 = [] 201dns-max-result-count-16 = [] 202dns-max-result-count-32 = [] 203 204dns-max-server-count-1 = [] # Default 205dns-max-server-count-2 = [] 206dns-max-server-count-3 = [] 207dns-max-server-count-4 = [] 208dns-max-server-count-8 = [] 209dns-max-server-count-16 = [] 210dns-max-server-count-32 = [] 211 212dns-max-name-size-64 = [] 213dns-max-name-size-128 = [] 214dns-max-name-size-255 = [] # Default 215 216# END AUTOGENERATED CONFIG FEATURES 217 218[[example]] 219name = "packet2pcap" 220path = "utils/packet2pcap.rs" 221required-features = ["std"] 222 223[[example]] 224name = "tcpdump" 225required-features = ["std", "phy-raw_socket", "proto-ipv4"] 226 227[[example]] 228name = "httpclient" 229required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "proto-ipv6", "socket-tcp"] 230 231[[example]] 232name = "ping" 233required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "proto-ipv6", "socket-icmp"] 234 235[[example]] 236name = "server" 237required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "socket-tcp", "socket-udp"] 238 239[[example]] 240name = "client" 241required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "socket-tcp", "socket-udp"] 242 243[[example]] 244name = "loopback" 245required-features = ["log", "medium-ethernet", "proto-ipv4", "socket-tcp"] 246 247[[example]] 248name = "multicast" 249required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "proto-igmp", "socket-udp"] 250 251[[example]] 252name = "benchmark" 253required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "socket-raw", "socket-udp"] 254 255[[example]] 256name = "dhcp_client" 257required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "proto-dhcpv4", "socket-raw"] 258 259[[example]] 260name = "sixlowpan" 261required-features = ["std", "medium-ieee802154", "phy-raw_socket", "proto-sixlowpan", "proto-sixlowpan-fragmentation", "socket-udp"] 262 263[[example]] 264name = "sixlowpan_benchmark" 265required-features = ["std", "medium-ieee802154", "phy-raw_socket", "proto-sixlowpan", "proto-sixlowpan-fragmentation", "socket-udp"] 266 267[[example]] 268name = "dns" 269required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "socket-dns"] 270 271[profile.release] 272debug = 2 273