Skip to content

Commit

Permalink
deploy: 6099b4d
Browse files Browse the repository at this point in the history
  • Loading branch information
ffoulkes committed Nov 4, 2024
0 parents commit 35dc036
Show file tree
Hide file tree
Showing 269 changed files with 32,468 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 1f31feb47a7d3714f468fb7089b5e7c8
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added .doctrees/apps/applications.doctree
Binary file not shown.
Binary file added .doctrees/apps/ipsec-offload.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/apps/lnw/lnw-index.doctree
Binary file not shown.
Binary file added .doctrees/apps/packet-io.doctree
Binary file not shown.
Binary file added .doctrees/building.doctree
Binary file not shown.
Binary file added .doctrees/changes/changes-from-p4-ovs.doctree
Binary file not shown.
Binary file added .doctrees/changes/changes.doctree
Binary file not shown.
Binary file added .doctrees/changes/dev-updates-index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/clients/clients.doctree
Binary file not shown.
Binary file added .doctrees/clients/gnmi-ctl.doctree
Binary file not shown.
Binary file added .doctrees/clients/p4rt-ctl.doctree
Binary file not shown.
Binary file added .doctrees/clients/p4rt_perf_test.doctree
Binary file not shown.
Binary file added .doctrees/clients/sgnmi_cli.doctree
Binary file not shown.
Binary file added .doctrees/environment.pickle
Binary file not shown.
Binary file added .doctrees/features.doctree
Binary file not shown.
Binary file added .doctrees/general.doctree
Binary file not shown.
Binary file added .doctrees/guides/building-for-es2k-acc.doctree
Binary file not shown.
Binary file added .doctrees/guides/building-for-es2k-host.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/guides/es2k/building-acc-p4cp.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/guides/es2k/installing-acc-sdk.doctree
Binary file not shown.
Binary file added .doctrees/guides/es2k/running-infrap4d.doctree
Binary file not shown.
Binary file added .doctrees/guides/p4-role-configuration.doctree
Binary file not shown.
Binary file added .doctrees/guides/security/openssl-guide.doctree
Binary file not shown.
Binary file added .doctrees/guides/security/security-guide.doctree
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/guides/setup/dpdk-setup-guide.doctree
Binary file not shown.
Binary file added .doctrees/guides/setup/es2k-setup-guide.doctree
Binary file not shown.
Binary file added .doctrees/guides/setup/setup-guides.doctree
Binary file not shown.
Binary file added .doctrees/guides/setup/tofino-setup-guide.doctree
Binary file not shown.
Binary file added .doctrees/index.doctree
Binary file not shown.
Binary file added .doctrees/maintainers/build-guides.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/maintainers/maintainers.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added .doctrees/maintainers/unit-tests.doctree
Binary file not shown.
Binary file added .doctrees/overview/overview.doctree
Binary file not shown.
Binary file added .doctrees/p4_programs.doctree
Binary file not shown.
Binary file added .doctrees/scripts/config-cross-recipe.doctree
Binary file not shown.
Binary file added .doctrees/scripts/helper-scripts.doctree
Binary file not shown.
Binary file added .doctrees/scripts/make-all.doctree
Binary file not shown.
Binary file added .doctrees/scripts/make-cross-ovs.doctree
Binary file not shown.
Binary file added .doctrees/security.doctree
Binary file not shown.
Empty file added .nojekyll
Empty file.
Binary file added _images/config-cross-recipe-flow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/dpdk-ecmp-topology.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/dpdk-lnw-topology.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/es2k-lnw-topology.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/infrap4d-architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/krnlmon-coverage-report.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/krnlmon-switchlink-link-page-code.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/krnlmon-switchlink-link-page-top.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/krnlmon-switchlink-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/make-all-build-flow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/make-cross-ovs-flow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/ovs-coverage-report.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/p4-control-plane-architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/stratum-p4-mapper-files-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/stratum-p4-mapper-top-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/stratum-p4-report-dir-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/stratum-p4-report-files-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions _sources/apps/applications.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
============
Applications
============

.. toctree::
:maxdepth: 2

ipsec-offload
lnw/lnw-index
packet-io
80 changes: 80 additions & 0 deletions _sources/apps/ipsec-offload.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# IPsec Offload

The Inline IPsec offload feature uses the
[IPDK Infrastructure Application Interface](https://ipdk.io/documentation/Interfaces/InfraApp/)
to enable cryptographically-secure data traffic. The IPsec control plane
(IKE protocol) is offloaded, thus avoiding specialized drivers or control
planes burdening compute instances. Further details are available on the
[IPDK Inline Acceleration - IPsec](https://ipdk.io/documentation/Recipes/InlineIPsec/)
page.

This feature works in conjunction with the
[IPsec Recipe](https://github.com/ipdk-io/ipsec-recipe), which provides
strongSwan plugin code to configure and program control messages into the
target.

The IPsec offload feature is only supported on the Intel® IPU E2100 target.

## Feature overview

The `infrap4d` process provides the gRPC server-side support for P4RT and
gNMI messages. strongSwan acts as the gRPC client in this context.
You can also use other clients that implement the IKE stack. The
client uses P4Runtime to program the Security Policy Database (SPD), and it
uses gNMI to configure Security Association Database (SAD) entries, which
includes encryption keys, re-keying etc.

The [openconfig-ipsec-offload](https://github.com/ipdk-io/openconfig-public/blob/master/release/models/ipsec/openconfig-ipsec-offload.yang)
YANG model is used to configure IPsec offload.

## Enabling IPsec

Follow the sequence of steps listed below to enable IPsec functionality.
The `fxp-net_linux-networking` P4 program is a combined recipe which implements and supports both the Linux Networking and the IPsec portion of the program.

### Compile P4 program

Compile the ipsec-offload program according to the instructions in
[Compiling P4 programs](/guides/es2k/compiling-p4-programs.md)
to generate crypto P4 artifacts for programming the pipelines.

### Load `fxp-net_linux-networking` P4 package

Follow the instructions in [Deploying P4 programs](/guides/es2k/deploying-p4-programs.md)
to load the hardware FXP pipeline with the IPsec package.

### Configure and run infrap4d

Follow the instructions in
[Running infrap4d](/guides/es2k/running-infrap4d.md)
and prepare the system with generated TDI.json and context.json file references.
In order to offload IPsec, fixed function support must be enabled in infrap4d.

The /usr/share/stratum/es2k/es2k_skip_p4.conf file must include the fixed
function configuration reference.

```json
"fixed_functions" : [
{
"name": "crypto",
"tdi": "/tmp/fixed/tdi.json",
"ctx": "/tmp/fixed/crypto-mgr-ctx.json"
}
],
```

Update this configuration before starting `infrap4d`.

### Configure strongSwan

Follow the instructions in the [strongSwan documentation](https://docs.strongswan.org/docs/5.9/index.html)
to configure host for the use-case selected. This includes details such as
certificate location, IPs, lifetime thresholds, etc.

### Start IPsec

With the strongSwan application configured, starting IPsec
(see [ipsec-recipe](https://github.com/ipdk-io/ipsec-recipe) for details) will
initiate the pipeline, program the SPD rules as per the P4 program, and
configure/re-configure SAD entries based on negotiated encryption parameters
between local and peer system.
Loading

0 comments on commit 35dc036

Please sign in to comment.