Call for Contributions

This section needs improvements, examples and explanations.

Please take a look at the Contributing Guide for our Write Documentation.

VPP IPsec Configuration

VPP supports IPsec (Internet Protocol Security) offloading from kernel, allowing to speed-up cryptographic operations by leveraging VPP’s high-performance packet processing capabilities.

IPSec does not require any specific configuration on VPP side. If both source and destinations of the IPsec traffic are reachable via VPP interfaces, VPP will automatically offload the IPsec processing from kernel. IPSec tunnels are configured in the VPN configuration section, see IPsec General Information.

IPSec Configuration Parameters

interface-type

When VPP is used for offloading IPsec, it creates a virtual interface of a specific type to connect to a peer. The type of the interface can be configured using the following command:

set vpp settings ipsec interface-type <interface-type>

The available interface types are:

  • ipsec: This is the default interface type used for IPsec tunnels.

  • ipip: This interface type encapsulates IPsec traffic within IP-in-IP packets.

Select the interface type based on peers settings. In most cases, you need to use the ipsec type.

Potential Issues and Troubleshooting

Improper IPsec configuration can lead to various issues, including:

  • Failure to offload IPsec tunnels to VPP

  • Lost IPsec event messages due to insufficient netlink buffer size or batch settings

  • IPSec states or SAs are not synchronized between kernel and VPP