| [package] |
| name = "smoltcp" |
| version = "0.11.0" |
| edition = "2021" |
| rust-version = "1.65" |
| authors = ["whitequark <whitequark@whitequark.org>"] |
| description = "A TCP/IP stack designed for bare-metal, real-time systems without a heap." |
| documentation = "https://docs.rs/smoltcp/" |
| homepage = "https://github.com/smoltcp-rs/smoltcp" |
| repository = "https://github.com/smoltcp-rs/smoltcp.git" |
| readme = "README.md" |
| keywords = ["ip", "tcp", "udp", "ethernet", "network"] |
| categories = ["embedded", "network-programming"] |
| license = "0BSD" |
| # Each example should have an explicit `[[example]]` section here to |
| # ensure that the correct features are enabled. |
| autoexamples = false |
| |
| [dependencies] |
| managed = { version = "0.8", default-features = false, features = ["map"] } |
| byteorder = { version = "1.0", default-features = false } |
| log = { version = "0.4.4", default-features = false, optional = true } |
| libc = { version = "0.2.18", optional = true } |
| bitflags = { version = "1.0", default-features = false } |
| defmt = { version = "0.3", optional = true } |
| cfg-if = "1.0.0" |
| heapless = "0.8" |
| |
| [dev-dependencies] |
| env_logger = "0.10" |
| getopts = "0.2" |
| rand = "0.8" |
| url = "2.0" |
| rstest = "0.17" |
| |
| [features] |
| std = ["managed/std", "alloc"] |
| alloc = ["managed/alloc", "defmt?/alloc"] |
| verbose = [] |
| defmt = ["dep:defmt", "heapless/defmt-03"] |
| "medium-ethernet" = ["socket"] |
| "medium-ip" = ["socket"] |
| "medium-ieee802154" = ["socket", "proto-sixlowpan"] |
| |
| "phy-raw_socket" = ["std", "libc"] |
| "phy-tuntap_interface" = ["std", "libc", "medium-ethernet"] |
| |
| "proto-ipv4" = [] |
| "proto-ipv4-fragmentation" = ["proto-ipv4", "_proto-fragmentation"] |
| "proto-igmp" = ["proto-ipv4"] |
| "proto-dhcpv4" = ["proto-ipv4"] |
| "proto-ipv6" = [] |
| "proto-ipv6-hbh" = ["proto-ipv6"] |
| "proto-ipv6-fragmentation" = ["proto-ipv6", "_proto-fragmentation"] |
| "proto-ipv6-routing" = ["proto-ipv6"] |
| "proto-rpl" = ["proto-ipv6-hbh", "proto-ipv6-routing"] |
| "proto-sixlowpan" = ["proto-ipv6"] |
| "proto-sixlowpan-fragmentation" = ["proto-sixlowpan", "_proto-fragmentation"] |
| "proto-dns" = [] |
| "proto-ipsec" = ["proto-ipsec-ah", "proto-ipsec-esp"] |
| "proto-ipsec-ah" = [] |
| "proto-ipsec-esp" = [] |
| |
| "socket" = [] |
| "socket-raw" = ["socket"] |
| "socket-udp" = ["socket"] |
| "socket-tcp" = ["socket"] |
| "socket-icmp" = ["socket"] |
| "socket-dhcpv4" = ["socket", "medium-ethernet", "proto-dhcpv4"] |
| "socket-dns" = ["socket", "proto-dns"] |
| "socket-mdns" = ["socket-dns"] |
| |
| "packetmeta-id" = [] |
| |
| "async" = [] |
| |
| default = [ |
| "std", "log", # needed for `cargo test --no-default-features --features default` :/ |
| "medium-ethernet", "medium-ip", "medium-ieee802154", |
| "phy-raw_socket", "phy-tuntap_interface", |
| "proto-ipv4", "proto-igmp", "proto-dhcpv4", "proto-ipv6", "proto-dns", |
| "proto-ipv4-fragmentation", "proto-sixlowpan-fragmentation", |
| "socket-raw", "socket-icmp", "socket-udp", "socket-tcp", "socket-dhcpv4", "socket-dns", "socket-mdns", |
| "packetmeta-id", "async" |
| ] |
| |
| # Private features |
| # Features starting with "_" are considered private. They should not be enabled by |
| # other crates, and they are not considered semver-stable. |
| |
| "_proto-fragmentation" = [] |
| |
| # BEGIN AUTOGENERATED CONFIG FEATURES |
| # Generated by gen_config.py. DO NOT EDIT. |
| iface-max-addr-count-1 = [] |
| iface-max-addr-count-2 = [] # Default |
| iface-max-addr-count-3 = [] |
| iface-max-addr-count-4 = [] |
| iface-max-addr-count-5 = [] |
| iface-max-addr-count-6 = [] |
| iface-max-addr-count-7 = [] |
| iface-max-addr-count-8 = [] |
| |
| iface-max-multicast-group-count-1 = [] |
| iface-max-multicast-group-count-2 = [] |
| iface-max-multicast-group-count-3 = [] |
| iface-max-multicast-group-count-4 = [] # Default |
| iface-max-multicast-group-count-5 = [] |
| iface-max-multicast-group-count-6 = [] |
| iface-max-multicast-group-count-7 = [] |
| iface-max-multicast-group-count-8 = [] |
| iface-max-multicast-group-count-16 = [] |
| iface-max-multicast-group-count-32 = [] |
| iface-max-multicast-group-count-64 = [] |
| iface-max-multicast-group-count-128 = [] |
| iface-max-multicast-group-count-256 = [] |
| iface-max-multicast-group-count-512 = [] |
| iface-max-multicast-group-count-1024 = [] |
| |
| iface-max-sixlowpan-address-context-count-1 = [] |
| iface-max-sixlowpan-address-context-count-2 = [] |
| iface-max-sixlowpan-address-context-count-3 = [] |
| iface-max-sixlowpan-address-context-count-4 = [] # Default |
| iface-max-sixlowpan-address-context-count-5 = [] |
| iface-max-sixlowpan-address-context-count-6 = [] |
| iface-max-sixlowpan-address-context-count-7 = [] |
| iface-max-sixlowpan-address-context-count-8 = [] |
| iface-max-sixlowpan-address-context-count-16 = [] |
| iface-max-sixlowpan-address-context-count-32 = [] |
| iface-max-sixlowpan-address-context-count-64 = [] |
| iface-max-sixlowpan-address-context-count-128 = [] |
| iface-max-sixlowpan-address-context-count-256 = [] |
| iface-max-sixlowpan-address-context-count-512 = [] |
| iface-max-sixlowpan-address-context-count-1024 = [] |
| |
| iface-neighbor-cache-count-1 = [] |
| iface-neighbor-cache-count-2 = [] |
| iface-neighbor-cache-count-3 = [] |
| iface-neighbor-cache-count-4 = [] # Default |
| iface-neighbor-cache-count-5 = [] |
| iface-neighbor-cache-count-6 = [] |
| iface-neighbor-cache-count-7 = [] |
| iface-neighbor-cache-count-8 = [] |
| iface-neighbor-cache-count-16 = [] |
| iface-neighbor-cache-count-32 = [] |
| iface-neighbor-cache-count-64 = [] |
| iface-neighbor-cache-count-128 = [] |
| iface-neighbor-cache-count-256 = [] |
| iface-neighbor-cache-count-512 = [] |
| iface-neighbor-cache-count-1024 = [] |
| |
| iface-max-route-count-1 = [] |
| iface-max-route-count-2 = [] # Default |
| iface-max-route-count-3 = [] |
| iface-max-route-count-4 = [] |
| iface-max-route-count-5 = [] |
| iface-max-route-count-6 = [] |
| iface-max-route-count-7 = [] |
| iface-max-route-count-8 = [] |
| iface-max-route-count-16 = [] |
| iface-max-route-count-32 = [] |
| iface-max-route-count-64 = [] |
| iface-max-route-count-128 = [] |
| iface-max-route-count-256 = [] |
| iface-max-route-count-512 = [] |
| iface-max-route-count-1024 = [] |
| |
| fragmentation-buffer-size-256 = [] |
| fragmentation-buffer-size-512 = [] |
| fragmentation-buffer-size-1024 = [] |
| fragmentation-buffer-size-1500 = [] # Default |
| fragmentation-buffer-size-2048 = [] |
| fragmentation-buffer-size-4096 = [] |
| fragmentation-buffer-size-8192 = [] |
| fragmentation-buffer-size-16384 = [] |
| fragmentation-buffer-size-32768 = [] |
| fragmentation-buffer-size-65536 = [] |
| |
| assembler-max-segment-count-1 = [] |
| assembler-max-segment-count-2 = [] |
| assembler-max-segment-count-3 = [] |
| assembler-max-segment-count-4 = [] # Default |
| assembler-max-segment-count-8 = [] |
| assembler-max-segment-count-16 = [] |
| assembler-max-segment-count-32 = [] |
| |
| reassembly-buffer-size-256 = [] |
| reassembly-buffer-size-512 = [] |
| reassembly-buffer-size-1024 = [] |
| reassembly-buffer-size-1500 = [] # Default |
| reassembly-buffer-size-2048 = [] |
| reassembly-buffer-size-4096 = [] |
| reassembly-buffer-size-8192 = [] |
| reassembly-buffer-size-16384 = [] |
| reassembly-buffer-size-32768 = [] |
| reassembly-buffer-size-65536 = [] |
| |
| reassembly-buffer-count-1 = [] # Default |
| reassembly-buffer-count-2 = [] |
| reassembly-buffer-count-3 = [] |
| reassembly-buffer-count-4 = [] |
| reassembly-buffer-count-8 = [] |
| reassembly-buffer-count-16 = [] |
| reassembly-buffer-count-32 = [] |
| |
| ipv6-hbh-max-options-1 = [] # Default |
| ipv6-hbh-max-options-2 = [] |
| ipv6-hbh-max-options-3 = [] |
| ipv6-hbh-max-options-4 = [] |
| ipv6-hbh-max-options-8 = [] |
| ipv6-hbh-max-options-16 = [] |
| ipv6-hbh-max-options-32 = [] |
| |
| dns-max-result-count-1 = [] # Default |
| dns-max-result-count-2 = [] |
| dns-max-result-count-3 = [] |
| dns-max-result-count-4 = [] |
| dns-max-result-count-8 = [] |
| dns-max-result-count-16 = [] |
| dns-max-result-count-32 = [] |
| |
| dns-max-server-count-1 = [] # Default |
| dns-max-server-count-2 = [] |
| dns-max-server-count-3 = [] |
| dns-max-server-count-4 = [] |
| dns-max-server-count-8 = [] |
| dns-max-server-count-16 = [] |
| dns-max-server-count-32 = [] |
| |
| dns-max-name-size-64 = [] |
| dns-max-name-size-128 = [] |
| dns-max-name-size-255 = [] # Default |
| |
| rpl-relations-buffer-count-1 = [] |
| rpl-relations-buffer-count-2 = [] |
| rpl-relations-buffer-count-4 = [] |
| rpl-relations-buffer-count-8 = [] |
| rpl-relations-buffer-count-16 = [] # Default |
| rpl-relations-buffer-count-32 = [] |
| rpl-relations-buffer-count-64 = [] |
| rpl-relations-buffer-count-128 = [] |
| |
| rpl-parents-buffer-count-2 = [] |
| rpl-parents-buffer-count-4 = [] |
| rpl-parents-buffer-count-8 = [] # Default |
| rpl-parents-buffer-count-16 = [] |
| rpl-parents-buffer-count-32 = [] |
| |
| # END AUTOGENERATED CONFIG FEATURES |
| |
| [[example]] |
| name = "packet2pcap" |
| path = "utils/packet2pcap.rs" |
| required-features = ["std"] |
| |
| [[example]] |
| name = "tcpdump" |
| required-features = ["std", "phy-raw_socket", "proto-ipv4"] |
| |
| [[example]] |
| name = "httpclient" |
| required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "proto-ipv6", "socket-tcp"] |
| |
| [[example]] |
| name = "ping" |
| required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "proto-ipv6", "socket-icmp"] |
| |
| [[example]] |
| name = "server" |
| required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "socket-tcp", "socket-udp"] |
| |
| [[example]] |
| name = "client" |
| required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "socket-tcp", "socket-udp"] |
| |
| [[example]] |
| name = "loopback" |
| required-features = ["log", "medium-ethernet", "proto-ipv4", "socket-tcp"] |
| |
| [[example]] |
| name = "multicast" |
| required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "proto-igmp", "socket-udp"] |
| |
| [[example]] |
| name = "benchmark" |
| required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "socket-raw", "socket-udp"] |
| |
| [[example]] |
| name = "dhcp_client" |
| required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "proto-dhcpv4", "socket-raw"] |
| |
| [[example]] |
| name = "sixlowpan" |
| required-features = ["std", "medium-ieee802154", "phy-raw_socket", "proto-sixlowpan", "proto-sixlowpan-fragmentation", "socket-udp"] |
| |
| [[example]] |
| name = "sixlowpan_benchmark" |
| required-features = ["std", "medium-ieee802154", "phy-raw_socket", "proto-sixlowpan", "proto-sixlowpan-fragmentation", "socket-udp"] |
| |
| [[example]] |
| name = "dns" |
| required-features = ["std", "medium-ethernet", "medium-ip", "phy-tuntap_interface", "proto-ipv4", "socket-dns"] |
| |
| [profile.release] |
| debug = 2 |