Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a88439b
live: add namespace-based test runner
jasonish Aug 21, 2026
8965e20
live: port AF_PACKET firewall workers namespace test
jasonish Aug 21, 2026
b433bc0
live: port AF_PACKET IPS workers namespace test
jasonish Aug 21, 2026
43bf2d0
live: port NFQUEUE IPS autofp namespace test
jasonish Aug 21, 2026
f576e45
live: port NFQUEUE firewall autofp namespace test
jasonish Aug 21, 2026
bc7bc53
live: add firewall ICMP test
jasonish Aug 21, 2026
e61a885
live: add AF_PACKET firewall response-body test
jasonish Aug 21, 2026
5539aa5
live: add NFQUEUE firewall response-body test
jasonish Aug 21, 2026
777d77b
live: add AF_PACKET simple HTTP test
jasonish Aug 21, 2026
0769480
live: add IDS simple HTTP test
jasonish Aug 21, 2026
bb81761
live: add NFQUEUE simple HTTP test
jasonish Aug 21, 2026
e9e8aff
live: add AF_PACKET IPS XDP bypass test
jasonish Aug 21, 2026
5e6d293
live: add NFQUEUE IPS capture bypass test
jasonish Aug 21, 2026
d2c888a
live: add AF_PACKET IPS local bypass test
jasonish Aug 21, 2026
6c77324
live: add NFQUEUE IPS local bypass test
jasonish Aug 21, 2026
99a3828
live: add XDP bypass shutdown demo test
jasonish Aug 21, 2026
07ab5a2
live: add tcpreplay XDP bypass VLAN demo test
jasonish Aug 21, 2026
d454bb1
live: port AF_PACKET IPS autofp namespace test
jasonish Aug 21, 2026
fb3183e
live: port NFQUEUE IPS workers namespace test
jasonish Aug 21, 2026
0781692
live: port single-network AF_PACKET bond test
jasonish Aug 21, 2026
9c0c403
live: port two-network AF_PACKET bond test
jasonish Aug 21, 2026
46929c3
live: port AF_PACKET argument 2 autofp test
jasonish Aug 21, 2026
a538c9f
live: port AF_PACKET argument 2 workers test
jasonish Aug 21, 2026
13aa70c
live: port AF_PACKET argument 3 autofp test
jasonish Aug 21, 2026
6261b57
live: port AF_PACKET argument 3 workers test
jasonish Aug 21, 2026
583b12a
live: port libpcap IDS autofp test
jasonish Aug 21, 2026
c55acf7
live: port libpcap IDS single-mode test
jasonish Aug 21, 2026
6c43a3e
live: port libpcap multi-tenant autofp test
jasonish Aug 21, 2026
b020fc0
live: add DPDK IDS AF_PACKET PMD test
jasonish Aug 21, 2026
b1dd427
live: add AF_PACKET IPS overlapping alert and drop test
jasonish Aug 21, 2026
eb60545
live: add AF_PACKET IPS alert and drop HTTP test
jasonish Aug 21, 2026
1d373ad
live: secure runner lock creation
jasonish Aug 26, 2026
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
113 changes: 113 additions & 0 deletions .github/workflows/live.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
name: Live Tests

on:
workflow_dispatch:
push:
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
DEBIAN_FRONTEND: "noninteractive"

jobs:
live:
runs-on: ubuntu-latest
container:
image: ubuntu:26.04
options: --privileged

steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

- name: Install dependencies
run: |
apt update
apt install -y \
autoconf \
automake \
build-essential \
cargo \
cbindgen \
clang \
curl \
ethtool \
fuse-overlayfs \
git \
hping3 \
inetutils-ping \
iproute2 \
iptables \
jq \
libcap-ng-dev \
libcap-ng0 \
libevent-dev \
libhiredis-dev \
libjansson-dev \
liblua5.1-dev \
libmagic-dev \
libnet1-dev \
libnetfilter-queue-dev \
libnetfilter-queue1 \
libnfnetlink-dev \
libnfnetlink0 \
libnss3-dev \
libpcap-dev \
libpcre2-dev \
libssl-dev \
libtool \
libxdp-dev \
libyaml-0-2 \
libyaml-dev \
make \
podman \
procps \
python3 \
python3-yaml \
rustc \
slirp4netns \
software-properties-common \
tcpdump \
tcpreplay \
uidmap \
wget \
zlib1g \
zlib1g-dev

- run: |
apt-get install -y caddy tshark

- name: Enable Podman in Docker
run: |
cat > /etc/containers/containers.conf <<'EOF'
[containers]
cgroups = "disabled"
events_logger = "file"
EOF

- name: Clone Suricata
run: |
git clone https://github.com/OISF/suricata

- name: Build Suricata
working-directory: suricata
run: |
./autogen.sh
./configure --enable-nfqueue --enable-debug --enable-ebpf --enable-ebpf-build
make -j$(nproc)

- name: Run live tests
run: |
../live/run.py
working-directory: suricata

- name: Upload live test outputs artifact on failure
if: ${{ failure() }}
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
with:
name: live-test-output
path: live/tests/**/output/**
if-no-files-found: ignore
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,12 @@ requires:
files:
- src/detect-ipaddr.c

# Require that one or more host commands exist in PATH. If a command is
# missing, the test will be skipped.
command:
- jq
- xargs

# Don't require a pcap file to be present. By default a test will be skipped
# if there is no pcap file in the test directory. Not applicable if a
# command is provided.
Expand Down
1 change: 1 addition & 0 deletions lib/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Shared helpers for Suricata verify runners."""
Loading
Loading