Skip to content

Update Rust crate smoltcp to 0.13#620

Open
oxide-renovate[bot] wants to merge 1 commit intomasterfrom
renovate/smoltcp-0.x
Open

Update Rust crate smoltcp to 0.13#620
oxide-renovate[bot] wants to merge 1 commit intomasterfrom
renovate/smoltcp-0.x

Conversation

@oxide-renovate
Copy link
Contributor

@oxide-renovate oxide-renovate bot commented Nov 28, 2024

This PR contains the following updates:

Package Type Update Change
smoltcp workspace.dependencies minor 0.110.13

Release Notes

smoltcp-rs/smoltcp (smoltcp)

v0.13.0

Compare Source

Highlights of this release are IPv6 SLAAC support, TCP improvements (zero window probes, retransmit fixes, RFC compliance), raw socket enhancements, and a bump to Rust Edition 2024.

  • Minimum Supported Rust Version (MSRV) bumped to 1.91.
  • Rust Edition bumped to 2024. (#​1084)
  • heapless dependency bumped to v0.9. (#​1083)
  • iface
    • IPv6 SLAAC (Stateless Address Autoconfiguration), gated behind a new slaac feature flag. (#​1039)
    • Add slaac_updated_at method to check when SLAAC addresses were last updated. (#​1130)
    • Add getters for the default IPv4/IPv6 route and is_ipv4_gateway/is_ipv6_gateway helpers. (#​1129)
    • Exhaust egress socket state on poll, so sockets don't have to wait for the next poll to send queued data. (#​1059)
    • Remove always-Ok Results in consume(). (#​1093)
    • Honor any_ip when checking local address. (#​1119)
    • Add iface_max_route_count-0 feature flag to disable the routing table entirely. (#​1057)
    • Improve IPv4 source address selection for multi-subnet interfaces. (#​1074)
    • Fix poll_at returning stale timestamps due to silent_until expiry check. (#​1127)
    • Fix fragment payload sizes not being a multiple of eight octets. (#​1116)
    • Fix incorrect packet length after defragmentation. (#​1094)
    • Fix compilation of IPv6+Multicast without Ethernet. (#​1043)
    • Log and drop IPv6 packets requiring fragmentation (IPv6 routers must not fragment). (#​1038)
  • tcp
    • Add zero window probe support. (#​1026)
    • Close socket if the local IP is no longer assigned to the interface. (#​1113)
    • Reject bytes outside the receive window. (#​1079)
    • Don't accept RST packets on listening sockets. (#​1058)
    • Don't send TCP RST when packet is handled by a raw socket. (#​1069)
    • Send challenge ACK for duplicate ACK in LAST-ACK state. (#​1126)
    • Fix retransmit exponential backoff, align to RFC 6298. (#​1023)
    • Restart retransmit timer on new data ACK. (#​1018)
    • Fix FIN retransmit in CLOSING state. (#​1026)
    • Add pause_synack feature flag to allow user code to withhold SYN|ACK. (#​1063)
  • socket
    • ICMP: support binding to a TCP port. (#​1089)
    • ICMP: add no-auto-icmp-echo-reply feature flag to disable automatic echo replies. (#​1106)
    • Raw: allow receiving all protocols and IP versions (unfiltered mode). (#​1067)
    • Raw: fix panic when payload buffer exceeds packet size during fragmentation. (#​1077)
    • DHCPv4: reuse DHCPOFFER transaction ID in DHCPREQUEST. (#​1061)
    • DHCPv4: fix panic when T1 < T2 < lease duration is not respected by server. (#​1029)
    • DNS: fix compilation when socket-dns is enabled but socket-udp isn't. (#​1041)
    • Implement AnySocket for the Socket enum. (#​1092)
  • phy
    • Tracer: update public API to allow custom inspection and printing of packets. (#​1076)
    • TunTapInterface: no longer automatically enables medium-ethernet feature. (#​1055)
  • wire
    • Add generic IPv4/IPv6 packet parsing support to IpRepr. (#​1087)
    • Make Cidr initialization const. (#​1036)
    • Add conversion from Endpoint into SocketAddr. (#​1124)
    • Use newly stable IP methods from core::net. (#​1115)
    • Fix RawHardwareAddress panic when parsing to specific link-layer address. (#​1027)
    • Fix multicast panic when max_resp_code is zero. (#​1047)
    • Fix partial checksum in tcpdump/pcap. (#​1015)

v0.12.0

Compare Source

Almost a year in the making, the highlights of the release are the migration to core::net IP types, IPv6 multicast, TCP improvements, and many fixes. Smoltcp now connects your gadgets to the Internet better than ever.

  • Minimum Supported Rust Version (MSRV) bumped to 1.80.
  • iface
    • IPv6 multicast (#​914, #​976, #​988, #​1009, #​1012)
    • Add poll_egress() and poll_ingress_single() methods for finer-grained control of what and how many packets are processed. (#​954, #​991, #​993)
    • Multicast join/leave no longer requires access to device+timestamp. (#​985)
    • Reset expiry of entries in the neighbor cache on packet reception (#​966)
    • Honor any_ip for ARP (#​880)
    • Honor any_ip for IPv6 (#​900)
    • Use own source address for ARP and NDISC Solicitations (#​984)
    • fix panic when discarding HBH Option with multicast destination address (#​996)
    • fix panic with 6lowpan frag datagram_size < 40 (#​997)
    • fix panic if no suitable IPv6 src_addr is found (#​895)
    • Fix specific length IP packets not being fragmented (#​1008)
  • tcp
    • Add support for congestion control (#​907)
    • Add support for simultaneous open (#​1001)
    • Add support for Timestamp option (#​939)
    • Send immediate ACKs after RMSS bytes of data (#​1002)
    • Do not ignore FIN if segment is partially outside the window. (#​977)
    • Correctly set internal sACK flag for client sockets (#​995)
    • Only reset remote_last_ts if some data is enqueued (#​917)
    • Don't delay ACKs for significant window updates (#​935)
    • Add listen_endpoint getter (#​1005)
  • socket
    • UDP,ICMP,raw: Add send_queue/recv_queue (#​1003)
    • ICMP: split ICMPv4/v6 accept and process (#​887)
    • UDP: Store local and use local address in metadata (#​904)
    • DNS: fix panic if server list is too long (#​986)
    • DNS: fix panic if no valid source address is found (#​987)
  • phy
    • Change mutability of RxToken's consume argument. (#​924)
    • Add support for NetBSD (#​883)
    • Add minimum support for iOS (#​896)
    • Add BPF support for FreeBSD (#​906)
    • disable checksums on loopback (#​919)
  • wire
    • Use core::net types for IP addresses. (#​937, #​994)
    • Add missing exports in wire for DNS (#​891)
    • rename Scope to MulticastScope (#​898)
    • Re-export dhcpv4::Flags and dhcpv4::OpCode (#​901)
    • Make Address:v6() constructor const (#​975)
    • Ipv6RoutingHeader::clear_reserved: fix offsets for Type 2 routing headers. (#​882)

Configuration

📅 Schedule: Branch creation - "after 8pm,before 6am" in timezone America/Los_Angeles, Automerge - "after 8pm,before 6am" in timezone America/Los_Angeles.

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@oxide-renovate oxide-renovate bot force-pushed the renovate/smoltcp-0.x branch from 3997be1 to d667509 Compare March 21, 2026 03:34
@oxide-renovate oxide-renovate bot changed the title Update Rust crate smoltcp to 0.12 Update Rust crate smoltcp to 0.13 Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants