Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 API for Go Documentation | 2025.2

# System requirements and release notes

For release notes, see the Release Notes text file.

## Platform compatibility

P4 API for Go is certified and regression-tested on the following platforms

Windows (x64)

- Windows Server: 2022

macOS

- Intel: macOS 12+

- Apple Silicon (ARM64): macOS 12+

Linux (x86, x86_64)

- Ubuntu: 22.04, 24.04

- Rocky Linux 9, 10

Linux (ARM64)

- Ubuntu: 22.04, 24.04

- Rocky Linux 9, 10

## Server compatibility

P4 API for Go 2025.2 supports P4 Server 2025.2.

Older releases might work but are not supported.

## P4 API for C/C++ compatibility

P4 API for Go 2025.2 requires P4 API for C/C++ 2025.2 or later.

Older API versions will not compile and are not supported.

## Golang compatibility

This release of P4 API for Go supports Go 1.24.x.

Older releases might work but are not supported.

## OpenSSL compatibility

To build P4 API for Go applications with encrypted communication support, you must use the same version of OpenSSL that the P4 API for C/C++ was built against.

Executables linked against the P4 API for C/C++ libraries must also link against the corresponding OpenSSL libraries.

The latest OpenSSL version 3 is recommended.

## Compiler compatibility

To build P4 API for Go applications from source, you must use a version of P4 API for Go that was compiled with the same compiler used to build the P4 API for C/C++.

For most platforms, this means using gcc or g++.

Using a different compiler or a different compiler version can cause linker errors due to differences in symbol handling between compilers.

## Known limitations

The P4 client‑server protocol does not support multiple concurrent queries over the same connection.

Therefore, multi‑threaded applications using the P4 API for C/C++ or script APIs (such as P4 API for Perl, P4 API for Ruby, P4 API for Python, etc.) must ensure that each thread uses a separate connection, or that only one thread accesses a shared connection at a time.

Your search for returned results