Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase PXE additions on smoltcp/master #1

Open
wants to merge 814 commits into
base: pxe-boot
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Sep 21, 2022

  1. Configuration menu
    Copy the full SHA
    092aba1 View commit details
    Browse the repository at this point in the history
  2. Merge #671

    671: fix socket feature check r=Dirbaio a=M1cha
    
    it requires you to have at least one socket type enabled but the feature
    `socket-dhcp` does not exist because it's name is `socket-dhcpv4`. So if
    that's only socket type you want enabled you weren't able to do that due
    to this broken check.
    
    Co-authored-by: Michael Zimmermann <[email protected]>
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    3 people committed Sep 21, 2022
    Configuration menu
    Copy the full SHA
    edbcbff View commit details
    Browse the repository at this point in the history
  3. Change egress error handling

    Previously, error handling was performed in the closure and after the
    closure as well. Now, error handling is performed in one place.
    thvdveld authored and Dirbaio committed Sep 21, 2022
    Configuration menu
    Copy the full SHA
    1f25195 View commit details
    Browse the repository at this point in the history
  4. Merge #667

    667: Change egress error handling r=Dirbaio a=thvdveld
    
    Previously, error handling was performed in the closure and after the
    closure as well. Now, error handling is performed in one place.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Sep 21, 2022
    Configuration menu
    Copy the full SHA
    02535a7 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2022

  1. Adds one-shot mDNS resolution

    RFC 6762 Section 5.1 specifies a one-shot multicast DNS query. This
    query has minimal differences from a standard DNS query, mostly just
    using a multicast address and a different port (5353 vs 53).
    
    A fully standards compliant mDNS implementation would use UDP source
    port 5353 as well to issue queries, however we MUST NOT use that port
    and continue using an ephemeral port until features such as service
    discovery are implemented.
    
    This change also allows specifying what kind of DNS query we wish to
    perform.
    
    https://www.rfc-editor.org/rfc/rfc6762#section-5.1
    benbrittain committed Sep 22, 2022
    Configuration menu
    Copy the full SHA
    f5fa089 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2d8f6c1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    35cea49 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c6e2d8a View commit details
    Browse the repository at this point in the history
  5. Fix 6LoWPAN fragmentation

    thvdveld authored and benbrittain committed Sep 22, 2022
    Configuration menu
    Copy the full SHA
    e4af711 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2022

  1. Use renewal time from DHCP server ACK, if given

    Per RFC 2132 section 9.11 the server can manually specify a renewal (T1)
    time different from the default of half the lease time through option
    code 58. This PR updates the behavior of the dhcp client to use that
    value, if provided, and only if not provided does it default to half of
    the lease duration.
    
    Since the current state of smoltcp does not seem to follow the REBINDING
    state, I also made it look for a value in option code 59 (which should
    be the rebinding (T2) interval) and use that if no T1 interval interval
    is provided. This behavior seems sensible to me, given that we're not
    following the REBINDING part of the spec, but I can change it to ignore
    option code 59, or any other handling, if that is preferred.
    JarredAllen committed Sep 23, 2022
    Configuration menu
    Copy the full SHA
    58fb0cb View commit details
    Browse the repository at this point in the history
  2. Fix failing tests

    JarredAllen committed Sep 23, 2022
    Configuration menu
    Copy the full SHA
    6a4c549 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2022

  1. Merge #683

    683: Use renewal time from DHCP server ACK, if given r=Dirbaio a=JarredAllen
    
    # Description
    
    Per RFC 2132 section 9.11 the server can manually specify a renewal (T1) time different from the default value (half the lease time) through option code 58. This PR updates the behavior of the dhcp client to use that value, if provided, and only if not provided does it default to half of the lease duration.
    
    Since smoltcp seems to ignore the REBINDING state, I also made it look for a provided rebinding (T2) time provided by the server (dhcp option 59) and made it use that value as the renewal time if no renewal time was provided and the rebinding time is less than the default. This behavior seems sensible to me, given that we're not following the REBINDING part of the spec, but I can change it to ignore option code 59, or any other handling, if that is preferred.
    
    # Verification
    
    I realized that this functionality was missing when I changed my configuration to set a 10 second renew time on a lease which lasts for a very long time, and observed that my devices (which use this library) weren't attempting to renew. To verify that this PR works, I ran it in my existing setup and confirmed that my devices now renew their leases at approximately 10 second intervals. I think this, alongside the tests in CI, should be good enough.
    
    Co-authored-by: Jarred Allen <[email protected]>
    bors[bot] and JarredAllen committed Sep 25, 2022
    Configuration menu
    Copy the full SHA
    8775de6 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2022

  1. Fix 6LoWPAN fragmentation

    thvdveld committed Sep 26, 2022
    Configuration menu
    Copy the full SHA
    ab49e56 View commit details
    Browse the repository at this point in the history
  2. Merge #684

    684: Fix 6LoWPAN fragmentation r=thvdveld a=thvdveld
    
    
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Sep 26, 2022
    Configuration menu
    Copy the full SHA
    23f618e View commit details
    Browse the repository at this point in the history
  3. Move mDNS implementation behind feature flag

    Swaps the bool in the raw query API to an enum that can statically
    prevent mdns usage without the feature flag enabled.
    benbrittain committed Sep 26, 2022
    Configuration menu
    Copy the full SHA
    23cb8bd View commit details
    Browse the repository at this point in the history
  4. Merge #669

    669: Adds one-shot mDNS resolution r=Dirbaio a=benbrittain
    
    RFC 6762 Section 5.1 specifies a one-shot multicast DNS query. This
    query has minimal differences from a standard DNS query, mostly just
    using a multicast address and a different port (5353 vs 53).
    
    A fully standards compliant mDNS implementation would use UDP source
    port 5353 as well to issue queries, however we MUST NOT use that port
    and continue using an ephemeral port until features such as service
    discovery are implemented.
    
    This change also allows specifying what kind of DNS query we wish to
    perform.
    
    https://www.rfc-editor.org/rfc/rfc6762#section-5.1
    
    Co-authored-by: Benjamin Brittain <[email protected]>
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    3 people committed Sep 26, 2022
    Configuration menu
    Copy the full SHA
    c127421 View commit details
    Browse the repository at this point in the history
  5. DHCP indicate new config if there's a packet buffer provided

    \# Description
    
    If the user provides a buffer in which to store the packets, then the
    contents of the received packet will be buffered and included in the
    returned Config when the DHCP connection is made. However, it isn't
    included in the Config struct until the value is returned to the user,
    so the equality check for whether to call `config_changed` disregards
    any additional information in the buffer beyond what this library
    parses.
    
    For my purposes, I need access to the contents of the buffer when they
    change as a result of a new packet, even if everything else is the same.
    Since two packets will almost certainly not be the same thanks to the
    magic cookie (unless the packet gets duplicated on the network, which is
    an acceptably low risk for my use of smoltcp), an acceptable option for
    my uses is to just always return the new configuration when a packet is
    received (gated on whether a buffer is provided to return the packet
    into).
    
    \# Alternatives
    
    While this approach is the easiest and best for my uses, I can think of
    the following alternatives which would also work and might be prefered
    for other use-cases:
     * Allow the user to specify whether they wish to receive all packets
       instead of opting all users who provide a buffer into this behavior
     * Allow the user to provide a closure which compares the old and new
       packets and returns true if this represents a new config which should
       be returned.
     * Compare the old packet to the new packet (either byte-by-byte or
       looking at the provided options) and only return a new config if
       differences are found.
    \# Verification
    
    In my setup, I was seeing bugs that were caused by smoltcp not exposing
    the config when the only changes were in the additional options that I
    want to use but which smoltcp doesn't use directly. Using this branch
    instead of the main release fixed those bugs and I was able to verify
    that it behaves the way I expected. I think this verification, along
    with CI tests passing, should be sufficient for verifying this PR.
    JarredAllen committed Sep 26, 2022
    Configuration menu
    Copy the full SHA
    b88021e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ba1d4db View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2022

  1. Configuration menu
    Copy the full SHA
    64ce56b View commit details
    Browse the repository at this point in the history
  2. Merge #686

    686: Changes egress functions to pass up Err(Exhausted) r=thvdveld a=benbrittain
    
    Currently the poll functions will return `Ok(true)` instead of `Err(Exhausted)` despite logging about the failed transmission
    
    Co-authored-by: Benjamin Brittain <[email protected]>
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    3 people committed Sep 28, 2022
    Configuration menu
    Copy the full SHA
    fc69cdb View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2022

  1. fix boundary case of assembler::remove_contig_at

    caiyuanhao authored and caiyuanhao committed Oct 8, 2022
    Configuration menu
    Copy the full SHA
    bd220eb View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2022

  1. add addr resolv with context

    thvdveld committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    d2e8e99 View commit details
    Browse the repository at this point in the history
  2. Merge #687

    687: Add address context information for resolving 6LoWPAN addresses r=thvdveld a=thvdveld
    
    Implements [3.1.2. Context Identifier Extension](https://www.rfc-editor.org/rfc/rfc6282#section-3.1.2)
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    e66cdf4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    82faba2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c294ce5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    18e26c7 View commit details
    Browse the repository at this point in the history
  6. Merge #681

    681: Refactor 6LoWPAN function r=thvdveld a=thvdveld
    
    Now, handling UDP packets is done using `process_udp`. Also removed `cfg_if!` in `interface` since that messed with formatting of the code.
    
    It also contains a fix for the fragmentation.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    3a0568c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7633e48 View commit details
    Browse the repository at this point in the history
  8. Merge #690

    690: Increase version number r=thvdveld a=thvdveld
    
    This makes testing local changes with patches work in other crates.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    16d13ea View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5ab74b3 View commit details
    Browse the repository at this point in the history
  10. Make public Ipv6RoutingType

    Nicholas Cyprus committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    6dca806 View commit details
    Browse the repository at this point in the history
  11. Merge #691

    691: Make Public Ipv6RoutingType r=Dirbaio a=ngc0202
    
    Of the four `Type` enums, for some reason the one from `ipv6routing` was missing. This pull request makes it public under the name `Ipv6RoutingType`
    
    Co-authored-by: Nicholas Cyprus <[email protected]>
    bors[bot] and Nicholas Cyprus committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    26b2eae View commit details
    Browse the repository at this point in the history
  12. Merge #692

    692: use same version number as released r=thvdveld a=thvdveld
    
    This reverts the bump to `0.9.0` and just makes the version the same as the released one.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Oct 10, 2022
    Configuration menu
    Copy the full SHA
    5b3d6fc View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2022

  1. First pass constification of the wire module

    Nicholas Cyprus committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    185a008 View commit details
    Browse the repository at this point in the history
  2. Bump MSRV to 1.61

    Nicholas Cyprus committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    0b17cba View commit details
    Browse the repository at this point in the history
  3. Set rust-version = 1.61 in Cargo.toml

    Nicholas Cyprus committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    a99c059 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2022

  1. Configuration menu
    Copy the full SHA
    20a4ca7 View commit details
    Browse the repository at this point in the history
  2. Fix missing #[test]

    Dirbaio committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    5451ecc View commit details
    Browse the repository at this point in the history
  3. Merge #699

    699: Fix missing `#[test]` r=Dirbaio a=Dirbaio
    
    fixes #696 
    
    bors r+
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    eaf01ca View commit details
    Browse the repository at this point in the history
  4. Merge #698

    698: Split interface into multiple files r=Dirbaio a=thvdveld
    
    Currently, `src/iface/interface.rs` is 5178 lines. I started splitting the interface because I think it was becoming to big when working on RPL. I think splitting it the way I did is currently most logical, however, I'm sure I missed some things. What do you all think?
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    ef59b94 View commit details
    Browse the repository at this point in the history
  5. Merge #693

    693: Constification of the wire module r=Dirbaio a=ngc0202
    
    A huge portion of the `wire` module is constifyable, as shown in this commit. Making these `const fn`s, especially the functions set aside in the `field` modules of wire, would be greatly beneficial to me as a consumer of this crate, and I imagine many others. Many of the structs in my own crate's "wire" module for a custom protocol are more constrained versions of the packets and reprs provided by smoltcp. Due to being more constrained, many fields which are variable in the generic reprs are now constant in mine, which then lend themselves to being constants in my crate, however these functions and methods not being marked `const` prevents me from using smoltcp's tools to calculate these values. **Most** of the functions which I marked `const` in this commit are by their very nature/semantics guaranteed to be constifiable anyway, however a handful aren't necessarily, therefore:
    
    **Important note:** While the majority of the functions are marked `const` are very safe to do so, not all of them are guaranteed to be so, and the reviewer of this PR should take caution and feel free to unmark something as const if they're not comfortable making that guarantee in the public API.
    
    Another note: There are various other functions which can't be made `const fn` as written, but could be with minor tweaks. I did not include these tweaks but I think it should be considered as further work for this PR or a potential follow-up PR. Furthermore, plenty outside of `wire` is constifyable as well but I did not include those in the scope of this PR.
    
    Co-authored-by: Nicholas Cyprus <[email protected]>
    bors[bot] and Nicholas Cyprus committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    93b4c82 View commit details
    Browse the repository at this point in the history
  6. Merge #689

    689: fix boundary case of assembler::remove_contig_at r=Dirbaio a=hikaricai
    
    Found a bug when learning source code of smoltcp.
    
    Co-authored-by: caiyuanhao <[email protected]>
    bors[bot] and caiyuanhao committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    a794133 View commit details
    Browse the repository at this point in the history
  7. assembler: do not return whether there was an overlap.

    This functionality is completely unused, and was panicky with overflow checking (see #694)
    Fixes #694
    Dirbaio committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    a55c00f View commit details
    Browse the repository at this point in the history
  8. Merge #700

    700: assembler: do not return whether there was an overlap. r=Dirbaio a=Dirbaio
    
    This functionality is completely unused, and was panicky with overflow checking (see #694).
    
    Fixes #694
    
    bors r+
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    6c2352b View commit details
    Browse the repository at this point in the history
  9. Merge #685

    685: DHCP indicate new config if there's a packet buffer provided r=Dirbaio a=JarredAllen
    
    # Description
    
    If the user provides a buffer in which to store the packets, then the contents of the received packet will be buffered and included in the returned Config when the DHCP connection is made. However, it isn't included in the Config struct until the value is returned to the user, so the equality check for whether to call `config_changed` disregards any additional information in the buffer beyond what this library parses.
    
    For my purposes, I need access to the contents of the buffer when they change as a result of a new packet, even if everything else is the same. Since two packets will almost certainly not be the same thanks to the magic cookie (unless the packet gets duplicated on the network, which is an acceptably low risk for my use of smoltcp), an acceptable option for my uses is to just always return the new configuration when a packet is received (gated on whether a buffer is provided to return the packet into).
    
    # Alternatives
    
    While this approach is the easiest and best for my uses, I can think of the following alternatives which would also work and might be preferred for other use-cases:
     * Allow the user to specify whether they wish to receive all packets instead of opting all users who provide a buffer into this behavior
     * Allow the user to provide a closure which compares the old and new packets and returns true if this represents a new config which should be returned.
     * Compare the old packet to the new packet (either byte-by-byte or looking at the provided options) and only return a new config if differences are found.
    
    # Verification
    
    In my setup, I was seeing bugs that were caused by smoltcp not exposing the config when the only changes were in the additional options that I want to use but which smoltcp doesn't use directly. Using this branch instead of the main release fixed those bugs and I was able to verify that it behaves the way I expected. I think this verification, along with CI tests passing, should be sufficient for verifying this PR.
    
    Co-authored-by: Jarred Allen <[email protected]>
    bors[bot] and JarredAllen committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    b66e140 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2022

  1. Fix how Instant is displayed

    Instant was displayed incorrectly. For example,
    `Instant::from_millis(74)` would have been displayed as "0.74s" instead
    of the correct "0.074s".
    thvdveld committed Oct 26, 2022
    Configuration menu
    Copy the full SHA
    09d64b0 View commit details
    Browse the repository at this point in the history
  2. Merge #701

    701: Fix how `Instant` is displayed r=thvdveld a=thvdveld
    
    Instant was displayed incorrectly. For example,
    `Instant::from_millis(74)` would have been displayed as "0.74s" instead of the correct "0.074s".
    
    bors r+
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Oct 26, 2022
    Configuration menu
    Copy the full SHA
    202e9b4 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2022

  1. GAT-based Device trait.

    The current `'a` lifetime in the `Device` trait is essentially a workaround for lack of GATs.
    I'm just experimenting how this would look like, it'll have to wait until GATs are stable to go in.
    
    The main benefit is structs implementing `Device` can now borrow stuff. This wasn't possible
    before because the `for<'d> T: Device<'d>` bounds would essentially imply `T: 'static`.
    Dirbaio committed Nov 6, 2022
    Configuration menu
    Copy the full SHA
    4300e7c View commit details
    Browse the repository at this point in the history
  2. Bump MSRV to 1.65

    Dirbaio committed Nov 6, 2022
    Configuration menu
    Copy the full SHA
    9d86fb9 View commit details
    Browse the repository at this point in the history
  3. Clippy fixes.

    Dirbaio committed Nov 6, 2022
    Configuration menu
    Copy the full SHA
    13cc7f8 View commit details
    Browse the repository at this point in the history
  4. Merge #572

    572: GAT-based Device trait. r=Dirbaio a=Dirbaio
    
    The current `'a` lifetime in the `Device` trait is essentially a workaround for lack of GATs.
    I'm just experimenting how this would look like, it'll have to wait until GATs are stable to go in.
    
    The main benefit is structs implementing `Device` can now borrow stuff. This wasn't possible
    before because the `for<'d> T: Device<'d>` bounds would essentially imply `T: 'static`.
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Nov 6, 2022
    Configuration menu
    Copy the full SHA
    f403862 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c53e668 View commit details
    Browse the repository at this point in the history
  6. Merge #706

    706: Fix medium-ip not compiling complaining of needing EthernetAddress r=Dirbaio a=Dirbaio
    
    #703 rebased
    
    cc `@gopakumarce`
    
    Co-authored-by: Gopa Kumar <[email protected]>
    bors[bot] and Gopa Kumar committed Nov 6, 2022
    Configuration menu
    Copy the full SHA
    54a73b0 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2022

  1. Configuration menu
    Copy the full SHA
    5084250 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2022

  1. Add changelog for v0.8.2

    Dirbaio committed Nov 27, 2022
    Configuration menu
    Copy the full SHA
    3057e73 View commit details
    Browse the repository at this point in the history
  2. Merge #682

    682: 6lowpan tests r=Dirbaio a=thvdveld
    
    Add tests for 6LoWPAN:
    - [x] Incoming ICMP packets
    - [x] Incoming UDP packets
    - [x] Outgoing ICMP packets
    - [x] Outgoing UDP packets
    
    ~~Should be merged after #681 .~~
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Nov 27, 2022
    Configuration menu
    Copy the full SHA
    9323781 View commit details
    Browse the repository at this point in the history
  3. Make std imply alloc feature.

    This allows simplifying all cfg's to just check alloc.
    
    There should be no downside to using `extern crate alloc` in targets with `std`,
    since std support implies alloc support.
    Dirbaio committed Nov 27, 2022
    Configuration menu
    Copy the full SHA
    160ceb9 View commit details
    Browse the repository at this point in the history
  4. Merge #709

    709: Make `std` imply `alloc` feature. r=Dirbaio a=Dirbaio
    
    This allows simplifying all cfg's to just check alloc.
    
    There should be no downside to using `extern crate alloc` in targets with `std`, since std support implies alloc support.
    
    bors r+
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Nov 27, 2022
    Configuration menu
    Copy the full SHA
    5c6ce3d View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2022

  1. Configuration menu
    Copy the full SHA
    ef0d413 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2022

  1. Merge #711

    711: Addvprinting of the needed size of fragmentation buffer. r=thvdveld a=KOLANICH
    
    
    
    Co-authored-by: KOLANICH <[email protected]>
    bors[bot] and KOLANICH committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    656bf35 View commit details
    Browse the repository at this point in the history
  2. add more tests in CI

    thvdveld committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    d235b3a View commit details
    Browse the repository at this point in the history
  3. Merge #712

    712: add more tests in CI r=Dirbaio a=thvdveld
    
    IPv4 fragmentation was not covered in CI, neither was 6LoWPAN without fragmentation.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    ae428c1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6fbde4f View commit details
    Browse the repository at this point in the history
  5. Merge #710

    710: Fix panic when using IPv4 fragmentation with Layer 3 networks. r=Dirbaio a=KOLANICH
    
    ```console
    7:     0x7fe44617f300 - smoltcp::iface::interface::InterfaceInner::lookup_hardware_addr::h640efcd865d49106
    						at ~/sio-smoltcp/smoltcp/src/iface/interface/mod.rs:2007:15
    18:     0x7fe44618039a - smoltcp::iface::interface::InterfaceInner::dispatch_ip::h477a4410ea082342
    						at ~/sio-smoltcp/smoltcp/src/iface/interface/mod.rs:2133:19
    19:     0x7fe44617cd0f - smoltcp::iface::interface::Interface::socket_egress::{{closure}}::h0b25e0ce461b54e7
    						at ~/sio-smoltcp/smoltcp/src/iface/interface/mod.rs:1241:17
    20:     0x7fe44617d346 - smoltcp::iface::interface::Interface::socket_egress::{{closure}}::h3e55a2ce63c16877
    						at ~/sio-smoltcp/smoltcp/src/iface/interface/mod.rs:1274:21
    21:     0x7fe4461a24b4 - smoltcp::socket::udp::Socket::dispatch::{{closure}}::h52b2f159c6047eb1
    						at ~/sio-smoltcp/smoltcp/src/socket/udp.rs:465:13
    22:     0x7fe4461a4fa8 - smoltcp::storage::packet_buffer::PacketBuffer<H>::dequeue_with::{{closure}}::{{closure}}::ha53ebbf3d6d0e373
    						at ~/sio-smoltcp/smoltcp/src/storage/packet_buffer.rs:200:27
    23:     0x7fe446185b41 - smoltcp::storage::ring_buffer::RingBuffer<T>::dequeue_many_with::h4769dc1f2ccd50aa
    						at ~/sio-smoltcp/smoltcp/src/storage/ring_buffer.rs:245:30
    24:     0x7fe4461a4b16 - smoltcp::storage::packet_buffer::PacketBuffer<H>::dequeue_with::{{closure}}::h9789743e8966cfbe
    						at ~/sio-smoltcp/smoltcp/src/storage/packet_buffer.rs:196:13
    25:     0x7fe4461851cd - smoltcp::storage::ring_buffer::RingBuffer<T>::dequeue_one_with::h1201370f614614d2
    						at ~/sio-smoltcp/smoltcp/src/storage/ring_buffer.rs:154:19
    26:     0x7fe4461a494c - smoltcp::storage::packet_buffer::PacketBuffer<H>::dequeue_with::h62d428db6c52466d
    						at ~/sio-smoltcp/smoltcp/src/storage/packet_buffer.rs:190:9
    27:     0x7fe4461a1ca6 - smoltcp::socket::udp::Socket::dispatch::h3345cb3f2e0a28c5
    						at ~/sio-smoltcp/smoltcp/src/socket/udp.rs:431:19
    28:     0x7fe44617c75e - smoltcp::iface::interface::Interface::socket_egress::h4832c80b5e44260b
    						at ~/sio-smoltcp/smoltcp/src/iface/interface/mod.rs:1273:40
    29:     0x7fe44617b8b4 - smoltcp::iface::interface::Interface::poll::h3576f55b9ff8b575
    						at ~/sio-smoltcp/smoltcp/src/iface/interface/mod.rs:1088:31
    ```
    
    Co-authored-by: KOLANICH <[email protected]>
    bors[bot] and KOLANICH committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    b7a7c4b View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2022

  1. Configuration menu
    Copy the full SHA
    5206a87 View commit details
    Browse the repository at this point in the history
  2. Merge #714

    714: Fix PacketBuffer contig_window check when empty r=Dirbaio a=mkeeter
    
    Fixes #713 (which also includes a more detailed explanation)
    
    Co-authored-by: Matt Keeter <[email protected]>
    bors[bot] and mkeeter committed Dec 7, 2022
    Configuration menu
    Copy the full SHA
    0e614bc View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2022

  1. Configuration menu
    Copy the full SHA
    0fe0ec8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #717 from overheat/reversed_udp_readme

    fix reversed udp server example in README
    Dirbaio committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    df6d09c View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2022

  1. Make AnySocket object safe

    Signed-off-by: Klim Tsoutsman <[email protected]>
    tsoutsman committed Dec 16, 2022
    Configuration menu
    Copy the full SHA
    24af392 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2022

  1. Configuration menu
    Copy the full SHA
    8cf7625 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aec718a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    eb811cf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4ddb96b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bf82753 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2022

  1. Remove Sized bound from Socket methods

    Signed-off-by: Klim Tsoutsman <[email protected]>
    tsoutsman committed Dec 21, 2022
    Configuration menu
    Copy the full SHA
    66325a1 View commit details
    Browse the repository at this point in the history
  2. Merge #718

    718: Make `AnySocket` object safe r=Dirbaio a=tsoutsman
    
    Hi, I'm using `smoltcp` in an operating system and need to keep a global list of sockets NICs can poll when they receive an interrupt. Each socket is stored in its own socket set as that needs ownership over the socket and is the only way it can be polled. When the socket is registered, we know the concrete type, and so my `Socket` struct looks like so:
    
    ```rust
    #[repr(transparent)]
    pub struct Socket<T>
    where
        T: AnySocket<'static> + ?Sized,
    {
        pub(crate) inner: SocketSet<'static>,
        phantom_data: PhantomData<T>,
    }
    
    impl<T> Socket<T>
    where
        T: AnySocket<'static> + ?Sized,
    {
        pub(crate) fn new(inner: SocketSet<'static>) -> Self {
            Self {
                inner,
                phantom_data: PhantomData,
            }
        }
    }
    
    impl<T> Deref for Socket<T>
    where
        T: AnySocket<'static>,
    {
        type Target = T;
    
        fn deref(&self) -> &Self::Target {
            AnySocket::downcast(self.inner.iter().next().expect("no socket in socket set").1)
                .expect("incorrect socket type")
        }
    }
    
    impl<T> DerefMut for Socket<T>
    where
        T: AnySocket<'static>,
    {
        fn deref_mut(&mut self) -> &mut Self::Target {
            AnySocket::downcast_mut(
                self.inner
                    .iter_mut()
                    .next()
                    .expect("no socket in socket set")
                    .1,
            )
            .expect("incorrect socket type")
        }
    }
    ```
    
    However, they must be type erased as they are stored in a vec:
    ```rust
    static SOCKETS: Mutex<Vec<Arc<Mutex<Socket<dyn AnySocket<'static> + Send>>>>>;
    
    pub fn add_socket<T>(&self, socket: T) -> Arc<Mutex<crate::Socket<T>>>
    where
        T: AnySocket<'static> + Send,
    {
        let mut socket_set = SocketSet::new([iface::SocketStorage::default(); 1]);
        socket_set.add(socket);
        let socket_arc = Arc::new(Mutex::new(crate::Socket::<T>::new(socket_set)));
        SOCKETS
            .lock()
            // SAFETY: Socket has a transparent representation and so the memory layout is the same
            // regardless of T. The Send bound on T ensures that transmuting to a type that
            // implemnts Send is sound.
            .push(unsafe { core::mem::transmute(socket_arc.clone()) });
        socket_arc
    }
    
    ```
    
    This is only possible if `AnySocket` is object safe.
    
    Co-authored-by: Klim Tsoutsman <[email protected]>
    bors[bot] and tsoutsman committed Dec 21, 2022
    Configuration menu
    Copy the full SHA
    119759b View commit details
    Browse the repository at this point in the history
  3. Merge #719

    719: Interface `ip_addrs` field from slice to `heapless::Vec` r=Dirbaio a=davidedellagiustina
    
    As stated in the title.
    One cargo test is still failing, needs to be looked into.
    
    Moreover, for now the `heapless::Vec` used is fixed-size.
    
    Co-authored-by: Davide Della Giustina <[email protected]>
    bors[bot] and davidedellagiustina committed Dec 21, 2022
    Configuration menu
    Copy the full SHA
    3455acb View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2022

  1. Make AnySocket object safe

    Apologies, in #718, removing the sized bound in `downcast` and
    `downcast_mut` implicitly made `AnySocket` object unsafe as they don't
    have a `self` method. I had a bit of a brain fart.
    
    Signed-off-by: Klim Tsoutsman <[email protected]>
    tsoutsman committed Dec 22, 2022
    Configuration menu
    Copy the full SHA
    3349607 View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2022

  1. Merge #721

    721: Make `AnySocket` object safe r=Dirbaio a=tsoutsman
    
    Apologies, in #718, removing the sized bound in `downcast` and `downcast_mut` implicitly made `AnySocket` object unsafe as they don't have a `self` method. I had a bit of a brain fart.
    
    Signed-off-by: Klim Tsoutsman <[email protected]>
    
    Co-authored-by: Klim Tsoutsman <[email protected]>
    bors[bot] and tsoutsman committed Dec 23, 2022
    Configuration menu
    Copy the full SHA
    769630f View commit details
    Browse the repository at this point in the history
  2. iface: use heapless Vec for routes.

    Lookup is O(n) now. However, it previously did 32 (or 128 for ipv6!)
    map lookups. Since the route table typically doesn't have that many
    routes, the new code is likely faster even if it's O(n).
    Dirbaio committed Dec 23, 2022
    Configuration menu
    Copy the full SHA
    9beb57a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4eb49b8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e9016e7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d9f5b4b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    94a52d8 View commit details
    Browse the repository at this point in the history
  7. Remove feature rust-1_28

    Dirbaio committed Dec 23, 2022
    Configuration menu
    Copy the full SHA
    8b92e20 View commit details
    Browse the repository at this point in the history
  8. Merge #725

    725: Remove feature rust-1_28 r=Dirbaio a=Dirbaio
    
    Rust 1.28 is wayyyyyy below our MSRV so this feature is effectively useless.
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Dec 23, 2022
    Configuration menu
    Copy the full SHA
    25a8c46 View commit details
    Browse the repository at this point in the history

Commits on Dec 24, 2022

  1. Merge pull request #722 from smoltcp-rs/heapless

    More heapless
    Dirbaio committed Dec 24, 2022
    Configuration menu
    Copy the full SHA
    19c7cba View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2022

  1. Fix pretty print and tcp socket connect tests

    This fixes #723.
    thvdveld committed Dec 27, 2022
    Configuration menu
    Copy the full SHA
    9183ca7 View commit details
    Browse the repository at this point in the history
  2. Merge #724

    724: Make doc-test `no_run` instead of `ignore` r=Dirbaio a=thvdveld
    
    This fixes #723.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Dec 27, 2022
    Configuration menu
    Copy the full SHA
    92ea948 View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2022

  1. Clippy fixes.

    Dirbaio committed Dec 30, 2022
    Configuration menu
    Copy the full SHA
    3395454 View commit details
    Browse the repository at this point in the history
  2. Merge #728

    728: Clippy fixes. r=Dirbaio a=Dirbaio
    
    bors r+
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Dec 30, 2022
    Configuration menu
    Copy the full SHA
    b07707d View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2023

  1. Switch to Rust 2021.

    Dirbaio committed Jan 1, 2023
    Configuration menu
    Copy the full SHA
    38094d9 View commit details
    Browse the repository at this point in the history
  2. Clippy fixes

    Dirbaio committed Jan 1, 2023
    Configuration menu
    Copy the full SHA
    3a080d8 View commit details
    Browse the repository at this point in the history
  3. Merge #729

    729: Switch to Rust 2021 r=Dirbaio a=Dirbaio
    
    bors r+
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Jan 1, 2023
    Configuration menu
    Copy the full SHA
    fdeec58 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    19a0389 View commit details
    Browse the repository at this point in the history
  5. assembler: refactor algorithm to not care about total buffer size.

    - Assembler no longer needs the total buffer size, added range indices can be as high as needed.
    - Fixes quadratic run time when adding a range that overlaps with many existing ranges.
    Dirbaio committed Jan 1, 2023
    Configuration menu
    Copy the full SHA
    274260c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    027ec16 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4026982 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    af115a5 View commit details
    Browse the repository at this point in the history
  9. Refactor reassembly for 6LoWPAN

    thvdveld authored and Dirbaio committed Jan 1, 2023
    Configuration menu
    Copy the full SHA
    93d5d8a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    9a5e7e5 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    413b205 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2023

  1. Make IpEndpoints parse unspecified IPv6 IPs

    The previous solution only works for IP addresses
    or CIDRs, but not for IpEndpoint
    fluxchief committed Jan 4, 2023
    Configuration menu
    Copy the full SHA
    1dc1451 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2023

  1. Add peek and peek_slice functions to RawSocket

    Nicholas Cyprus committed Jan 13, 2023
    Configuration menu
    Copy the full SHA
    5cd0022 View commit details
    Browse the repository at this point in the history
  2. Appease rustfmt

    Nicholas Cyprus committed Jan 13, 2023
    Configuration menu
    Copy the full SHA
    af73ab6 View commit details
    Browse the repository at this point in the history
  3. Change rawsocket peek to look more like recv

    This fixes a borrowck error that the current implementation caused in my
    project, which was somehow not picked up by the CI/CD tests.
    Nicholas Cyprus committed Jan 13, 2023
    Configuration menu
    Copy the full SHA
    512bba4 View commit details
    Browse the repository at this point in the history
  4. Add tests for raw socket peek

    Nicholas Cyprus committed Jan 13, 2023
    Configuration menu
    Copy the full SHA
    6197033 View commit details
    Browse the repository at this point in the history
  5. Merge #734

    734: Add peek and peek_slice functions to RawSocket r=Dirbaio a=ngc0202
    
    This adds the `peek` and `peek_slice` functions to raw sockets, same as was added to UDP sockets in #278 
    
    Co-authored-by: Nicholas Cyprus <[email protected]>
    bors[bot] and Nicholas Cyprus committed Jan 13, 2023
    Configuration menu
    Copy the full SHA
    fe77138 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2023

  1. Merge #732

    732: Make IpEndpoints parse unspecified IPv6 IPs r=Dirbaio a=fluxchief
    
    The previous solution only works for `Ipv6Address` or `Ipv6Cidr`, but not for `Ipv6Endpoint`.
    It's not clear to me whether allowing `::` is something that was intentionally left out for `Ipv6Endpoint`s and only implemented for CIDRs by using the `is_cidr` parameter or if there were other thoughts behind that.
    
    All existing tests pass and I added one to cover the new behavior.
    
    Co-authored-by: Kevin Hamacher <[email protected]>
    bors[bot] and fluxchief committed Jan 14, 2023
    Configuration menu
    Copy the full SHA
    8f52dab View commit details
    Browse the repository at this point in the history
  2. wire/udp: make emit_header not able to calculate checksum.

    Currently it's not working properly, because you can call it when the UDP payload is not written yet to the buffer.
    I've changed it to not be able to, and clarified in docs that it's for internal-packet-use only.
    
    It's only used for 6lowpan decompression, and in that case we don't want to calculate and then later check the checksum.
    Dirbaio committed Jan 14, 2023
    Configuration menu
    Copy the full SHA
    7143833 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    df3556e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e782ada View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0102a4b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    836082c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4a8cd44 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0e1ba69 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f4a823a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    050731b View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    84cea13 View commit details
    Browse the repository at this point in the history
  12. Merge #730

    730: Error refactor, part 2: Remove Error enum. r=Dirbaio a=Dirbaio
    
    Finishes work started on #617, see there for motivation.
    
    Depends on #726 
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    3 people committed Jan 14, 2023
    Configuration menu
    Copy the full SHA
    1f7e1fa View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2023

  1. Configuration menu
    Copy the full SHA
    6da8854 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8bd28ab View commit details
    Browse the repository at this point in the history
  3. assembler: fix comments

    Dirbaio committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    9913564 View commit details
    Browse the repository at this point in the history
  4. Merge #735

    735: Assembler fixes r=Dirbaio a=Dirbaio
    
    - Fix a bug where shifting left segments wasn't properly filling the leftover space with Empty.
    - Fix #452
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    4033a7c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c9f3a1c View commit details
    Browse the repository at this point in the history
  6. Merge #737

    737: wire/ndisc: do not error on unrecognized options. r=Dirbaio a=Dirbaio
    
    Fixes #546
    
    bors r+
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    fcac25c View commit details
    Browse the repository at this point in the history
  7. Allow specifying different server/client DHCP ports

    The default linux dhclient utility allows to use DHCP with non-standard
    ports. This change adds support for those usecases.
    czocher committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    4fd767e View commit details
    Browse the repository at this point in the history
  8. Merge #738

    738: Allow specifying different server/client DHCP ports r=Dirbaio a=Czocher
    
    The default linux dhclient utility allows to use DHCP with non-standard ports. This change adds support for those usecases.
    
    Co-authored-by: Paweł Jan Czochański <[email protected]>
    bors[bot] and czocher committed Jan 16, 2023
    Configuration menu
    Copy the full SHA
    7b631c2 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2023

  1. Configuration menu
    Copy the full SHA
    0af56fa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c015cc3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bc7fe74 View commit details
    Browse the repository at this point in the history
  4. iface: remove lifetimes.

    Dirbaio committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    b73c943 View commit details
    Browse the repository at this point in the history
  5. iface: remove builder.

    Dirbaio committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    5740b76 View commit details
    Browse the repository at this point in the history
  6. Merge pull request #736 from smoltcp-rs/fixes

    iface: make everything owned, remove lifetime, remove builder.
    Dirbaio committed Jan 19, 2023
    Configuration menu
    Copy the full SHA
    80b0756 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2023

  1. Configuration menu
    Copy the full SHA
    9a28858 View commit details
    Browse the repository at this point in the history
  2. Merge #739

    739: Instant is microseconds, not milliseconds r=Dirbaio a=datdenkikniet
    
    The doc comment was incorrect, fixed it.
    
    Co-authored-by: datdenkikniet <[email protected]>
    bors[bot] and datdenkikniet committed Jan 28, 2023
    Configuration menu
    Copy the full SHA
    98deb41 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2023

  1. Remove unneeded ref patterns and destructures.

    This brings the code to a more modern Rust style.
    
    - Dstructuring is not so necessary nowadays, with the borrow checker being smarter, especially around partial captures in closures.
    - "ref" is barely needed anymore, with [match ergonomics](https://rust-lang.github.io/rfcs/2005-match-ergonomics.html).
    Dirbaio committed Feb 5, 2023
    Configuration menu
    Copy the full SHA
    3a9d017 View commit details
    Browse the repository at this point in the history
  2. Merge #741

    741: Remove unneeded ref patterns and destructures. r=Dirbaio a=Dirbaio
    
    This brings the code to a more modern Rust style.
    
    - Dstructuring is not so necessary nowadays, with the borrow checker being smarter, especially around partial captures in closures.
    - "ref" is barely needed anymore, with [match ergonomics](https://rust-lang.github.io/rfcs/2005-match-ergonomics.html).
    
    bors r+
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Feb 5, 2023
    Configuration menu
    Copy the full SHA
    f5398a2 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2023

  1. Fix clippy.

    Dirbaio committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    7bc1d4e View commit details
    Browse the repository at this point in the history
  2. Merge #743

    743: Fix clippy. r=Dirbaio a=Dirbaio
    
    bors r+
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    c900ffd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f428a50 View commit details
    Browse the repository at this point in the history
  4. iface: unify ipv4/6lowpan packet assemblers.

    If you enable both ipv4 and 6lowpan on the same binary, an Interface
    had twice the needed reassembly buffers, one copy for ipv4 and another
    for 6lowpan. Only one of both was used at a time.
    
    Now interfaces have a single assembler used for either medium.
    Dirbaio committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    12fd816 View commit details
    Browse the repository at this point in the history
  5. iface: unify ipv4/6lowpan fragmenters.

    Same rationale as previous commit.
    
    Also, rename "OutPacket" to "Fragmenter".
    Dirbaio committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    d13db8b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a656ab0 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #740 from smoltcp-rs/fragmentation-unify

    iface: unify ipv4/6lowpan fragmentation.
    Dirbaio committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    3fbef82 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b047cbe View commit details
    Browse the repository at this point in the history
  9. Merge pull request #742 from smoltcp-rs/size-configs

    Add compile-time configuration options for counts and buffer sizes.
    Dirbaio committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    739e7a5 View commit details
    Browse the repository at this point in the history
  10. Release v0.9.0

    Dirbaio committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    20e5455 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2023

  1. Configuration menu
    Copy the full SHA
    46cca50 View commit details
    Browse the repository at this point in the history
  2. Merge #746

    746: Fix parsing of link layer address for ndiscoptions r=Dirbaio a=thvdveld
    
    Since c9f3a1c, the ndisc options are parsed instead of just calling `link_layer_addr()` to get the link layer address. This is correct, however, the parse function only allowed for link layer addresses of 6 bytes instead of allowing other lengths.
    
    A test was also added to check for this in the future.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    c978b36 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    51af32e View commit details
    Browse the repository at this point in the history
  4. Merge #747

    747: iface: make MulticastError public. r=Dirbaio a=Dirbaio
    
    bors r+
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    c924393 View commit details
    Browse the repository at this point in the history
  5. Release v0.9.1

    Dirbaio committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    9027825 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2023

  1. Configuration menu
    Copy the full SHA
    cce9ae7 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2023

  1. Configuration menu
    Copy the full SHA
    61e7d44 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2023

  1. Configuration menu
    Copy the full SHA
    f65351a View commit details
    Browse the repository at this point in the history
  2. Merge pull request #750 from mhils/error-impl

    implement Display and Error for error types
    Dirbaio committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    b3816e1 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2023

  1. Remove extern crate calls

    rubdos committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    dc3c444 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4e4567d View commit details
    Browse the repository at this point in the history
  3. Merge #751

    751: Small clean-ups: bump env_logger and clean up some `extern crate`s r=Dirbaio a=rubdos
    
    
    
    Co-authored-by: Ruben De Smet <[email protected]>
    bors[bot] and rubdos committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    bc12398 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2023

  1. Better defmt of Instant, Duration and Ipv6Address

    This changes the defmt formatting of Instant, Duration and Ipv6Address.
    They now have the same display as fmt::Display.
    thvdveld committed Mar 20, 2023
    Configuration menu
    Copy the full SHA
    ed0a770 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    80a7e18 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    91fc759 View commit details
    Browse the repository at this point in the history
  4. Merge #754

    754: Better defmt for Instant, Duration and Ipv6Address r=Dirbaio a=thvdveld
    
    This changes the defmt formatting of Instant, Duration and Ipv6Address. They now have the same display as fmt::Display.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Mar 20, 2023
    Configuration menu
    Copy the full SHA
    9eb8292 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2023

  1. Configuration menu
    Copy the full SHA
    d7d6294 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2023

  1. Configuration menu
    Copy the full SHA
    9b525ae View commit details
    Browse the repository at this point in the history
  2. Merge #756

    756: implement Display and Error for error types r=Dirbaio a=ssrlive
    
    same as #750
    
    Co-authored-by: ssrlive <[email protected]>
    bors[bot] and ssrlive committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    4c82a9f View commit details
    Browse the repository at this point in the history
  3. Merge #755

    755: Add Hash trait for enum_with_unknown macro r=Dirbaio a=ssrlive
    
    Please approve this patch, it is important for my app.
    
    Co-authored-by: ssrlive <[email protected]>
    bors[bot] and ssrlive committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    fbafffc View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2023

  1. Configuration menu
    Copy the full SHA
    bf1132d View commit details
    Browse the repository at this point in the history
  2. Update fragmentation.rs

    ssrlive committed Mar 26, 2023
    Configuration menu
    Copy the full SHA
    2b90103 View commit details
    Browse the repository at this point in the history
  3. Merge #757

    757: implement Display and Error for error types r=Dirbaio a=ssrlive
    
    Similar to #750 
    
    Co-authored-by: ssrlive <[email protected]>
    bors[bot] and ssrlive committed Mar 26, 2023
    Configuration menu
    Copy the full SHA
    e51d227 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2023

  1. Better impls defmt for some structs

    Sometimer, the defmt implementation was not readable when debugging.
    I changed it such that the defmt implelementation matches the Display
    implementation (which was more readable).
    thvdveld committed Mar 29, 2023
    Configuration menu
    Copy the full SHA
    4b1e8b1 View commit details
    Browse the repository at this point in the history
  2. Merge #758

    758: Better impls defmt for some structs r=Dirbaio a=thvdveld
    
    Sometimes, the defmt implementation was not readable when debugging. I changed it such that the defmt implementation matches the Display implementation (which was more readable).
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Mar 29, 2023
    Configuration menu
    Copy the full SHA
    1549a5e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f95fbca View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d2fd7ff View commit details
    Browse the repository at this point in the history
  5. Merge #760

    760: Bump minor version of heapless r=Dirbaio a=GrantM11235
    
    Smoltcp uses `heapless::Vec::remove`, which was added in [version 0.7.15](https://github.com/japaric/heapless/blob/HEAD/CHANGELOG.md#v0715---2022-07-05)
    
    There is also a newer version, [0.7.16](https://github.com/japaric/heapless/blob/HEAD/CHANGELOG.md#v0716---2022-08-09), but I don't know if smoltcp requires it
    
    Co-authored-by: Grant Miller <[email protected]>
    bors[bot] and GrantM11235 committed Mar 29, 2023
    Configuration menu
    Copy the full SHA
    65c318e View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2023

  1. Merge #759

    759: Put IEEE802154 in separate iface module r=thvdveld a=thvdveld
    
    And thus splitting IEEE802154 from 6LoWPAN.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    bd20865 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2023

  1. Configuration menu
    Copy the full SHA
    27c6f61 View commit details
    Browse the repository at this point in the history
  2. formatting

    wmcleish committed Apr 3, 2023
    Configuration menu
    Copy the full SHA
    f7e4993 View commit details
    Browse the repository at this point in the history
  3. formatting

    wmcleish committed Apr 3, 2023
    Configuration menu
    Copy the full SHA
    e9ce9e5 View commit details
    Browse the repository at this point in the history
  4. formatting

    wmcleish committed Apr 3, 2023
    Configuration menu
    Copy the full SHA
    9182324 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2023

  1. Update from comments

    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    wmcleish and Dirbaio committed Apr 4, 2023
    Configuration menu
    Copy the full SHA
    3f4210c View commit details
    Browse the repository at this point in the history
  2. Merge #763

    763: Add opcode and flag enums to dns export r=Dirbaio a=wmcleish
    
    Added opcode and flag enums to dns export. As it currently stands, user is not able to access the enums which are parameters to DnsPacket's "set_opcode" and "set_flags" functions. This change will allow the user to import and use those enums to set the packet contents. If there is a more elegant way to include them in DnsPacket instead of being their own imports, please suggest what changes can be made. Refer to [issue 762](#762)
    
    Edit: Sorry for commit spam, rustfmt not working locally for some reason.
    
    Co-authored-by: Will McLeish <[email protected]>
    bors[bot] and wmcleish committed Apr 4, 2023
    Configuration menu
    Copy the full SHA
    0254454 View commit details
    Browse the repository at this point in the history
  3. Merge #744

    744: Add support for rebinding to DHCP implementation r=Dirbaio a=JarredAllen
    
    The current DHCP implementation does not include the REBINDING state as detailed in the spec. I propose modifying the REBINDING state to send request packets until the REBINDING time begins, and then broadcast request packets once the REBINDING time begins.
    
    I added assertions for broadcast request packets to the existing unit tests, which pass. I also validated on my setup that it sent a broadcast request at the T2 time my DHCP server sends. I think this should be sufficient validation, but I can provide more if requested.
    
    There were a couple edge cases of the DHCP protocol pertaining to this change for which I couldn't find a specification in the standards. I documented the decisions I made in those cases, but I'm not attached to what I did (my setup hits none of them) so I can change it to something else if you prefer.
    
    Co-authored-by: Jarred Allen <[email protected]>
    bors[bot] and JarredAllen committed Apr 4, 2023
    Configuration menu
    Copy the full SHA
    dcac7ad View commit details
    Browse the repository at this point in the history
  4. Merge #748

    748: tcp: do not count window updates as duplicate acks. r=Dirbaio a=Dirbaio
    
    rfc 2581:
    
    > The TCP sender SHOULD use the "fast retransmit" algorithm to detect
    > and repair loss, based on incoming duplicate ACKs.  The fast
    > retransmit algorithm uses the arrival of 3 duplicate ACKs (4
    > ***identical*** ACKs without the arrival of any other intervening packets)
    > as an indication that a segment has been lost.  After receiving 3
    > duplicate ACKs, TCP performs a retransmission of what appears to be
    > the missing segment, without waiting for the retransmission timer to
    > expire.
    
    This means they have to have the same seq, ack and win, and therefore they must not be window updates.
    
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    bors[bot] and Dirbaio committed Apr 4, 2023
    Configuration menu
    Copy the full SHA
    4aaab35 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    099f5f7 View commit details
    Browse the repository at this point in the history
  6. Clippy fix.

    Dirbaio committed Apr 4, 2023
    Configuration menu
    Copy the full SHA
    572b22b View commit details
    Browse the repository at this point in the history
  7. Merge #745

    745: Modify `hardware_addr` and `neighbor_cache` to be not `Option` r=Dirbaio a=thvdveld
    
    Since `neighbor_cache` is now using `heapless::LinearMap` it doesn't need to be an `Option` any more. 
    
    It's also possible to just make the `hardware_address` not `Option`.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    Co-authored-by: Dario Nieuwenhuis <[email protected]>
    3 people committed Apr 4, 2023
    Configuration menu
    Copy the full SHA
    8fca439 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2023

  1. Fix incorrect test packet

    The packet had 0x12 for the length, which is not the same as the
    variable name suggests.
    
    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    99adcf7 View commit details
    Browse the repository at this point in the history
  2. Merge #764

    764: Fix incorrect test packet r=thvdveld a=thvdveld
    
    The packet had 0x12 for the length, which is not the same as the variable name suggests.
    
    bors r+
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    2ccf297 View commit details
    Browse the repository at this point in the history
  3. Add wire representation for the RPL protocol.

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    af1d94a View commit details
    Browse the repository at this point in the history
  4. Merge #766

    766: Add wire representation for the RPL protocol. r=thvdveld a=thvdveld
    
    I'm splitting #627 into smaller PRs.
    
    This PR adds the wire representation of the RPL protocol.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    5aca9f2 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2023

  1. Configuration menu
    Copy the full SHA
    68a67fa View commit details
    Browse the repository at this point in the history
  2. Merge #771

    771: Use bash script in CI r=thvdveld a=thvdveld
    
    Use a bash script in CI. The advantage of this is that we can run this script locally as well, and thus check if a PR would pass the checks or not locally.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Apr 16, 2023
    Configuration menu
    Copy the full SHA
    1d3e7f9 View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2023

  1. Add code coverage using llvm-cov and codecov.io

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    42dd475 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #774 from thvdveld/ci-code-coverage

    Add code coverage using llvm-cov and codecov.io
    Dirbaio committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    56d329b View commit details
    Browse the repository at this point in the history
  3. Add RPL Hop-by-Hop option to IPv6Option

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    a45a39e View commit details
    Browse the repository at this point in the history
  4. Implement the sequence counter from RFC6550 7.2

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    be7bd72 View commit details
    Browse the repository at this point in the history
  5. Implement the Trickle algorithm defined in RFC6206

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    8681d66 View commit details
    Browse the repository at this point in the history
  6. Add codecov.io badge on the README

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    5f34813 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #775 from thvdveld/coverage-badge

    Add codecov.io badge on the README
    Dirbaio committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    8aecdeb View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d1d1d23 View commit details
    Browse the repository at this point in the history
  9. Merge #776

    776: Add file descriptor support for tuntap devices r=Dirbaio a=blechschmidt
    
    Android exposes a file descriptor to a TUN interface through the [VpnService](https://developer.android.com/reference/android/net/VpnService) interface. This commit adds support for operating on such a file descriptor directly.
    
    Co-authored-by: B. Blechschmidt <[email protected]>
    bors[bot] and blechschmidt committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    9f69242 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    35b6fec View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2023

  1. Merge #767

    767: RPL Hop-by-Hop option r=Dirbaio a=thvdveld
    
    Add the RPL Hop-by-Hop option to IPv6 `src/wire/ipv6option.rs`.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Apr 23, 2023
    Configuration menu
    Copy the full SHA
    8b0c521 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2023

  1. fix: check length field of NDISC redirected head

    If the length field indicates a lenght bigger than the actual data that
    it is carying, then the packet is just wrong. Emitting such a packet is
    also not allowed. We now also parse the IPv6 header in an NDISC
    redirected packet and check that the length is correct.
    
    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed May 10, 2023
    Configuration menu
    Copy the full SHA
    29abfa3 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2023

  1. Merge #784

    784: fix: check length field of NDISC redirected head r=thvdveld a=thvdveld
    
    If the length field indicates a lenght bigger than the actual data that it is carying, then the packet is just wrong. Emitting such a packet is also not allowed. We now also parse the IPv6 header in an NDISC redirected packet and check that the length is correct.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed May 25, 2023
    Configuration menu
    Copy the full SHA
    dda1566 View commit details
    Browse the repository at this point in the history
  2. Merge #772 #773

    772: Implement the sequence counter from RFC6550 7.2 r=thvdveld a=thvdveld
    
    
    
    773: Implementation of the Trickle algorithm defined in RFC6206 r=thvdveld a=thvdveld
    
    Should be merged after #772
    
    I implemented the Enhanced trickle timer, since it creates the RPL network faster while still being efficient. The enhanced trickle has other default values and initializes the minimum interval differently.
    
    Link to the [RFC 6206](https://datatracker.ietf.org/doc/html/rfc6206).
    Link to the [enhanced trikcle timer](https://d1wqtxts1xzle7.cloudfront.net/71402623/E-Trickle_Enhanced_Trickle_Algorithm_for20211005-2078-1ckh34a.pdf?1633439582=&response-content-disposition=inline%3B+filename%3DE_Trickle_Enhanced_Trickle_Algorithm_for.pdf&Expires=1681472005&Signature=cC7l-Pyr5r64XBNCDeSJ2ha6oqWUtO6A-KlDOyC0UVaHxDV3h3FuVHRtcNp3O9BUfRK8jeuWCYGBkCZgQT4Zgb6XwgVB-3z4TF9o3qBRMteRyYO5vjVkpPBeN7mz4Tl746SsSCHDm2NMtr7UVtLYamriU3D0rryoqLqJXmnkNoJpn~~wJe2H5PmPgIwixTwSvDkfFLSVoESaYS9ZWHZwbW-7G7OxIw8oSYhx9xMBnzkpdmT7sJNmvDzTUhoOjYrHTRM23cLVS9~oOSpT7hKtKD4h5CSmrNK4st07KnT9~tUqEcvGO3aXdd4quRZeKUcCkCbTLvhOEYg9~QqgD8xwhA__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA).
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed May 25, 2023
    Configuration menu
    Copy the full SHA
    480051c View commit details
    Browse the repository at this point in the history
  3. Add RPL Rank logic

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed May 25, 2023
    Configuration menu
    Copy the full SHA
    6513c94 View commit details
    Browse the repository at this point in the history
  4. Add proto-rpl to CI tests

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed May 25, 2023
    Configuration menu
    Copy the full SHA
    391e762 View commit details
    Browse the repository at this point in the history
  5. Merge #777

    777: Implement RPL Rank logic r=thvdveld a=thvdveld
    
    Should be merged after #773 .
    
    This implements the RPL Rank logic, which is defined here:
    https://datatracker.ietf.org/doc/html/rfc6550#section-3.5
    https://datatracker.ietf.org/doc/html/rfc6550#section-3.6
    https://datatracker.ietf.org/doc/html/rfc6550#section-3.7
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed May 25, 2023
    Configuration menu
    Copy the full SHA
    54eeb4c View commit details
    Browse the repository at this point in the history
  6. fix: make codecov informational

    Hopefully this does not fail CI.
    
    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed May 25, 2023
    Configuration menu
    Copy the full SHA
    838c138 View commit details
    Browse the repository at this point in the history
  7. Merge #789

    789: fix: make codecov informational r=thvdveld a=thvdveld
    
    Adding the lines makes codecov informational. This should stop making the coverage report fail CI (hopefully).
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed May 25, 2023
    Configuration menu
    Copy the full SHA
    16d10d0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4ea8354 View commit details
    Browse the repository at this point in the history
  9. Add tests for 6LoWPAN extension headers.

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed May 25, 2023
    Configuration menu
    Copy the full SHA
    23d0754 View commit details
    Browse the repository at this point in the history
  10. Merge #781

    781: IPv6 Extension Headers rewrite r=thvdveld a=thvdveld
    
    I rewrote the IPv6 Extension Headers. All those headers have the `Next Header` and `Header Length` fields in common. These are now accessible using `Ipv6ExtHeader`. I removed the IPv6HopByHopOption, because this header only contains options, which can be accessed using the `Ipv6OptionsIterator`.
    
    I also added tests for 6LoWPAN extension headers, routing header and hop-by-hop header), replacing #765 and #770 .
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed May 25, 2023
    Configuration menu
    Copy the full SHA
    e4e39ac View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    74fd2ae View commit details
    Browse the repository at this point in the history
  12. Merge #787

    787: IPv4: Don't discard from unspecified src addresses r=Dirbaio a=bjoernQ
    
    IPv4 packets from `0.0.0.0` get discarded early. This makes it impossible to create a DHCP server.
    
    Not sure if this is the right location or even the right approach for this fix.
    
    Maybe there is also a way to make this work without modifying the code?
    
    
    Co-authored-by: bjoernQ <[email protected]>
    bors[bot] and bjoernQ committed May 25, 2023
    Configuration menu
    Copy the full SHA
    6687745 View commit details
    Browse the repository at this point in the history
  13. tcp: Wake tx waker after abort()

    It is useful to wake once the RST packet has been emitted, so
    async callers can wait before dropping the socket.
    mkj committed May 25, 2023
    Configuration menu
    Copy the full SHA
    7e12265 View commit details
    Browse the repository at this point in the history
  14. Merge pull request #788 from mkj/abort-wake

    tcp: Perform a reset() after an abort()
    Dirbaio committed May 25, 2023
    Configuration menu
    Copy the full SHA
    88aa133 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2023

  1. add(rpl): relations table

    The relation table will containt the next hop for each node in the RPL
    DODAG. For MOP1, this is the parent of each node. For MOP2, this is a
    neighbor of a sender.
    
    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed May 30, 2023
    Configuration menu
    Copy the full SHA
    d02d002 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2023

  1. fix(791): wrong payload length of first IPv4 frag

    The payload length of the first IPv4 fragment packet contained the
    length of the unfragmented packet. This was because the `repr` was
    a clone and not a mutable ref to `ip_repr`. This is now fixed.
    
    We also didn't check that the full IP packet fits in the fragmentation
    buffer, which should contain the unfragmented emitted packet.
    
    Fixes #791.
    
    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    5c6475a View commit details
    Browse the repository at this point in the history
  2. Merge #792

    792: fix(791): wrong payload length of first IPv4 frag r=thvdveld a=thvdveld
    
    The payload length of the first IPv4 fragment packet contained the length of the unfragmented packet. This was because the `repr` was a clone and not a mutable ref to `ip_repr`. This is now fixed.
    
    We also didn't check that the full IP packet fits in the fragmentation buffer, which should contain the unfragmented emitted packet.
    
    Fixes #791.
    
    Co-authored-by: Thibaut Vandervelden <[email protected]>
    bors[bot] and thvdveld committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    1f9b9f0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8065502 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #793 from smoltcp-rs/gha-merge-queue

    Switch from bors to github merge queue.
    Dirbaio committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    a080c82 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2023

  1. Merge pull request #790 from thvdveld/rpl-relations-buffer

    Add RPL relations table
    thvdveld committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    7b4246d View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2023

  1. Configuration menu
    Copy the full SHA
    f68603d View commit details
    Browse the repository at this point in the history
  2. Merge pull request #798 from thvdveld/rpl-objective-function

    RPL: add objective function and parent set
    thvdveld committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    8f4820f View commit details
    Browse the repository at this point in the history
  3. pass the now time when creating the iface

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    533f103 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2023

  1. Configuration menu
    Copy the full SHA
    7d78370 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2023

  1. Merge pull request #801 from smoltcp-rs/broadcast-egress

    iface: add support for sending to subnet-local broadcast addrs (like 192.168.1.255).
    Dirbaio committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    047d6a8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #799 from thvdveld/iface-with-instant-now

    Pass the now time when creating the iface
    Dirbaio committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    81fbe91 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. Configuration menu
    Copy the full SHA
    2741503 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. rpl: use LinearMap for the ParentSet

    Signed-off-by: Thibaut Vandervelden <[email protected]>
    thvdveld committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    fd6f71f View commit details
    Browse the repository at this point in the history
  2. Merge pull request #804 from thvdveld/rpl-parents-use-linear-map

    rpl: use LinearMap for the ParentSet
    thvdveld committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    6831e86 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    97afe68 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #803 from elenaf9/iface/fix-comment

    iface: fix outdated docs on `Interface::new`
    thvdveld committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    6139bc8 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2023

  1. Configuration menu
    Copy the full SHA
    78b4f39 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    409ad14 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2023

  1. udp: use UdpMetadata for send/recv fns, add Into impl so you can stil…

    …l pass an IpEndpoint as before.
    Dirbaio committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    2e40ed0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    efa7897 View commit details
    Browse the repository at this point in the history
  3. Add PacketMeta docs.

    Dirbaio committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    942ec6d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2b0ad1a View commit details
    Browse the repository at this point in the history
  5. Merge pull request #628 from datdenkikniet/unique_packet_id

    Device-level packet metadata identifiers
    Dirbaio committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    a4cee91 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3a8f133 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #805 from smoltcp-rs/packetmeta-no-ippacket

    Pass PacketMeta separately, not within IpPacket.
    Dirbaio committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    c7e1a51 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6239609 View commit details
    Browse the repository at this point in the history
  9. Merge pull request #796 from thvdveld/improve-tests

    Improve tests using `rstest`
    Dirbaio committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    803840b View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2023

  1. wire: Reexport DnsRcode

    Fixes #786
    Dirbaio committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    9cfd5cf View commit details
    Browse the repository at this point in the history
  2. Merge pull request #806 from smoltcp-rs/reexport-rcode

    wire: Reexport DnsRcode
    Dirbaio committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    9c903a8 View commit details
    Browse the repository at this point in the history