Skip to content
New issue

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

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

Already on GitHub? # to your account

gnrc_sixlowpan_frag: factor-out and rename fragmentation buffer #12559

Merged

Conversation

miri64
Copy link
Member

@miri64 miri64 commented Oct 24, 2019

Contribution description

The name fragment_msg or frag_msg/msg_frag always to me was a bit misplaced, as it basically implements an asynchronous fragmentation buffer and doesn't necessarily have anything to do with messages. This change

  1. changes the name to fb (for fragmentation buffer)
  2. factors its code out to its own sub-module so it can be re-used by other 6LoWPAN fragmentation schemes like Selective Fragment Recovery

Testing procedure

make -C tests/gnrc_sixlowpan_frag flash test

still works (I tested on native and samr21-xpro) and pinging large (>100 bytes) packets between two nodes using 6LoWPAN (e.g. iotlab-m3) with examples/gnrc_networking still works and shows comparable performance to master (tested in the IoT-LAB in my case).

In this PR:

1571913323.341546;m3-104;> ping6 -s 1232 fe80::1711:6b10:65f9:5d0a
1571913323.498874;m3-104;1240 bytes from fe80::1711:6b10:65f9:5d0a: icmp_seq=0 ttl=64 rssi=-46 dBm time=154.238 ms
1571913324.508768;m3-104;1240 bytes from fe80::1711:6b10:65f9:5d0a: icmp_seq=1 ttl=64 rssi=-46 dBm time=164.468 ms
1571913325.520475;m3-104;1240 bytes from fe80::1711:6b10:65f9:5d0a: icmp_seq=2 ttl=64 rssi=-46 dBm time=176.166 ms1571913549.059693;

On master:

m3-104;ping6 -s 1232 fe80::1711:6b10:65f9:5d0a
1571913546.881919;m3-104;> ping6 -s 1232 fe80::1711:6b10:65f9:5d0a
1571913547.038380;m3-104;1240 bytes from fe80::1711:6b10:65f9:5d0a: icmp_seq=0 ttl=64 rssi=-46 dBm time=154.214 ms
1571913548.039440;m3-104;1240 bytes from fe80::1711:6b10:65f9:5d0a: icmp_seq=1 ttl=64 rssi=-46 dBm time=155.460 ms
1571913549.059439;m3-104;1240 bytes from fe80::1711:6b10:65f9:5d0a: icmp_seq=2 ttl=64 rssi=-46 dBm time=177.131 ms

Issues/PRs references

None

@miri64 miri64 added Area: network Area: Networking Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation labels Oct 24, 2019
@miri64 miri64 added this to the Release 2020.01 milestone Oct 24, 2019
@benpicco benpicco added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Oct 24, 2019
@miri64 miri64 force-pushed the gnrc_sixlowpan_frag/enh/factor-out-frag-buf branch from 54e2715 to 87f7769 Compare October 24, 2019 11:49
@miri64
Copy link
Member Author

miri64 commented Oct 24, 2019

Rebased to current master.

@miri64 miri64 force-pushed the gnrc_sixlowpan_frag/enh/factor-out-frag-buf branch from 7ede405 to ddf9354 Compare October 28, 2019 11:24
miri64 added a commit to miri64/RIOT that referenced this pull request Oct 31, 2019
miri64 added a commit to miri64/RIOT that referenced this pull request Nov 1, 2019
miri64 added a commit to miri64/RIOT that referenced this pull request Nov 1, 2019
miri64 added a commit to miri64/RIOT that referenced this pull request Nov 1, 2019
miri64 added a commit to miri64/RIOT that referenced this pull request Nov 1, 2019
miri64 added a commit to miri64/RIOT that referenced this pull request Nov 4, 2019
The name `fragment_msg` or `frag_msg`/`msg_frag` always to me was a bit
misplaced, as it basically implements an asynchronous fragmentation
buffer and doesn't necessarily have anything to do with messages.
This change

1. changes the name to `fb` (for fragmentation buffer)
2. factors its code out to its own sub-module so it can be re-used by
   other 6LoWPAN fragmentation schemes like [Selective Fragment
   Recovery]

[Selective Fragment Recovery]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-05
@miri64 miri64 force-pushed the gnrc_sixlowpan_frag/enh/factor-out-frag-buf branch from d270331 to ca37cde Compare November 4, 2019 19:10
@miri64
Copy link
Member Author

miri64 commented Nov 4, 2019

Rebased to current master

Copy link
Contributor

@benpicco benpicco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This really just renames and moves code around.
No functional changes expected.

@miri64 miri64 merged commit a1d402e into RIOT-OS:master Nov 7, 2019
@miri64 miri64 deleted the gnrc_sixlowpan_frag/enh/factor-out-frag-buf branch November 7, 2019 08:47
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants