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

ON-15695: improve developer documentation #53

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Contributing guidelines

Thank you for taking your time to improve TCPDirect. We would appreciate if you
follow the contributing guidelines to make review of changes easier.

## Submitting changes

1. Fork TCPDirect repository on https://github.com/Xilinx-CNS/tcpdirect
2. Make local short-lived branch off of public master.
3. Develop on branch locally. Please describe the changes you have made in
the commit messages.
4. Try to follow the coding conventions used in the files you edit.
5. Push branch to your fork of TCPDirect repository.
6. Create a new Pull Request. Please describe what testing you have done.
Copy link
Author

Choose a reason for hiding this comment

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

Do we want to encourage people to run the ZF unit tests, as well as testing their specific feature?

7. Address review comments.
8. You need to get sign-off of two other developers before the Pull Request
can be merged.

## Summary of coding conventions

In general try to follow the style that is used in the file.
Most of the files use:

1. Line length limit of 79 characters.
2. Two space indentation.
3. C style comments (no C++ style comments).
4. Opening braces are not put on their own line.
5. No space between keyword and bracket.

For instance,

```c
/* This is a comment */
if( ! conditional_expr ) {
statement1;
statement2;
}
```

## Footnotes

```yaml
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: Copyright (C) 2020-2024 Advanced Micro Devices, Inc.
```
8 changes: 3 additions & 5 deletions README.MD → DEVELOPING.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,7 @@ $ sudo sysctl vm.nr_hugepages=4096

## Footnotes

```
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: (c) 2020-2024 Advanced Micro Devices, Inc.
#
# Internal documentation
```yaml
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: Copyright (C) 2020-2024 Advanced Micro Devices, Inc.
```
1 change: 1 addition & 0 deletions LICENSE
46 changes: 46 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# TCPDirect

AMD TCPDirect is highly accelerated network middleware. It uses similar techniques to Onload, but delivers lower latency. In order to achieve this, TCPDirect supports a reduced feature set and uses a proprietary API.

AMD TCPDirect should be used with corresponding versions of Onload®️ at https://github.com/Xilinx-CNS/onload.


## Features

* User-space: TCPDirect can be used by unprivileged user-space applications.
* Kernel bypass: Data path operations do not require system calls.
* Low CPU overhead: Data path operations consume very few CPU cycles.
* Low latency: Suitable for low latency applications.
* High packet rates: Supports millions of packets per second per core.
* Zero-copy: Particularly efficient for filtering and forwarding applications.
* Flexibility: Supports many use cases.


## Installation and Quick Start Guide

Recent releases of TCPDirect are distributed as source code. Instructions for building, packaging and installing may be found in [DEVELOPING.md](DEVELOPING.md)


## Support

The publicly-hosted repository is a community-supported project. When raising
issues on this repository it is expected that users will be running
from the head of the git tree to pick up recent changes.

Supported releases of TCPDirect are available from
<https://www.xilinx.com/support/download/nic-software-and-drivers.html#tcpdirect>.
Please raise issues on _supported releases_ of TCPDirect with
<[email protected]>.


## Contributions

Please see [CONTRIBUTING.md](CONTRIBUTING.md)


## Footnotes

```yaml
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: Copyright (C) 2020-2024 Advanced Micro Devices, Inc.
```