Contributing to this Project ============================ ## License This project is licensed under the terms and conditions of the 3-Clause BSD [LICENSE](LICENSE). By contributing to this project, you agree that you are providing your contribution under the terms and conditions of that license. ## Patches We accept patches to this project as pull requests on GitHub. When submitting patches, please keep each patch self-contained and as small as possible. Please address one topic per patch series. Intermediate patches must build without errors (with DEVBUILD=ON) and not introduce test fails. Please describe what each patch is doing in its commit message. If you are contributing a patch series that addresses a GitHub Issue, the last patch in the series should have 'fixes #' in its commit-message. If the patch series addresses a bug that is not tracked, please provide a detailed description of the issue in the commit-message, ideally with a description of the 'before' and 'after' behavior. The patch series should contain regression tests either as PTT tests or as ptunit tests. Please make sure that all tests are passing. This may require re-ordering patches to introduce the regression test after the issue was fixed. If the patch series adds a new feature, please make sure to add documentation. Prior to submitting this type of contribution, it may be a good idea to first discuss the feature as a GitHub issue or via email before implementing it. This project is using the Linux coding style. ## Sign Your Patch Please use the sign-off line at the end of each patch. Your signature certifies that you wrote the patch or otherwise have the right to pass it on as an open-source patch. The rules are pretty simple: if you can certify the below (from [developercertificate.org](http://developercertificate.org/)): ``` Developer Certificate of Origin Version 1.1 Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 660 York Street, Suite 102, San Francisco, CA 94110 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. ``` Then you just add a line to every git commit message: Signed-off-by: Joe Smith Use your real name (sorry, no pseudonyms or anonymous contributions.) If you set your `user.name` and `user.email` git configs, you can sign your commit automatically with `git commit -s`. ## Reporting Issues If you want to report an issue or bug, please report them via the GitHub Issues tracker. When reporting a bug, please provide the steps to reproduce it with the ptdump and ptxed tools contained in the tree. Please include the command-line that was used and the exact error message. You may also attach a trace file and the binaries necessary for reproducing the issue or write a small PTT test to demonstrate the issue. When providing trace snippets, please provide a few extra packets of context. Please also provide the processor family and model on which the trace was recorded and the version of the decoder that was used to decode the trace.