Conversation
crasbe
left a comment
There was a problem hiding this comment.
Hello Simon,
thank you for submitting the PR early. I have some general remarks that can also be applied to the other files, I did not want to mark every occurance in every file.
Also the static test has some remarks that have to be addressed.
One thing I do not understand yet is why you include some files of the bplib repository directly? If you do not want to fetch the full repository in the package, you can use so called "Sparse Paths". An example of how this works can be found here: https://github.com/RIOT-OS/RIOT/pull/22040/changes#diff-1a9efff322ab2483b57b549e33422bcb923a3d6fcfb62c61a65f95e9b9ad5874
Unfortunately our documentation about that is a bit slim at the moment I think.
|
Thanks for your comments. Yes I am aware I need to integrate the RIOT coding conventions and fix the static tests. Could you elaborate on your first comment? Of the https://github.com/nasa/bplib repo, the folders |
You have files that are Copyright NASA, I assumed that you didn't write them, so they probably came from the What is the reason for adding them to the RIOT source tree instead of fetching and patching them from the official repo? |
Port https://github.com/nasa/bplib. This is work in progress. Allows sending / receiving BPv7 bundles, currently only on the provided UDP CLA, but custom CLAs can be added. Bundles not having a contact active will be stored using the vfs backend and egressed when a link is available.
ffabe7a to
2093708
Compare
Fix most of the coding conventions (except for vfs storage). The static tests pass now at least locally (again, except for vfs storage). Also add another patch to the port which saves around 20kB size. The global extern config tables have also been changed to static local tables with setter functions.
|
For documentation purposes:
I did not look into the copyright headers yet. These should be added everywhere now, except for the vfs storage. Certain files, like NC "Node Config" and FWP "Framework Proxy" include OS specific callbacks or configuration tables. These are not part of the bplib core, but rather something that has to be implemented on the using environment. They come from the reference POSIX example in [bplib]/app. |
DTN is a protocol architecture to make communication delay / disruption tolerant. Originating from space communication, NASAs bplib implements the BPv7 bundle protocol.
Usually it sits on top of the trasport layer (CLAs for TCP and UDP are most common), but it does not have to. Convergence Layer Adapters can be anything, as long as they are defined on both sides.
In this current draft the UDP convergence layer for testing on
nativeboard is implemented.Contribution description
Port into pkg/bplib. Also bump pkg/qcbor as required by bplib.
The changes (in the patches) are relatively small.
It is still a draft. The following is a likely incomplete list of what still needs to be done:
Testing procedure
The example under
examples/networking/dtn/bplib/cla_udpcan be run on native (or any board with gnrc + UDP).Issues/PRs references