Type safe netlink library for Rust
As of version 0.4.0, completeness of autogenerated documentation and examples will be a focus. Please open issues if something is missing or unclear!
Your contribution will be licensed under neli's license. This is non-negotiable mainly because, while some projects have legal counsel and additional help, this project is maintained by me. I want to keep this aspect as simple as possible so please read over the license file prior to contributing to make sure that you feel comfortable with your contributions being released under the BSD 3-Clause License.
CI is awesome - please add tests for new features wherever possible. I may request this prior to merge
if I see it is possible and missing. Given that netlink is a messy, systems protocol, for features
that require actual netlink interaction, this is beyond the scope of CI for now (containers can make
this harder, netlink is moving to dynamic identifiers, etc.). All of this makes automated testing
a little too much for right now but a good rule of thumb is if you are writing an Nl
impl,
please test that it works.
Please document new features not just at a lower level but also with //!
comments at the module
for high level documentation and overview of the feature.
Before submitting PRs, take a look at the module's documentation that you are changing. I am currently in the process of adding a "Design decision" section to each module. If you are wondering why I did something the way I did, it should be there. That way, if you have a better way to do it, please let me know! I'm always happy to learn. My hope is that this will also clarify some questions beforehand about why I did things the way I did and will make your life as a contributer easier.
Documentation can be found here