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

RPL Mode of Operation 0, Mode of Operation 1 and Mode of Operation 2 #869

Draft
wants to merge 107 commits into
base: main
Choose a base branch
from

Commits on Jan 17, 2024

  1. add feature flags for RPL MOPs

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    Co-authored-by: Diana Deac <diana.deac@vub.be>
    thvdveld and dianadeac committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    6a0c432 View commit details
    Browse the repository at this point in the history
  2. trickle: remove now and rand from default and new

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    fd4b5bd View commit details
    Browse the repository at this point in the history
  3. add Eq to SequenceCounter

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    e74d10e View commit details
    Browse the repository at this point in the history
  4. add Default Instance ID constant

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    f97f137 View commit details
    Browse the repository at this point in the history
  5. make TrickleTimer public

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    a86a44c View commit details
    Browse the repository at this point in the history
  6. add RPL configuration builder

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    b0c5349 View commit details
    Browse the repository at this point in the history
  7. remove redundant information in RPL structs

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    d495504 View commit details
    Browse the repository at this point in the history
  8. fixup! remove redundant information in RPL structs

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    893a7ec View commit details
    Browse the repository at this point in the history
  9. add CI tests for RPL MOPs

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    5aada70 View commit details
    Browse the repository at this point in the history
  10. fix tests with wrong feature flag

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    df38e25 View commit details
    Browse the repository at this point in the history
  11. fixup! fix tests with wrong feature flag

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    f55a501 View commit details
    Browse the repository at this point in the history
  12. make RPL options owned, instead of byte slices

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    a586d46 View commit details
    Browse the repository at this point in the history
  13. fixup! remove redundant information in RPL structs

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    35d1572 View commit details
    Browse the repository at this point in the history
  14. add poll_rpl and poll_at_rpl logic

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    ce15062 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    f44c10b View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    40343e7 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    f4b5d06 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    52662d7 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    7c85748 View commit details
    Browse the repository at this point in the history
  20. fix(parents): add purging

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    d59c959 View commit details
    Browse the repository at this point in the history
  21. update RPL structs

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    5462174 View commit details
    Browse the repository at this point in the history
  22. add rpl processing

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    5c150d3 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    2283477 View commit details
    Browse the repository at this point in the history
  24. rewrite poll_rpl

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    f5debe1 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    c9dcf97 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    90ca5d3 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    13b6be8 View commit details
    Browse the repository at this point in the history
  28. remove unused unwraps

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    ed34a43 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    06d6248 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    a1e0540 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    19f78e8 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    ca04632 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    3f6ae00 View commit details
    Browse the repository at this point in the history
  34. put limit on source route hops

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    89f048b View commit details
    Browse the repository at this point in the history
  35. correclty handle incoming DAOs

    DAOs can have more than one target and transit information option.
    Previously, we only the last target and transit information option was
    handled correclty.
    
    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    4ae384d View commit details
    Browse the repository at this point in the history
  36. keep track of path lifetime in relation table

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    8926cb5 View commit details
    Browse the repository at this point in the history
  37. Remove logging

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    bf7bdaa View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    49563e5 View commit details
    Browse the repository at this point in the history
  39. temporarily enable rpl-mop-3

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    d0cc591 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    e4bf01b View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    bf84371 View commit details
    Browse the repository at this point in the history
  42. move SequenceCounter to wire/rpl.rs

    Use SequenceCounter in a parsed RPL packet.
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    c0ad743 View commit details
    Browse the repository at this point in the history
  43. RPL: imm. drop packet when rank error detected

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    
    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    
    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    45c5c2d View commit details
    Browse the repository at this point in the history
  44. rpl: better useage of feature flags

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    4e30f16 View commit details
    Browse the repository at this point in the history
  45. fix tests

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    54313fb View commit details
    Browse the repository at this point in the history
  46. RPL: reset DIS timer and DODAG when no parent

    When not hearing from the parent for a long time, we decide to get out
    of the DODAG. We should set `ctx.rpl.dodag` to `None` and reset the
    expiration of the DIS messages such that they are again transmitted
    every minute.
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    4304613 View commit details
    Browse the repository at this point in the history
  47. RPL: no DODAG unwrap when searching for next hop

    When not using RPL or when we are not part of any DODAG, then we should
    not unwrap the DODAG to find a next hop.
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    6376935 View commit details
    Browse the repository at this point in the history
  48. rpl: no unwrap when looking for parent address

    Don't unwrap the DODAG when looking for the parent address when looking
    for the next address.
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    a058f77 View commit details
    Browse the repository at this point in the history
  49. 6LoWPAN: getter for Ext. Header header length

    Add a function to get the length of the extension header header (without
    the payload).
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    9d4f8a1 View commit details
    Browse the repository at this point in the history
  50. rpl: add integration tests

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    56d43fc View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    51bcb13 View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    95aa23b View commit details
    Browse the repository at this point in the history
  53. hhb: add missing feature flag for hbh IpPacket field

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    e118c7b View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    d38ee1f View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    910baf9 View commit details
    Browse the repository at this point in the history
  56. fix(rpl): correct dst addr for resp on unicast DIS

    Use the DIS source address as the destination address instead of the DIS
    destination address when responding on a unicast DIS message.
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    66aa9a7 View commit details
    Browse the repository at this point in the history
  57. rpl: update comments

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    66c5138 View commit details
    Browse the repository at this point in the history
  58. fix(rpl): fix dst addr for resp on optionless DIO

    Use the DIO source address as the destination address instead of the DIO
    destination address when responding on a optionless DIO message.
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    402650b View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    45e2b5f View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    1956656 View commit details
    Browse the repository at this point in the history
  61. chore: cleanup warnings

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    d4a3fc1 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    6e373c3 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    3dea665 View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    bce14f8 View commit details
    Browse the repository at this point in the history
  65. 6lowpan: as_sixlowpan_next_header on IpProtocol

    Remove `as_sixlowpan_next_header` from IpPayload and use it with
    IpProtocol instead.
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    379f90e View commit details
    Browse the repository at this point in the history
  66. rpl: reset trickle timer when selecting new parent

    Resetting the trickle timer when selecting a new parent makes sure that
    we send a DIO before we transmit a DAO. This makes sure that all
    surrounding nodes have a neighbor cache entry. Otherwise, when
    transmitting a DAO before a DIO, a packet might forward it to the root
    (in MOP1). The ACK would travel downward using a source routing header.
    When there is no entry in the neighbor cache, the intermediate node
    sends it back to its parent.
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    4cec242 View commit details
    Browse the repository at this point in the history
  67. Configuration menu
    Copy the full SHA
    d9e2241 View commit details
    Browse the repository at this point in the history
  68. Basic test for changing parent

    dianadeac authored and thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    2ba2bb8 View commit details
    Browse the repository at this point in the history
  69. Finalize test for node changing parent

    dianadeac authored and thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    6876e32 View commit details
    Browse the repository at this point in the history
  70. fix: update merged test

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    1fb2d31 View commit details
    Browse the repository at this point in the history
  71. chore: get rid of warnings

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    02b517b View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    58ddf87 View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    860000b View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    ea25c50 View commit details
    Browse the repository at this point in the history
  75. Configuration menu
    Copy the full SHA
    d22bd61 View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    bc74255 View commit details
    Browse the repository at this point in the history
  77. Configuration menu
    Copy the full SHA
    b3c4ca4 View commit details
    Browse the repository at this point in the history
  78. Configuration menu
    Copy the full SHA
    9a42422 View commit details
    Browse the repository at this point in the history
  79. ipv6: add entry to neighbor table

    Adding an entry to the neighbor table is very strict and only happens
    when we transmit an ARP request or an NDISC request. This now adds
    entries in the neighbor table when the destination address is unicast,
    in the same network, with a hop limit of 255 or 64 (meaning that the
    chance that it is a neighbor is high). We also add it when the
    destination address is the ALL_NODES or ALL_RPL_NODES address, as these
    packets should not be forwarded.
    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    aef7922 View commit details
    Browse the repository at this point in the history
  80. Configuration menu
    Copy the full SHA
    2b26f2f View commit details
    Browse the repository at this point in the history
  81. Configuration menu
    Copy the full SHA
    005c6fc View commit details
    Browse the repository at this point in the history
  82. Configuration menu
    Copy the full SHA
    2b1ca2e View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    766a9a1 View commit details
    Browse the repository at this point in the history
  84. Configuration menu
    Copy the full SHA
    cc431d0 View commit details
    Browse the repository at this point in the history
  85. Configuration menu
    Copy the full SHA
    56a1238 View commit details
    Browse the repository at this point in the history
  86. Configuration menu
    Copy the full SHA
    8b17900 View commit details
    Browse the repository at this point in the history
  87. Configuration menu
    Copy the full SHA
    706b363 View commit details
    Browse the repository at this point in the history
  88. remove into()

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    7975964 View commit details
    Browse the repository at this point in the history
  89. Configuration menu
    Copy the full SHA
    58434c3 View commit details
    Browse the repository at this point in the history
  90. Configuration menu
    Copy the full SHA
    817eaf7 View commit details
    Browse the repository at this point in the history
  91. fix build and tests

    thvdveld committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    d685669 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. fix compilation

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    6adb62e View commit details
    Browse the repository at this point in the history
  2. pass hbh repr to forward function

    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    7e65f98 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2024

  1. 6lowpan: rewrite compression of IPv6

    We now use an intermediate representation of an 6LoWPAN compressed
    packet. This way we implement `buffer_len` and `emit` functions, making
    its usage more similar to the other packet types.
    thvdveld committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    2e807d0 View commit details
    Browse the repository at this point in the history
  2. sixlowpan: IpPayload::Raw compress when UDP

    Compress IpPayload::Raw when it contains a UDP packet.
    
    Signed-off-by: Thibaut Vandervelden <thvdveld@vub.be>
    thvdveld committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    b45979b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    14b1c67 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2024

  1. Merge branch 'main' into rpl

    thvdveld committed Mar 18, 2024
    Configuration menu
    Copy the full SHA
    932d873 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    91ad44f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c570346 View commit details
    Browse the repository at this point in the history
  4. make SixlowpanPacket private

    thvdveld committed Mar 18, 2024
    Configuration menu
    Copy the full SHA
    c7629e4 View commit details
    Browse the repository at this point in the history
  5. make clippy happy

    thvdveld committed Mar 18, 2024
    Configuration menu
    Copy the full SHA
    b761f58 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3e04208 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ad6431c View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2024

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

Commits on Mar 21, 2024

  1. Configuration menu
    Copy the full SHA
    48cda98 View commit details
    Browse the repository at this point in the history
  2. remove println

    thvdveld committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    9a55e18 View commit details
    Browse the repository at this point in the history
  3. fix unwraps for tests

    thvdveld committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    8438f9e View commit details
    Browse the repository at this point in the history