Files
rustnet/.github/workflows/rust.yml
Marco Cadetg 799d66cf86 feat: Add experimental eBPF support for enhanced socket tracking (#11)
* feat: Add experimental eBPF support for enhanced socket tracking

- Implement eBPF-based socket tracker for Linux with CO-RE support
- Add minimal vmlinux header (5.5KB) instead of full 3.4MB file
- Create graceful fallback mechanism to procfs when eBPF unavailable
- Add comprehensive eBPF build documentation
- Integrate libbpf-rs for eBPF program loading and management
- Support both IPv4 and IPv6 socket tracking
- Add capability checking for required permissions

The eBPF feature is optional and disabled by default. When enabled,
it provides faster and more accurate process-to-socket mapping on
Linux systems with appropriate permissions.
2025-09-18 11:46:03 +02:00

38 lines
764 B
YAML

name: Rust
on:
push:
branches: [ "main" ]
paths:
- 'src/**'
- 'Cargo.toml'
- 'Cargo.lock'
- 'assets/services'
- 'build.rs'
- '.github/workflows/rust.yml'
pull_request:
branches: [ "main" ]
paths:
- 'src/**'
- 'Cargo.toml'
- 'Cargo.lock'
- 'assets/services'
- 'build.rs'
- '.github/workflows/rust.yml'
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libpcap-dev libelf-dev clang llvm
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose