* Use LLVM version 11.0.1

Fixes #962

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Updated expected bpf2c output from LLVM 11

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
This commit is contained in:
Dave Thaler 2022-04-26 14:47:56 -07:00 коммит произвёл GitHub
Родитель ecc4d2d701
Коммит 02212c861c
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
33 изменённых файлов: 1312 добавлений и 1354 удалений

2
.github/workflows/reusable-build.yml поставляемый
Просмотреть файл

@ -60,7 +60,7 @@ jobs:
- name: Install tools
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
choco install -y llvm
choco install -y llvm --version 11.0.1 --allow-downgrade
echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Cache nuget packages

Просмотреть файл

@ -80,7 +80,7 @@ the default Visual Studio style. See [clang-format style options](
http://releases.llvm.org/3.6.0/tools/clang/docs/ClangFormatStyleOptions.html)
for details.
If you see unexpected formatting changes in the code, verify that you are running version 10 or higher of the LLVM tool-chain.
If you see unexpected formatting changes in the code, verify that you are running version 11 or higher of the LLVM tool-chain.
### License Header

Просмотреть файл

@ -10,7 +10,7 @@ The following must be installed in order to build this project:
which must be selected as an Individual component in the VS installer
3. [Visual Studio Build Tools 2019](https://aka.ms/vs/16/release/vs_buildtools.exe)
4. [WDK for Windows 10, version 2004](https://go.microsoft.com/fwlink/?linkid=2128854)
5. [Clang for Windows 64-bit version 10.0.0](https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/LLVM-10.0.0-win64.exe) or [The latest release of Clang for Windows 64-bit](https://github.com/llvm/llvm-project/releases/latest)
5. [Clang for Windows 64-bit version 11.0.1](https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.1/LLVM-11.0.1-win64.exe) or [The latest release of Clang for Windows 64-bit](https://github.com/llvm/llvm-project/releases/latest)
6. [nuget.exe](https://www.nuget.org/downloads) installed to a location such as "C:\Program Files (x86)\NuGet\"
You should add the paths to `git.exe`, `cmake.exe` and `nuget.exe` to the Windows PATH environment variable after the software packages above have been installed.
@ -177,7 +177,7 @@ On a defender machine with [eBPF installed](#installing-ebpf-for-windows), do th
1. Install and set up a DNS server.
2. Make sure that either test signing was enabled as discussed in
[Installing eBPF for Windows](#installing-ebpf-for-windows), or the kernel debugger (KD) is attached and running.
3. Install [clang](https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/LLVM-11.0.0-win64.exe)
3. Install [clang](https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.1/LLVM-11.0.1-win64.exe)
if not already installed on the defender machine.
4. Copy `droppacket.c` and `ebpf.h` to a folder (such as `c:\test`).

Просмотреть файл

@ -10,7 +10,7 @@ choco install visualstudio2019-workload-nativedesktop --version 1.0.1 -y
choco install visualstudio2019buildtools --version 16.11.12.0 -y
choco install windowsdriverkit10 --version 10.0.19041.685 -y
choco install windowsdriverkit11 --version 10.0.22000.1 -y
choco install llvm --version 10.0.0 -y
choco install llvm --version 11.0.1 -y
choco install nuget.commandline --version 6.1.0 -y
choco install cmake.portable --version 3.23.1 -y
Start-Process "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\2019\Community\Common7\IDE\VSIXInstaller.exe" -ArgumentList @("/q", "/a", "${Env:ProgramFiles(x86)}\Windows Kits\10\vsix\vs2019\WDK.vsix") -Wait

Просмотреть файл

@ -174,7 +174,7 @@ check_clang-format()
cf="clang-format"
fi
local required_cfver='10.0.0'
local required_cfver='11.0.1'
# shellcheck disable=SC2155
local cfver=$(${cf} --version | grep -o -E '[0-9]+\.[0-9]+\.[0-9]+' | head -1)
check_version "${required_cfver}" "${cfver}"

Просмотреть файл

@ -250,7 +250,7 @@ function check_clang-format()
# Windows does not have a clang-format-7 executable
$required_cfver='10.0.01'
$required_cfver='11.0.1'
try {
$cfver=(( Invoke-Expression "clang-format --version" 2> $null ) -split " ")[2]

Просмотреть файл

@ -268,10 +268,10 @@ label_1:
#line 59 "sample/bindmonitor.c"
if (r0 == IMMEDIATE(0)) goto label_8;
// EBPF_OP_MOV64_REG pc=52 dst=r1 src=r0 offset=0 imm=0
#line 62 "sample/bindmonitor.c"
#line 59 "sample/bindmonitor.c"
r1 = r0;
// EBPF_OP_ADD64_IMM pc=53 dst=r1 src=r0 offset=0 imm=4
#line 62 "sample/bindmonitor.c"
#line 59 "sample/bindmonitor.c"
r1 += IMMEDIATE(4);
label_2:
// EBPF_OP_LDXDW pc=54 dst=r2 src=r6 offset=0 imm=0

Просмотреть файл

@ -226,10 +226,10 @@ label_1:
#line 59 "sample/bindmonitor.c"
if (r0 == IMMEDIATE(0)) goto label_8;
// EBPF_OP_MOV64_REG pc=52 dst=r1 src=r0 offset=0 imm=0
#line 62 "sample/bindmonitor.c"
#line 59 "sample/bindmonitor.c"
r1 = r0;
// EBPF_OP_ADD64_IMM pc=53 dst=r1 src=r0 offset=0 imm=4
#line 62 "sample/bindmonitor.c"
#line 59 "sample/bindmonitor.c"
r1 += IMMEDIATE(4);
label_2:
// EBPF_OP_LDXDW pc=54 dst=r2 src=r6 offset=0 imm=0

Просмотреть файл

@ -393,10 +393,10 @@ label_1:
#line 59 "sample/bindmonitor.c"
if (r0 == IMMEDIATE(0)) goto label_8;
// EBPF_OP_MOV64_REG pc=52 dst=r1 src=r0 offset=0 imm=0
#line 62 "sample/bindmonitor.c"
#line 59 "sample/bindmonitor.c"
r1 = r0;
// EBPF_OP_ADD64_IMM pc=53 dst=r1 src=r0 offset=0 imm=4
#line 62 "sample/bindmonitor.c"
#line 59 "sample/bindmonitor.c"
r1 += IMMEDIATE(4);
label_2:
// EBPF_OP_LDXDW pc=54 dst=r2 src=r6 offset=0 imm=0

Просмотреть файл

@ -463,10 +463,10 @@ label_1:
#line 95 "sample/bindmonitor_tailcall.c"
if (r0 == IMMEDIATE(0)) goto label_8;
// EBPF_OP_MOV64_REG pc=52 dst=r1 src=r0 offset=0 imm=0
#line 98 "sample/bindmonitor_tailcall.c"
#line 95 "sample/bindmonitor_tailcall.c"
r1 = r0;
// EBPF_OP_ADD64_IMM pc=53 dst=r1 src=r0 offset=0 imm=4
#line 98 "sample/bindmonitor_tailcall.c"
#line 95 "sample/bindmonitor_tailcall.c"
r1 += IMMEDIATE(4);
label_2:
// EBPF_OP_LDXDW pc=54 dst=r2 src=r6 offset=0 imm=0

Просмотреть файл

@ -421,10 +421,10 @@ label_1:
#line 95 "sample/bindmonitor_tailcall.c"
if (r0 == IMMEDIATE(0)) goto label_8;
// EBPF_OP_MOV64_REG pc=52 dst=r1 src=r0 offset=0 imm=0
#line 98 "sample/bindmonitor_tailcall.c"
#line 95 "sample/bindmonitor_tailcall.c"
r1 = r0;
// EBPF_OP_ADD64_IMM pc=53 dst=r1 src=r0 offset=0 imm=4
#line 98 "sample/bindmonitor_tailcall.c"
#line 95 "sample/bindmonitor_tailcall.c"
r1 += IMMEDIATE(4);
label_2:
// EBPF_OP_LDXDW pc=54 dst=r2 src=r6 offset=0 imm=0

Просмотреть файл

@ -588,10 +588,10 @@ label_1:
#line 95 "sample/bindmonitor_tailcall.c"
if (r0 == IMMEDIATE(0)) goto label_8;
// EBPF_OP_MOV64_REG pc=52 dst=r1 src=r0 offset=0 imm=0
#line 98 "sample/bindmonitor_tailcall.c"
#line 95 "sample/bindmonitor_tailcall.c"
r1 = r0;
// EBPF_OP_ADD64_IMM pc=53 dst=r1 src=r0 offset=0 imm=4
#line 98 "sample/bindmonitor_tailcall.c"
#line 95 "sample/bindmonitor_tailcall.c"
r1 += IMMEDIATE(4);
label_2:
// EBPF_OP_LDXDW pc=54 dst=r2 src=r6 offset=0 imm=0

Просмотреть файл

@ -62,389 +62,369 @@ static GUID decapsulate_permit_packet_program_type_guid = {0xf1832a85, 0x85d5, 0
static GUID decapsulate_permit_packet_attach_type_guid = {0x85e0d8ef, 0x579e, 0x4931, {0xb0, 0x72, 0x8e, 0xe2, 0x26, 0xbb, 0x2e, 0x9d}};
static uint64_t decapsulate_permit_packet(void* context)
{
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
// Prologue
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
uint64_t stack[(UBPF_STACK_SIZE + 7) / 8];
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r0 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r1 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r2 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r3 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r4 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r5 = 0;
#line 89 "sample/decap_permit_packet.c"
register uint64_t r6 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r10 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
r1 = (uintptr_t)context;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
r10 = (uintptr_t)((uint8_t*)stack + sizeof(stack));
// EBPF_OP_LDXDW pc=0 dst=r3 src=r1 offset=8 imm=0
// EBPF_OP_MOV64_IMM pc=0 dst=r0 src=r0 offset=0 imm=1
#line 83 "sample/decap_permit_packet.c"
r0 = IMMEDIATE(1);
// EBPF_OP_LDXDW pc=1 dst=r3 src=r1 offset=8 imm=0
#line 89 "sample/decap_permit_packet.c"
r3 = *(uint64_t *)(uintptr_t)(r1 + OFFSET(8));
// EBPF_OP_LDXDW pc=1 dst=r2 src=r1 offset=0 imm=0
// EBPF_OP_LDXDW pc=2 dst=r2 src=r1 offset=0 imm=0
#line 88 "sample/decap_permit_packet.c"
r2 = *(uint64_t *)(uintptr_t)(r1 + OFFSET(0));
// EBPF_OP_MOV64_REG pc=2 dst=r4 src=r2 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=3 dst=r4 src=r2 offset=0 imm=0
#line 89 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=3 dst=r4 src=r0 offset=0 imm=14
// EBPF_OP_ADD64_IMM pc=4 dst=r4 src=r0 offset=0 imm=14
#line 89 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(14);
// EBPF_OP_MOV64_IMM pc=4 dst=r6 src=r0 offset=0 imm=1
#line 89 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=5 dst=r4 src=r3 offset=108 imm=0
// EBPF_OP_JGT_REG pc=5 dst=r4 src=r3 offset=103 imm=0
#line 89 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_LDXH pc=6 dst=r5 src=r2 offset=12 imm=0
#line 93 "sample/decap_permit_packet.c"
r5 = *(uint16_t *)(uintptr_t)(r2 + OFFSET(12));
// EBPF_OP_JEQ_IMM pc=7 dst=r5 src=r0 offset=59 imm=56710
// EBPF_OP_JEQ_IMM pc=7 dst=r5 src=r0 offset=56 imm=56710
#line 93 "sample/decap_permit_packet.c"
if (r5 == IMMEDIATE(56710)) goto label_1;
// EBPF_OP_MOV64_IMM pc=8 dst=r6 src=r0 offset=0 imm=1
#line 93 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JNE_IMM pc=9 dst=r5 src=r0 offset=104 imm=8
// EBPF_OP_JNE_IMM pc=8 dst=r5 src=r0 offset=100 imm=8
#line 93 "sample/decap_permit_packet.c"
if (r5 != IMMEDIATE(8)) goto label_3;
// EBPF_OP_MOV64_REG pc=10 dst=r5 src=r2 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=9 dst=r5 src=r2 offset=0 imm=0
#line 94 "sample/decap_permit_packet.c"
r5 = r2;
// EBPF_OP_ADD64_IMM pc=11 dst=r5 src=r0 offset=0 imm=34
// EBPF_OP_ADD64_IMM pc=10 dst=r5 src=r0 offset=0 imm=34
#line 94 "sample/decap_permit_packet.c"
r5 += IMMEDIATE(34);
// EBPF_OP_MOV64_IMM pc=12 dst=r6 src=r0 offset=0 imm=1
#line 94 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=13 dst=r5 src=r3 offset=100 imm=0
// EBPF_OP_JGT_REG pc=11 dst=r5 src=r3 offset=97 imm=0
#line 94 "sample/decap_permit_packet.c"
if (r5 > r3) goto label_3;
// EBPF_OP_LDXB pc=14 dst=r5 src=r2 offset=23 imm=0
// EBPF_OP_LDXB pc=12 dst=r5 src=r2 offset=23 imm=0
#line 99 "sample/decap_permit_packet.c"
r5 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(23));
// EBPF_OP_MOV64_IMM pc=15 dst=r6 src=r0 offset=0 imm=1
#line 99 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JNE_IMM pc=16 dst=r5 src=r0 offset=97 imm=4
// EBPF_OP_JNE_IMM pc=13 dst=r5 src=r0 offset=95 imm=4
#line 99 "sample/decap_permit_packet.c"
if (r5 != IMMEDIATE(4)) goto label_3;
// EBPF_OP_LDXB pc=17 dst=r5 src=r4 offset=0 imm=0
// EBPF_OP_LDXB pc=14 dst=r5 src=r4 offset=0 imm=0
#line 98 "sample/decap_permit_packet.c"
r5 = *(uint8_t *)(uintptr_t)(r4 + OFFSET(0));
// EBPF_OP_LSH64_IMM pc=18 dst=r5 src=r0 offset=0 imm=2
// EBPF_OP_LSH64_IMM pc=15 dst=r5 src=r0 offset=0 imm=2
#line 98 "sample/decap_permit_packet.c"
r5 <<= IMMEDIATE(2);
// EBPF_OP_AND64_IMM pc=19 dst=r5 src=r0 offset=0 imm=60
// EBPF_OP_AND64_IMM pc=16 dst=r5 src=r0 offset=0 imm=60
#line 98 "sample/decap_permit_packet.c"
r5 &= IMMEDIATE(60);
// EBPF_OP_MOV64_REG pc=20 dst=r0 src=r5 offset=0 imm=0
// EBPF_OP_ADD64_REG pc=17 dst=r4 src=r5 offset=0 imm=0
#line 98 "sample/decap_permit_packet.c"
r4 += r5;
// EBPF_OP_ADD64_IMM pc=18 dst=r4 src=r0 offset=0 imm=20
#line 100 "sample/decap_permit_packet.c"
r0 = r5;
// EBPF_OP_ADD64_REG pc=21 dst=r0 src=r4 offset=0 imm=0
r4 += IMMEDIATE(20);
// EBPF_OP_JGT_REG pc=19 dst=r4 src=r3 offset=89 imm=0
#line 100 "sample/decap_permit_packet.c"
r0 += r4;
// EBPF_OP_ADD64_IMM pc=22 dst=r0 src=r0 offset=0 imm=20
#line 100 "sample/decap_permit_packet.c"
r0 += IMMEDIATE(20);
// EBPF_OP_MOV64_IMM pc=23 dst=r6 src=r0 offset=0 imm=1
#line 100 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=24 dst=r0 src=r3 offset=89 imm=0
#line 100 "sample/decap_permit_packet.c"
if (r0 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=25 dst=r4 src=r2 offset=0 imm=0
if (r4 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=20 dst=r4 src=r2 offset=0 imm=0
#line 29 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_REG pc=26 dst=r4 src=r5 offset=0 imm=0
// EBPF_OP_ADD64_REG pc=21 dst=r4 src=r5 offset=0 imm=0
#line 29 "sample/decap_permit_packet.c"
r4 += r5;
// EBPF_OP_MOV64_IMM pc=27 dst=r6 src=r0 offset=0 imm=2
// EBPF_OP_MOV64_IMM pc=22 dst=r0 src=r0 offset=0 imm=2
#line 29 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(2);
// EBPF_OP_JGT_REG pc=28 dst=r4 src=r3 offset=85 imm=0
r0 = IMMEDIATE(2);
// EBPF_OP_JGT_REG pc=23 dst=r4 src=r3 offset=85 imm=0
#line 29 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=29 dst=r5 src=r4 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=24 dst=r5 src=r4 offset=0 imm=0
#line 29 "sample/decap_permit_packet.c"
r5 = r4;
// EBPF_OP_ADD64_IMM pc=30 dst=r5 src=r0 offset=0 imm=14
// EBPF_OP_ADD64_IMM pc=25 dst=r5 src=r0 offset=0 imm=14
#line 29 "sample/decap_permit_packet.c"
r5 += IMMEDIATE(14);
// EBPF_OP_JGT_REG pc=31 dst=r5 src=r3 offset=82 imm=0
// EBPF_OP_JGT_REG pc=26 dst=r5 src=r3 offset=82 imm=0
#line 29 "sample/decap_permit_packet.c"
if (r5 > r3) goto label_3;
// EBPF_OP_LDXB pc=32 dst=r3 src=r2 offset=13 imm=0
// EBPF_OP_LDXB pc=27 dst=r3 src=r2 offset=13 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(13));
// EBPF_OP_STXB pc=33 dst=r4 src=r3 offset=13 imm=0
// EBPF_OP_STXB pc=28 dst=r4 src=r3 offset=13 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(13)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=34 dst=r3 src=r2 offset=12 imm=0
// EBPF_OP_LDXB pc=29 dst=r3 src=r2 offset=12 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(12));
// EBPF_OP_STXB pc=35 dst=r4 src=r3 offset=12 imm=0
// EBPF_OP_STXB pc=30 dst=r4 src=r3 offset=12 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(12)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=36 dst=r3 src=r2 offset=11 imm=0
// EBPF_OP_LDXB pc=31 dst=r3 src=r2 offset=11 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(11));
// EBPF_OP_STXB pc=37 dst=r4 src=r3 offset=11 imm=0
// EBPF_OP_STXB pc=32 dst=r4 src=r3 offset=11 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(11)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=38 dst=r3 src=r2 offset=10 imm=0
// EBPF_OP_LDXB pc=33 dst=r3 src=r2 offset=10 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(10));
// EBPF_OP_STXB pc=39 dst=r4 src=r3 offset=10 imm=0
// EBPF_OP_STXB pc=34 dst=r4 src=r3 offset=10 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(10)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=40 dst=r3 src=r2 offset=9 imm=0
// EBPF_OP_LDXB pc=35 dst=r3 src=r2 offset=9 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(9));
// EBPF_OP_STXB pc=41 dst=r4 src=r3 offset=9 imm=0
// EBPF_OP_STXB pc=36 dst=r4 src=r3 offset=9 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(9)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=42 dst=r3 src=r2 offset=8 imm=0
// EBPF_OP_LDXB pc=37 dst=r3 src=r2 offset=8 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(8));
// EBPF_OP_STXB pc=43 dst=r4 src=r3 offset=8 imm=0
// EBPF_OP_STXB pc=38 dst=r4 src=r3 offset=8 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(8)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=44 dst=r3 src=r2 offset=7 imm=0
// EBPF_OP_LDXB pc=39 dst=r3 src=r2 offset=7 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(7));
// EBPF_OP_STXB pc=45 dst=r4 src=r3 offset=7 imm=0
// EBPF_OP_STXB pc=40 dst=r4 src=r3 offset=7 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(7)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=46 dst=r3 src=r2 offset=6 imm=0
// EBPF_OP_LDXB pc=41 dst=r3 src=r2 offset=6 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(6));
// EBPF_OP_STXB pc=47 dst=r4 src=r3 offset=6 imm=0
// EBPF_OP_STXB pc=42 dst=r4 src=r3 offset=6 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(6)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=48 dst=r3 src=r2 offset=5 imm=0
// EBPF_OP_LDXB pc=43 dst=r3 src=r2 offset=5 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(5));
// EBPF_OP_STXB pc=49 dst=r4 src=r3 offset=5 imm=0
// EBPF_OP_STXB pc=44 dst=r4 src=r3 offset=5 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(5)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=50 dst=r3 src=r2 offset=4 imm=0
// EBPF_OP_LDXB pc=45 dst=r3 src=r2 offset=4 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(4));
// EBPF_OP_STXB pc=51 dst=r4 src=r3 offset=4 imm=0
// EBPF_OP_STXB pc=46 dst=r4 src=r3 offset=4 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(4)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=52 dst=r3 src=r2 offset=3 imm=0
// EBPF_OP_LDXB pc=47 dst=r3 src=r2 offset=3 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(3));
// EBPF_OP_STXB pc=53 dst=r4 src=r3 offset=3 imm=0
// EBPF_OP_STXB pc=48 dst=r4 src=r3 offset=3 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(3)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=54 dst=r3 src=r2 offset=2 imm=0
// EBPF_OP_LDXB pc=49 dst=r3 src=r2 offset=2 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(2));
// EBPF_OP_STXB pc=55 dst=r4 src=r3 offset=2 imm=0
// EBPF_OP_STXB pc=50 dst=r4 src=r3 offset=2 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(2)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=56 dst=r3 src=r2 offset=1 imm=0
// EBPF_OP_LDXB pc=51 dst=r3 src=r2 offset=1 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(1));
// EBPF_OP_STXB pc=57 dst=r4 src=r3 offset=1 imm=0
// EBPF_OP_STXB pc=52 dst=r4 src=r3 offset=1 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(1)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=58 dst=r2 src=r2 offset=0 imm=0
// EBPF_OP_LDXB pc=53 dst=r2 src=r2 offset=0 imm=0
#line 36 "sample/decap_permit_packet.c"
r2 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(0));
// EBPF_OP_STXB pc=59 dst=r4 src=r2 offset=0 imm=0
// EBPF_OP_STXB pc=54 dst=r4 src=r2 offset=0 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(0)) = (uint8_t)r2;
// EBPF_OP_MOV64_IMM pc=60 dst=r2 src=r0 offset=0 imm=20
// EBPF_OP_MOV64_IMM pc=55 dst=r2 src=r0 offset=0 imm=20
#line 39 "sample/decap_permit_packet.c"
r2 = IMMEDIATE(20);
// EBPF_OP_CALL pc=61 dst=r0 src=r0 offset=0 imm=65536
// EBPF_OP_CALL pc=56 dst=r0 src=r0 offset=0 imm=65536
#line 39 "sample/decap_permit_packet.c"
r0 = decapsulate_permit_packet_helpers[0].address
#line 39 "sample/decap_permit_packet.c"
(r1, r2, r3, r4, r5);
#line 39 "sample/decap_permit_packet.c"
if ((decapsulate_permit_packet_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_LSH64_IMM pc=62 dst=r0 src=r0 offset=0 imm=32
// EBPF_OP_MOV64_REG pc=57 dst=r1 src=r0 offset=0 imm=0
#line 39 "sample/decap_permit_packet.c"
r0 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=63 dst=r0 src=r0 offset=0 imm=32
r1 = r0;
// EBPF_OP_LSH64_IMM pc=58 dst=r1 src=r0 offset=0 imm=32
#line 39 "sample/decap_permit_packet.c"
r0 = (int64_t)r0 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=64 dst=r1 src=r0 offset=0 imm=0
r1 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=59 dst=r1 src=r0 offset=0 imm=32
#line 39 "sample/decap_permit_packet.c"
r1 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=65 dst=r1 src=r0 offset=48 imm=0
r1 = (int64_t)r1 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=60 dst=r0 src=r0 offset=0 imm=2
#line 39 "sample/decap_permit_packet.c"
if ((int64_t)r1 > (int64_t)r0) goto label_3;
// EBPF_OP_JA pc=66 dst=r0 src=r0 offset=46 imm=0
r0 = IMMEDIATE(2);
// EBPF_OP_MOV64_IMM pc=61 dst=r2 src=r0 offset=0 imm=0
#line 39 "sample/decap_permit_packet.c"
r2 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=62 dst=r2 src=r1 offset=46 imm=0
#line 39 "sample/decap_permit_packet.c"
if ((int64_t)r2 > (int64_t)r1) goto label_3;
// EBPF_OP_JA pc=63 dst=r0 src=r0 offset=44 imm=0
#line 39 "sample/decap_permit_packet.c"
goto label_2;
label_1:
// EBPF_OP_MOV64_REG pc=64 dst=r4 src=r2 offset=0 imm=0
#line 106 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=65 dst=r4 src=r0 offset=0 imm=54
#line 106 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(54);
// EBPF_OP_JGT_REG pc=66 dst=r4 src=r3 offset=42 imm=0
#line 106 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=67 dst=r4 src=r2 offset=0 imm=0
#line 106 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=68 dst=r4 src=r0 offset=0 imm=54
// EBPF_OP_ADD64_IMM pc=68 dst=r4 src=r0 offset=0 imm=94
#line 106 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(54);
// EBPF_OP_MOV64_IMM pc=69 dst=r6 src=r0 offset=0 imm=1
#line 106 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=70 dst=r4 src=r3 offset=43 imm=0
#line 106 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_LDXB pc=71 dst=r4 src=r2 offset=20 imm=0
#line 111 "sample/decap_permit_packet.c"
r4 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_MOV64_IMM pc=72 dst=r6 src=r0 offset=0 imm=1
#line 111 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JNE_IMM pc=73 dst=r4 src=r0 offset=40 imm=41
#line 111 "sample/decap_permit_packet.c"
if (r4 != IMMEDIATE(41)) goto label_3;
// EBPF_OP_MOV64_REG pc=74 dst=r4 src=r2 offset=0 imm=0
#line 111 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=75 dst=r4 src=r0 offset=0 imm=94
#line 111 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(94);
// EBPF_OP_MOV64_IMM pc=76 dst=r6 src=r0 offset=0 imm=1
#line 111 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=77 dst=r4 src=r3 offset=36 imm=0
// EBPF_OP_JGT_REG pc=69 dst=r4 src=r3 offset=39 imm=0
#line 111 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_LDXB pc=78 dst=r3 src=r2 offset=13 imm=0
// EBPF_OP_LDXB pc=70 dst=r3 src=r2 offset=20 imm=0
#line 111 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=71 dst=r3 src=r0 offset=37 imm=41
#line 111 "sample/decap_permit_packet.c"
if (r3 != IMMEDIATE(41)) goto label_3;
// EBPF_OP_LDXB pc=72 dst=r3 src=r2 offset=13 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(13));
// EBPF_OP_STXB pc=79 dst=r2 src=r3 offset=53 imm=0
// EBPF_OP_STXB pc=73 dst=r2 src=r3 offset=53 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(53)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=80 dst=r3 src=r2 offset=12 imm=0
// EBPF_OP_LDXB pc=74 dst=r3 src=r2 offset=12 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(12));
// EBPF_OP_STXB pc=81 dst=r2 src=r3 offset=52 imm=0
// EBPF_OP_STXB pc=75 dst=r2 src=r3 offset=52 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(52)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=82 dst=r3 src=r2 offset=11 imm=0
// EBPF_OP_LDXB pc=76 dst=r3 src=r2 offset=11 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(11));
// EBPF_OP_STXB pc=83 dst=r2 src=r3 offset=51 imm=0
// EBPF_OP_STXB pc=77 dst=r2 src=r3 offset=51 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(51)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=84 dst=r3 src=r2 offset=10 imm=0
// EBPF_OP_LDXB pc=78 dst=r3 src=r2 offset=10 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(10));
// EBPF_OP_STXB pc=85 dst=r2 src=r3 offset=50 imm=0
// EBPF_OP_STXB pc=79 dst=r2 src=r3 offset=50 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(50)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=86 dst=r3 src=r2 offset=9 imm=0
// EBPF_OP_LDXB pc=80 dst=r3 src=r2 offset=9 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(9));
// EBPF_OP_STXB pc=87 dst=r2 src=r3 offset=49 imm=0
// EBPF_OP_STXB pc=81 dst=r2 src=r3 offset=49 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(49)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=88 dst=r3 src=r2 offset=8 imm=0
// EBPF_OP_LDXB pc=82 dst=r3 src=r2 offset=8 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(8));
// EBPF_OP_STXB pc=89 dst=r2 src=r3 offset=48 imm=0
// EBPF_OP_STXB pc=83 dst=r2 src=r3 offset=48 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(48)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=90 dst=r3 src=r2 offset=7 imm=0
// EBPF_OP_LDXB pc=84 dst=r3 src=r2 offset=7 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(7));
// EBPF_OP_STXB pc=91 dst=r2 src=r3 offset=47 imm=0
// EBPF_OP_STXB pc=85 dst=r2 src=r3 offset=47 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(47)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=92 dst=r3 src=r2 offset=6 imm=0
// EBPF_OP_LDXB pc=86 dst=r3 src=r2 offset=6 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(6));
// EBPF_OP_STXB pc=93 dst=r2 src=r3 offset=46 imm=0
// EBPF_OP_STXB pc=87 dst=r2 src=r3 offset=46 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(46)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=94 dst=r3 src=r2 offset=5 imm=0
// EBPF_OP_LDXB pc=88 dst=r3 src=r2 offset=5 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(5));
// EBPF_OP_STXB pc=95 dst=r2 src=r3 offset=45 imm=0
// EBPF_OP_STXB pc=89 dst=r2 src=r3 offset=45 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(45)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=96 dst=r3 src=r2 offset=4 imm=0
// EBPF_OP_LDXB pc=90 dst=r3 src=r2 offset=4 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(4));
// EBPF_OP_STXB pc=97 dst=r2 src=r3 offset=44 imm=0
// EBPF_OP_STXB pc=91 dst=r2 src=r3 offset=44 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(44)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=98 dst=r3 src=r2 offset=3 imm=0
// EBPF_OP_LDXB pc=92 dst=r3 src=r2 offset=3 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(3));
// EBPF_OP_STXB pc=99 dst=r2 src=r3 offset=43 imm=0
// EBPF_OP_STXB pc=93 dst=r2 src=r3 offset=43 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(43)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=100 dst=r3 src=r2 offset=2 imm=0
// EBPF_OP_LDXB pc=94 dst=r3 src=r2 offset=2 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(2));
// EBPF_OP_STXB pc=101 dst=r2 src=r3 offset=42 imm=0
// EBPF_OP_STXB pc=95 dst=r2 src=r3 offset=42 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(42)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=102 dst=r3 src=r2 offset=1 imm=0
// EBPF_OP_LDXB pc=96 dst=r3 src=r2 offset=1 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(1));
// EBPF_OP_STXB pc=103 dst=r2 src=r3 offset=41 imm=0
// EBPF_OP_STXB pc=97 dst=r2 src=r3 offset=41 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(41)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=104 dst=r3 src=r2 offset=0 imm=0
// EBPF_OP_LDXB pc=98 dst=r3 src=r2 offset=0 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(0));
// EBPF_OP_STXB pc=105 dst=r2 src=r3 offset=40 imm=0
// EBPF_OP_STXB pc=99 dst=r2 src=r3 offset=40 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(40)) = (uint8_t)r3;
// EBPF_OP_MOV64_IMM pc=106 dst=r2 src=r0 offset=0 imm=40
// EBPF_OP_MOV64_IMM pc=100 dst=r2 src=r0 offset=0 imm=40
#line 66 "sample/decap_permit_packet.c"
r2 = IMMEDIATE(40);
// EBPF_OP_CALL pc=107 dst=r0 src=r0 offset=0 imm=65536
// EBPF_OP_CALL pc=101 dst=r0 src=r0 offset=0 imm=65536
#line 66 "sample/decap_permit_packet.c"
r0 = decapsulate_permit_packet_helpers[0].address
#line 66 "sample/decap_permit_packet.c"
(r1, r2, r3, r4, r5);
#line 66 "sample/decap_permit_packet.c"
if ((decapsulate_permit_packet_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_MOV64_IMM pc=108 dst=r6 src=r0 offset=0 imm=2
// EBPF_OP_MOV64_REG pc=102 dst=r1 src=r0 offset=0 imm=0
#line 66 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(2);
// EBPF_OP_LSH64_IMM pc=109 dst=r0 src=r0 offset=0 imm=32
r1 = r0;
// EBPF_OP_LSH64_IMM pc=103 dst=r1 src=r0 offset=0 imm=32
#line 66 "sample/decap_permit_packet.c"
r0 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=110 dst=r0 src=r0 offset=0 imm=32
r1 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=104 dst=r1 src=r0 offset=0 imm=32
#line 66 "sample/decap_permit_packet.c"
r0 = (int64_t)r0 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=111 dst=r1 src=r0 offset=0 imm=0
r1 = (int64_t)r1 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=105 dst=r0 src=r0 offset=0 imm=2
#line 66 "sample/decap_permit_packet.c"
r1 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=112 dst=r1 src=r0 offset=1 imm=0
r0 = IMMEDIATE(2);
// EBPF_OP_MOV64_IMM pc=106 dst=r2 src=r0 offset=0 imm=0
#line 66 "sample/decap_permit_packet.c"
if ((int64_t)r1 > (int64_t)r0) goto label_3;
r2 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=107 dst=r2 src=r1 offset=1 imm=0
#line 66 "sample/decap_permit_packet.c"
if ((int64_t)r2 > (int64_t)r1) goto label_3;
label_2:
// EBPF_OP_MOV64_IMM pc=113 dst=r6 src=r0 offset=0 imm=1
// EBPF_OP_MOV64_IMM pc=108 dst=r0 src=r0 offset=0 imm=1
#line 66 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
r0 = IMMEDIATE(1);
label_3:
// EBPF_OP_MOV64_REG pc=114 dst=r0 src=r6 offset=0 imm=0
#line 121 "sample/decap_permit_packet.c"
r0 = r6;
// EBPF_OP_EXIT pc=115 dst=r0 src=r0 offset=0 imm=0
// EBPF_OP_EXIT pc=109 dst=r0 src=r0 offset=0 imm=0
#line 121 "sample/decap_permit_packet.c"
return r0;
#line 121 "sample/decap_permit_packet.c"
@ -452,7 +432,7 @@ label_3:
#line __LINE__ __FILE__
static program_entry_t _programs[] = {
{ decapsulate_permit_packet, "xdp/decapsulate_reflect", "decapsulate_permit_packet", NULL, 0, decapsulate_permit_packet_helpers, 1, 116, &decapsulate_permit_packet_program_type_guid, &decapsulate_permit_packet_attach_type_guid, },
{ decapsulate_permit_packet, "xdp/decapsulate_reflect", "decapsulate_permit_packet", NULL, 0, decapsulate_permit_packet_helpers, 1, 110, &decapsulate_permit_packet_program_type_guid, &decapsulate_permit_packet_attach_type_guid, },
};
static void _get_programs(_Outptr_result_buffer_(*count) program_entry_t** programs, _Out_ size_t* count)

Просмотреть файл

@ -20,389 +20,369 @@ static GUID decapsulate_permit_packet_program_type_guid = {0xf1832a85, 0x85d5, 0
static GUID decapsulate_permit_packet_attach_type_guid = {0x85e0d8ef, 0x579e, 0x4931, {0xb0, 0x72, 0x8e, 0xe2, 0x26, 0xbb, 0x2e, 0x9d}};
static uint64_t decapsulate_permit_packet(void* context)
{
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
// Prologue
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
uint64_t stack[(UBPF_STACK_SIZE + 7) / 8];
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r0 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r1 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r2 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r3 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r4 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r5 = 0;
#line 89 "sample/decap_permit_packet.c"
register uint64_t r6 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r10 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
r1 = (uintptr_t)context;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
r10 = (uintptr_t)((uint8_t*)stack + sizeof(stack));
// EBPF_OP_LDXDW pc=0 dst=r3 src=r1 offset=8 imm=0
// EBPF_OP_MOV64_IMM pc=0 dst=r0 src=r0 offset=0 imm=1
#line 83 "sample/decap_permit_packet.c"
r0 = IMMEDIATE(1);
// EBPF_OP_LDXDW pc=1 dst=r3 src=r1 offset=8 imm=0
#line 89 "sample/decap_permit_packet.c"
r3 = *(uint64_t *)(uintptr_t)(r1 + OFFSET(8));
// EBPF_OP_LDXDW pc=1 dst=r2 src=r1 offset=0 imm=0
// EBPF_OP_LDXDW pc=2 dst=r2 src=r1 offset=0 imm=0
#line 88 "sample/decap_permit_packet.c"
r2 = *(uint64_t *)(uintptr_t)(r1 + OFFSET(0));
// EBPF_OP_MOV64_REG pc=2 dst=r4 src=r2 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=3 dst=r4 src=r2 offset=0 imm=0
#line 89 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=3 dst=r4 src=r0 offset=0 imm=14
// EBPF_OP_ADD64_IMM pc=4 dst=r4 src=r0 offset=0 imm=14
#line 89 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(14);
// EBPF_OP_MOV64_IMM pc=4 dst=r6 src=r0 offset=0 imm=1
#line 89 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=5 dst=r4 src=r3 offset=108 imm=0
// EBPF_OP_JGT_REG pc=5 dst=r4 src=r3 offset=103 imm=0
#line 89 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_LDXH pc=6 dst=r5 src=r2 offset=12 imm=0
#line 93 "sample/decap_permit_packet.c"
r5 = *(uint16_t *)(uintptr_t)(r2 + OFFSET(12));
// EBPF_OP_JEQ_IMM pc=7 dst=r5 src=r0 offset=59 imm=56710
// EBPF_OP_JEQ_IMM pc=7 dst=r5 src=r0 offset=56 imm=56710
#line 93 "sample/decap_permit_packet.c"
if (r5 == IMMEDIATE(56710)) goto label_1;
// EBPF_OP_MOV64_IMM pc=8 dst=r6 src=r0 offset=0 imm=1
#line 93 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JNE_IMM pc=9 dst=r5 src=r0 offset=104 imm=8
// EBPF_OP_JNE_IMM pc=8 dst=r5 src=r0 offset=100 imm=8
#line 93 "sample/decap_permit_packet.c"
if (r5 != IMMEDIATE(8)) goto label_3;
// EBPF_OP_MOV64_REG pc=10 dst=r5 src=r2 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=9 dst=r5 src=r2 offset=0 imm=0
#line 94 "sample/decap_permit_packet.c"
r5 = r2;
// EBPF_OP_ADD64_IMM pc=11 dst=r5 src=r0 offset=0 imm=34
// EBPF_OP_ADD64_IMM pc=10 dst=r5 src=r0 offset=0 imm=34
#line 94 "sample/decap_permit_packet.c"
r5 += IMMEDIATE(34);
// EBPF_OP_MOV64_IMM pc=12 dst=r6 src=r0 offset=0 imm=1
#line 94 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=13 dst=r5 src=r3 offset=100 imm=0
// EBPF_OP_JGT_REG pc=11 dst=r5 src=r3 offset=97 imm=0
#line 94 "sample/decap_permit_packet.c"
if (r5 > r3) goto label_3;
// EBPF_OP_LDXB pc=14 dst=r5 src=r2 offset=23 imm=0
// EBPF_OP_LDXB pc=12 dst=r5 src=r2 offset=23 imm=0
#line 99 "sample/decap_permit_packet.c"
r5 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(23));
// EBPF_OP_MOV64_IMM pc=15 dst=r6 src=r0 offset=0 imm=1
#line 99 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JNE_IMM pc=16 dst=r5 src=r0 offset=97 imm=4
// EBPF_OP_JNE_IMM pc=13 dst=r5 src=r0 offset=95 imm=4
#line 99 "sample/decap_permit_packet.c"
if (r5 != IMMEDIATE(4)) goto label_3;
// EBPF_OP_LDXB pc=17 dst=r5 src=r4 offset=0 imm=0
// EBPF_OP_LDXB pc=14 dst=r5 src=r4 offset=0 imm=0
#line 98 "sample/decap_permit_packet.c"
r5 = *(uint8_t *)(uintptr_t)(r4 + OFFSET(0));
// EBPF_OP_LSH64_IMM pc=18 dst=r5 src=r0 offset=0 imm=2
// EBPF_OP_LSH64_IMM pc=15 dst=r5 src=r0 offset=0 imm=2
#line 98 "sample/decap_permit_packet.c"
r5 <<= IMMEDIATE(2);
// EBPF_OP_AND64_IMM pc=19 dst=r5 src=r0 offset=0 imm=60
// EBPF_OP_AND64_IMM pc=16 dst=r5 src=r0 offset=0 imm=60
#line 98 "sample/decap_permit_packet.c"
r5 &= IMMEDIATE(60);
// EBPF_OP_MOV64_REG pc=20 dst=r0 src=r5 offset=0 imm=0
// EBPF_OP_ADD64_REG pc=17 dst=r4 src=r5 offset=0 imm=0
#line 98 "sample/decap_permit_packet.c"
r4 += r5;
// EBPF_OP_ADD64_IMM pc=18 dst=r4 src=r0 offset=0 imm=20
#line 100 "sample/decap_permit_packet.c"
r0 = r5;
// EBPF_OP_ADD64_REG pc=21 dst=r0 src=r4 offset=0 imm=0
r4 += IMMEDIATE(20);
// EBPF_OP_JGT_REG pc=19 dst=r4 src=r3 offset=89 imm=0
#line 100 "sample/decap_permit_packet.c"
r0 += r4;
// EBPF_OP_ADD64_IMM pc=22 dst=r0 src=r0 offset=0 imm=20
#line 100 "sample/decap_permit_packet.c"
r0 += IMMEDIATE(20);
// EBPF_OP_MOV64_IMM pc=23 dst=r6 src=r0 offset=0 imm=1
#line 100 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=24 dst=r0 src=r3 offset=89 imm=0
#line 100 "sample/decap_permit_packet.c"
if (r0 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=25 dst=r4 src=r2 offset=0 imm=0
if (r4 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=20 dst=r4 src=r2 offset=0 imm=0
#line 29 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_REG pc=26 dst=r4 src=r5 offset=0 imm=0
// EBPF_OP_ADD64_REG pc=21 dst=r4 src=r5 offset=0 imm=0
#line 29 "sample/decap_permit_packet.c"
r4 += r5;
// EBPF_OP_MOV64_IMM pc=27 dst=r6 src=r0 offset=0 imm=2
// EBPF_OP_MOV64_IMM pc=22 dst=r0 src=r0 offset=0 imm=2
#line 29 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(2);
// EBPF_OP_JGT_REG pc=28 dst=r4 src=r3 offset=85 imm=0
r0 = IMMEDIATE(2);
// EBPF_OP_JGT_REG pc=23 dst=r4 src=r3 offset=85 imm=0
#line 29 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=29 dst=r5 src=r4 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=24 dst=r5 src=r4 offset=0 imm=0
#line 29 "sample/decap_permit_packet.c"
r5 = r4;
// EBPF_OP_ADD64_IMM pc=30 dst=r5 src=r0 offset=0 imm=14
// EBPF_OP_ADD64_IMM pc=25 dst=r5 src=r0 offset=0 imm=14
#line 29 "sample/decap_permit_packet.c"
r5 += IMMEDIATE(14);
// EBPF_OP_JGT_REG pc=31 dst=r5 src=r3 offset=82 imm=0
// EBPF_OP_JGT_REG pc=26 dst=r5 src=r3 offset=82 imm=0
#line 29 "sample/decap_permit_packet.c"
if (r5 > r3) goto label_3;
// EBPF_OP_LDXB pc=32 dst=r3 src=r2 offset=13 imm=0
// EBPF_OP_LDXB pc=27 dst=r3 src=r2 offset=13 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(13));
// EBPF_OP_STXB pc=33 dst=r4 src=r3 offset=13 imm=0
// EBPF_OP_STXB pc=28 dst=r4 src=r3 offset=13 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(13)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=34 dst=r3 src=r2 offset=12 imm=0
// EBPF_OP_LDXB pc=29 dst=r3 src=r2 offset=12 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(12));
// EBPF_OP_STXB pc=35 dst=r4 src=r3 offset=12 imm=0
// EBPF_OP_STXB pc=30 dst=r4 src=r3 offset=12 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(12)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=36 dst=r3 src=r2 offset=11 imm=0
// EBPF_OP_LDXB pc=31 dst=r3 src=r2 offset=11 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(11));
// EBPF_OP_STXB pc=37 dst=r4 src=r3 offset=11 imm=0
// EBPF_OP_STXB pc=32 dst=r4 src=r3 offset=11 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(11)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=38 dst=r3 src=r2 offset=10 imm=0
// EBPF_OP_LDXB pc=33 dst=r3 src=r2 offset=10 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(10));
// EBPF_OP_STXB pc=39 dst=r4 src=r3 offset=10 imm=0
// EBPF_OP_STXB pc=34 dst=r4 src=r3 offset=10 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(10)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=40 dst=r3 src=r2 offset=9 imm=0
// EBPF_OP_LDXB pc=35 dst=r3 src=r2 offset=9 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(9));
// EBPF_OP_STXB pc=41 dst=r4 src=r3 offset=9 imm=0
// EBPF_OP_STXB pc=36 dst=r4 src=r3 offset=9 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(9)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=42 dst=r3 src=r2 offset=8 imm=0
// EBPF_OP_LDXB pc=37 dst=r3 src=r2 offset=8 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(8));
// EBPF_OP_STXB pc=43 dst=r4 src=r3 offset=8 imm=0
// EBPF_OP_STXB pc=38 dst=r4 src=r3 offset=8 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(8)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=44 dst=r3 src=r2 offset=7 imm=0
// EBPF_OP_LDXB pc=39 dst=r3 src=r2 offset=7 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(7));
// EBPF_OP_STXB pc=45 dst=r4 src=r3 offset=7 imm=0
// EBPF_OP_STXB pc=40 dst=r4 src=r3 offset=7 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(7)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=46 dst=r3 src=r2 offset=6 imm=0
// EBPF_OP_LDXB pc=41 dst=r3 src=r2 offset=6 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(6));
// EBPF_OP_STXB pc=47 dst=r4 src=r3 offset=6 imm=0
// EBPF_OP_STXB pc=42 dst=r4 src=r3 offset=6 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(6)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=48 dst=r3 src=r2 offset=5 imm=0
// EBPF_OP_LDXB pc=43 dst=r3 src=r2 offset=5 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(5));
// EBPF_OP_STXB pc=49 dst=r4 src=r3 offset=5 imm=0
// EBPF_OP_STXB pc=44 dst=r4 src=r3 offset=5 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(5)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=50 dst=r3 src=r2 offset=4 imm=0
// EBPF_OP_LDXB pc=45 dst=r3 src=r2 offset=4 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(4));
// EBPF_OP_STXB pc=51 dst=r4 src=r3 offset=4 imm=0
// EBPF_OP_STXB pc=46 dst=r4 src=r3 offset=4 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(4)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=52 dst=r3 src=r2 offset=3 imm=0
// EBPF_OP_LDXB pc=47 dst=r3 src=r2 offset=3 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(3));
// EBPF_OP_STXB pc=53 dst=r4 src=r3 offset=3 imm=0
// EBPF_OP_STXB pc=48 dst=r4 src=r3 offset=3 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(3)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=54 dst=r3 src=r2 offset=2 imm=0
// EBPF_OP_LDXB pc=49 dst=r3 src=r2 offset=2 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(2));
// EBPF_OP_STXB pc=55 dst=r4 src=r3 offset=2 imm=0
// EBPF_OP_STXB pc=50 dst=r4 src=r3 offset=2 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(2)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=56 dst=r3 src=r2 offset=1 imm=0
// EBPF_OP_LDXB pc=51 dst=r3 src=r2 offset=1 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(1));
// EBPF_OP_STXB pc=57 dst=r4 src=r3 offset=1 imm=0
// EBPF_OP_STXB pc=52 dst=r4 src=r3 offset=1 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(1)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=58 dst=r2 src=r2 offset=0 imm=0
// EBPF_OP_LDXB pc=53 dst=r2 src=r2 offset=0 imm=0
#line 36 "sample/decap_permit_packet.c"
r2 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(0));
// EBPF_OP_STXB pc=59 dst=r4 src=r2 offset=0 imm=0
// EBPF_OP_STXB pc=54 dst=r4 src=r2 offset=0 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(0)) = (uint8_t)r2;
// EBPF_OP_MOV64_IMM pc=60 dst=r2 src=r0 offset=0 imm=20
// EBPF_OP_MOV64_IMM pc=55 dst=r2 src=r0 offset=0 imm=20
#line 39 "sample/decap_permit_packet.c"
r2 = IMMEDIATE(20);
// EBPF_OP_CALL pc=61 dst=r0 src=r0 offset=0 imm=65536
// EBPF_OP_CALL pc=56 dst=r0 src=r0 offset=0 imm=65536
#line 39 "sample/decap_permit_packet.c"
r0 = decapsulate_permit_packet_helpers[0].address
#line 39 "sample/decap_permit_packet.c"
(r1, r2, r3, r4, r5);
#line 39 "sample/decap_permit_packet.c"
if ((decapsulate_permit_packet_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_LSH64_IMM pc=62 dst=r0 src=r0 offset=0 imm=32
// EBPF_OP_MOV64_REG pc=57 dst=r1 src=r0 offset=0 imm=0
#line 39 "sample/decap_permit_packet.c"
r0 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=63 dst=r0 src=r0 offset=0 imm=32
r1 = r0;
// EBPF_OP_LSH64_IMM pc=58 dst=r1 src=r0 offset=0 imm=32
#line 39 "sample/decap_permit_packet.c"
r0 = (int64_t)r0 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=64 dst=r1 src=r0 offset=0 imm=0
r1 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=59 dst=r1 src=r0 offset=0 imm=32
#line 39 "sample/decap_permit_packet.c"
r1 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=65 dst=r1 src=r0 offset=48 imm=0
r1 = (int64_t)r1 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=60 dst=r0 src=r0 offset=0 imm=2
#line 39 "sample/decap_permit_packet.c"
if ((int64_t)r1 > (int64_t)r0) goto label_3;
// EBPF_OP_JA pc=66 dst=r0 src=r0 offset=46 imm=0
r0 = IMMEDIATE(2);
// EBPF_OP_MOV64_IMM pc=61 dst=r2 src=r0 offset=0 imm=0
#line 39 "sample/decap_permit_packet.c"
r2 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=62 dst=r2 src=r1 offset=46 imm=0
#line 39 "sample/decap_permit_packet.c"
if ((int64_t)r2 > (int64_t)r1) goto label_3;
// EBPF_OP_JA pc=63 dst=r0 src=r0 offset=44 imm=0
#line 39 "sample/decap_permit_packet.c"
goto label_2;
label_1:
// EBPF_OP_MOV64_REG pc=64 dst=r4 src=r2 offset=0 imm=0
#line 106 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=65 dst=r4 src=r0 offset=0 imm=54
#line 106 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(54);
// EBPF_OP_JGT_REG pc=66 dst=r4 src=r3 offset=42 imm=0
#line 106 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=67 dst=r4 src=r2 offset=0 imm=0
#line 106 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=68 dst=r4 src=r0 offset=0 imm=54
// EBPF_OP_ADD64_IMM pc=68 dst=r4 src=r0 offset=0 imm=94
#line 106 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(54);
// EBPF_OP_MOV64_IMM pc=69 dst=r6 src=r0 offset=0 imm=1
#line 106 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=70 dst=r4 src=r3 offset=43 imm=0
#line 106 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_LDXB pc=71 dst=r4 src=r2 offset=20 imm=0
#line 111 "sample/decap_permit_packet.c"
r4 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_MOV64_IMM pc=72 dst=r6 src=r0 offset=0 imm=1
#line 111 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JNE_IMM pc=73 dst=r4 src=r0 offset=40 imm=41
#line 111 "sample/decap_permit_packet.c"
if (r4 != IMMEDIATE(41)) goto label_3;
// EBPF_OP_MOV64_REG pc=74 dst=r4 src=r2 offset=0 imm=0
#line 111 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=75 dst=r4 src=r0 offset=0 imm=94
#line 111 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(94);
// EBPF_OP_MOV64_IMM pc=76 dst=r6 src=r0 offset=0 imm=1
#line 111 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=77 dst=r4 src=r3 offset=36 imm=0
// EBPF_OP_JGT_REG pc=69 dst=r4 src=r3 offset=39 imm=0
#line 111 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_LDXB pc=78 dst=r3 src=r2 offset=13 imm=0
// EBPF_OP_LDXB pc=70 dst=r3 src=r2 offset=20 imm=0
#line 111 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=71 dst=r3 src=r0 offset=37 imm=41
#line 111 "sample/decap_permit_packet.c"
if (r3 != IMMEDIATE(41)) goto label_3;
// EBPF_OP_LDXB pc=72 dst=r3 src=r2 offset=13 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(13));
// EBPF_OP_STXB pc=79 dst=r2 src=r3 offset=53 imm=0
// EBPF_OP_STXB pc=73 dst=r2 src=r3 offset=53 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(53)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=80 dst=r3 src=r2 offset=12 imm=0
// EBPF_OP_LDXB pc=74 dst=r3 src=r2 offset=12 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(12));
// EBPF_OP_STXB pc=81 dst=r2 src=r3 offset=52 imm=0
// EBPF_OP_STXB pc=75 dst=r2 src=r3 offset=52 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(52)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=82 dst=r3 src=r2 offset=11 imm=0
// EBPF_OP_LDXB pc=76 dst=r3 src=r2 offset=11 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(11));
// EBPF_OP_STXB pc=83 dst=r2 src=r3 offset=51 imm=0
// EBPF_OP_STXB pc=77 dst=r2 src=r3 offset=51 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(51)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=84 dst=r3 src=r2 offset=10 imm=0
// EBPF_OP_LDXB pc=78 dst=r3 src=r2 offset=10 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(10));
// EBPF_OP_STXB pc=85 dst=r2 src=r3 offset=50 imm=0
// EBPF_OP_STXB pc=79 dst=r2 src=r3 offset=50 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(50)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=86 dst=r3 src=r2 offset=9 imm=0
// EBPF_OP_LDXB pc=80 dst=r3 src=r2 offset=9 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(9));
// EBPF_OP_STXB pc=87 dst=r2 src=r3 offset=49 imm=0
// EBPF_OP_STXB pc=81 dst=r2 src=r3 offset=49 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(49)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=88 dst=r3 src=r2 offset=8 imm=0
// EBPF_OP_LDXB pc=82 dst=r3 src=r2 offset=8 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(8));
// EBPF_OP_STXB pc=89 dst=r2 src=r3 offset=48 imm=0
// EBPF_OP_STXB pc=83 dst=r2 src=r3 offset=48 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(48)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=90 dst=r3 src=r2 offset=7 imm=0
// EBPF_OP_LDXB pc=84 dst=r3 src=r2 offset=7 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(7));
// EBPF_OP_STXB pc=91 dst=r2 src=r3 offset=47 imm=0
// EBPF_OP_STXB pc=85 dst=r2 src=r3 offset=47 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(47)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=92 dst=r3 src=r2 offset=6 imm=0
// EBPF_OP_LDXB pc=86 dst=r3 src=r2 offset=6 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(6));
// EBPF_OP_STXB pc=93 dst=r2 src=r3 offset=46 imm=0
// EBPF_OP_STXB pc=87 dst=r2 src=r3 offset=46 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(46)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=94 dst=r3 src=r2 offset=5 imm=0
// EBPF_OP_LDXB pc=88 dst=r3 src=r2 offset=5 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(5));
// EBPF_OP_STXB pc=95 dst=r2 src=r3 offset=45 imm=0
// EBPF_OP_STXB pc=89 dst=r2 src=r3 offset=45 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(45)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=96 dst=r3 src=r2 offset=4 imm=0
// EBPF_OP_LDXB pc=90 dst=r3 src=r2 offset=4 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(4));
// EBPF_OP_STXB pc=97 dst=r2 src=r3 offset=44 imm=0
// EBPF_OP_STXB pc=91 dst=r2 src=r3 offset=44 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(44)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=98 dst=r3 src=r2 offset=3 imm=0
// EBPF_OP_LDXB pc=92 dst=r3 src=r2 offset=3 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(3));
// EBPF_OP_STXB pc=99 dst=r2 src=r3 offset=43 imm=0
// EBPF_OP_STXB pc=93 dst=r2 src=r3 offset=43 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(43)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=100 dst=r3 src=r2 offset=2 imm=0
// EBPF_OP_LDXB pc=94 dst=r3 src=r2 offset=2 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(2));
// EBPF_OP_STXB pc=101 dst=r2 src=r3 offset=42 imm=0
// EBPF_OP_STXB pc=95 dst=r2 src=r3 offset=42 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(42)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=102 dst=r3 src=r2 offset=1 imm=0
// EBPF_OP_LDXB pc=96 dst=r3 src=r2 offset=1 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(1));
// EBPF_OP_STXB pc=103 dst=r2 src=r3 offset=41 imm=0
// EBPF_OP_STXB pc=97 dst=r2 src=r3 offset=41 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(41)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=104 dst=r3 src=r2 offset=0 imm=0
// EBPF_OP_LDXB pc=98 dst=r3 src=r2 offset=0 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(0));
// EBPF_OP_STXB pc=105 dst=r2 src=r3 offset=40 imm=0
// EBPF_OP_STXB pc=99 dst=r2 src=r3 offset=40 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(40)) = (uint8_t)r3;
// EBPF_OP_MOV64_IMM pc=106 dst=r2 src=r0 offset=0 imm=40
// EBPF_OP_MOV64_IMM pc=100 dst=r2 src=r0 offset=0 imm=40
#line 66 "sample/decap_permit_packet.c"
r2 = IMMEDIATE(40);
// EBPF_OP_CALL pc=107 dst=r0 src=r0 offset=0 imm=65536
// EBPF_OP_CALL pc=101 dst=r0 src=r0 offset=0 imm=65536
#line 66 "sample/decap_permit_packet.c"
r0 = decapsulate_permit_packet_helpers[0].address
#line 66 "sample/decap_permit_packet.c"
(r1, r2, r3, r4, r5);
#line 66 "sample/decap_permit_packet.c"
if ((decapsulate_permit_packet_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_MOV64_IMM pc=108 dst=r6 src=r0 offset=0 imm=2
// EBPF_OP_MOV64_REG pc=102 dst=r1 src=r0 offset=0 imm=0
#line 66 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(2);
// EBPF_OP_LSH64_IMM pc=109 dst=r0 src=r0 offset=0 imm=32
r1 = r0;
// EBPF_OP_LSH64_IMM pc=103 dst=r1 src=r0 offset=0 imm=32
#line 66 "sample/decap_permit_packet.c"
r0 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=110 dst=r0 src=r0 offset=0 imm=32
r1 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=104 dst=r1 src=r0 offset=0 imm=32
#line 66 "sample/decap_permit_packet.c"
r0 = (int64_t)r0 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=111 dst=r1 src=r0 offset=0 imm=0
r1 = (int64_t)r1 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=105 dst=r0 src=r0 offset=0 imm=2
#line 66 "sample/decap_permit_packet.c"
r1 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=112 dst=r1 src=r0 offset=1 imm=0
r0 = IMMEDIATE(2);
// EBPF_OP_MOV64_IMM pc=106 dst=r2 src=r0 offset=0 imm=0
#line 66 "sample/decap_permit_packet.c"
if ((int64_t)r1 > (int64_t)r0) goto label_3;
r2 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=107 dst=r2 src=r1 offset=1 imm=0
#line 66 "sample/decap_permit_packet.c"
if ((int64_t)r2 > (int64_t)r1) goto label_3;
label_2:
// EBPF_OP_MOV64_IMM pc=113 dst=r6 src=r0 offset=0 imm=1
// EBPF_OP_MOV64_IMM pc=108 dst=r0 src=r0 offset=0 imm=1
#line 66 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
r0 = IMMEDIATE(1);
label_3:
// EBPF_OP_MOV64_REG pc=114 dst=r0 src=r6 offset=0 imm=0
#line 121 "sample/decap_permit_packet.c"
r0 = r6;
// EBPF_OP_EXIT pc=115 dst=r0 src=r0 offset=0 imm=0
// EBPF_OP_EXIT pc=109 dst=r0 src=r0 offset=0 imm=0
#line 121 "sample/decap_permit_packet.c"
return r0;
#line 121 "sample/decap_permit_packet.c"
@ -410,7 +390,7 @@ label_3:
#line __LINE__ __FILE__
static program_entry_t _programs[] = {
{ decapsulate_permit_packet, "xdp/decapsulate_reflect", "decapsulate_permit_packet", NULL, 0, decapsulate_permit_packet_helpers, 1, 116, &decapsulate_permit_packet_program_type_guid, &decapsulate_permit_packet_attach_type_guid, },
{ decapsulate_permit_packet, "xdp/decapsulate_reflect", "decapsulate_permit_packet", NULL, 0, decapsulate_permit_packet_helpers, 1, 110, &decapsulate_permit_packet_program_type_guid, &decapsulate_permit_packet_attach_type_guid, },
};
static void _get_programs(_Outptr_result_buffer_(*count) program_entry_t** programs, _Out_ size_t* count)

Просмотреть файл

@ -187,389 +187,369 @@ static GUID decapsulate_permit_packet_program_type_guid = {0xf1832a85, 0x85d5, 0
static GUID decapsulate_permit_packet_attach_type_guid = {0x85e0d8ef, 0x579e, 0x4931, {0xb0, 0x72, 0x8e, 0xe2, 0x26, 0xbb, 0x2e, 0x9d}};
static uint64_t decapsulate_permit_packet(void* context)
{
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
// Prologue
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
uint64_t stack[(UBPF_STACK_SIZE + 7) / 8];
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r0 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r1 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r2 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r3 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r4 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r5 = 0;
#line 89 "sample/decap_permit_packet.c"
register uint64_t r6 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
register uint64_t r10 = 0;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
r1 = (uintptr_t)context;
#line 89 "sample/decap_permit_packet.c"
#line 83 "sample/decap_permit_packet.c"
r10 = (uintptr_t)((uint8_t*)stack + sizeof(stack));
// EBPF_OP_LDXDW pc=0 dst=r3 src=r1 offset=8 imm=0
// EBPF_OP_MOV64_IMM pc=0 dst=r0 src=r0 offset=0 imm=1
#line 83 "sample/decap_permit_packet.c"
r0 = IMMEDIATE(1);
// EBPF_OP_LDXDW pc=1 dst=r3 src=r1 offset=8 imm=0
#line 89 "sample/decap_permit_packet.c"
r3 = *(uint64_t *)(uintptr_t)(r1 + OFFSET(8));
// EBPF_OP_LDXDW pc=1 dst=r2 src=r1 offset=0 imm=0
// EBPF_OP_LDXDW pc=2 dst=r2 src=r1 offset=0 imm=0
#line 88 "sample/decap_permit_packet.c"
r2 = *(uint64_t *)(uintptr_t)(r1 + OFFSET(0));
// EBPF_OP_MOV64_REG pc=2 dst=r4 src=r2 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=3 dst=r4 src=r2 offset=0 imm=0
#line 89 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=3 dst=r4 src=r0 offset=0 imm=14
// EBPF_OP_ADD64_IMM pc=4 dst=r4 src=r0 offset=0 imm=14
#line 89 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(14);
// EBPF_OP_MOV64_IMM pc=4 dst=r6 src=r0 offset=0 imm=1
#line 89 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=5 dst=r4 src=r3 offset=108 imm=0
// EBPF_OP_JGT_REG pc=5 dst=r4 src=r3 offset=103 imm=0
#line 89 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_LDXH pc=6 dst=r5 src=r2 offset=12 imm=0
#line 93 "sample/decap_permit_packet.c"
r5 = *(uint16_t *)(uintptr_t)(r2 + OFFSET(12));
// EBPF_OP_JEQ_IMM pc=7 dst=r5 src=r0 offset=59 imm=56710
// EBPF_OP_JEQ_IMM pc=7 dst=r5 src=r0 offset=56 imm=56710
#line 93 "sample/decap_permit_packet.c"
if (r5 == IMMEDIATE(56710)) goto label_1;
// EBPF_OP_MOV64_IMM pc=8 dst=r6 src=r0 offset=0 imm=1
#line 93 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JNE_IMM pc=9 dst=r5 src=r0 offset=104 imm=8
// EBPF_OP_JNE_IMM pc=8 dst=r5 src=r0 offset=100 imm=8
#line 93 "sample/decap_permit_packet.c"
if (r5 != IMMEDIATE(8)) goto label_3;
// EBPF_OP_MOV64_REG pc=10 dst=r5 src=r2 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=9 dst=r5 src=r2 offset=0 imm=0
#line 94 "sample/decap_permit_packet.c"
r5 = r2;
// EBPF_OP_ADD64_IMM pc=11 dst=r5 src=r0 offset=0 imm=34
// EBPF_OP_ADD64_IMM pc=10 dst=r5 src=r0 offset=0 imm=34
#line 94 "sample/decap_permit_packet.c"
r5 += IMMEDIATE(34);
// EBPF_OP_MOV64_IMM pc=12 dst=r6 src=r0 offset=0 imm=1
#line 94 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=13 dst=r5 src=r3 offset=100 imm=0
// EBPF_OP_JGT_REG pc=11 dst=r5 src=r3 offset=97 imm=0
#line 94 "sample/decap_permit_packet.c"
if (r5 > r3) goto label_3;
// EBPF_OP_LDXB pc=14 dst=r5 src=r2 offset=23 imm=0
// EBPF_OP_LDXB pc=12 dst=r5 src=r2 offset=23 imm=0
#line 99 "sample/decap_permit_packet.c"
r5 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(23));
// EBPF_OP_MOV64_IMM pc=15 dst=r6 src=r0 offset=0 imm=1
#line 99 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JNE_IMM pc=16 dst=r5 src=r0 offset=97 imm=4
// EBPF_OP_JNE_IMM pc=13 dst=r5 src=r0 offset=95 imm=4
#line 99 "sample/decap_permit_packet.c"
if (r5 != IMMEDIATE(4)) goto label_3;
// EBPF_OP_LDXB pc=17 dst=r5 src=r4 offset=0 imm=0
// EBPF_OP_LDXB pc=14 dst=r5 src=r4 offset=0 imm=0
#line 98 "sample/decap_permit_packet.c"
r5 = *(uint8_t *)(uintptr_t)(r4 + OFFSET(0));
// EBPF_OP_LSH64_IMM pc=18 dst=r5 src=r0 offset=0 imm=2
// EBPF_OP_LSH64_IMM pc=15 dst=r5 src=r0 offset=0 imm=2
#line 98 "sample/decap_permit_packet.c"
r5 <<= IMMEDIATE(2);
// EBPF_OP_AND64_IMM pc=19 dst=r5 src=r0 offset=0 imm=60
// EBPF_OP_AND64_IMM pc=16 dst=r5 src=r0 offset=0 imm=60
#line 98 "sample/decap_permit_packet.c"
r5 &= IMMEDIATE(60);
// EBPF_OP_MOV64_REG pc=20 dst=r0 src=r5 offset=0 imm=0
// EBPF_OP_ADD64_REG pc=17 dst=r4 src=r5 offset=0 imm=0
#line 98 "sample/decap_permit_packet.c"
r4 += r5;
// EBPF_OP_ADD64_IMM pc=18 dst=r4 src=r0 offset=0 imm=20
#line 100 "sample/decap_permit_packet.c"
r0 = r5;
// EBPF_OP_ADD64_REG pc=21 dst=r0 src=r4 offset=0 imm=0
r4 += IMMEDIATE(20);
// EBPF_OP_JGT_REG pc=19 dst=r4 src=r3 offset=89 imm=0
#line 100 "sample/decap_permit_packet.c"
r0 += r4;
// EBPF_OP_ADD64_IMM pc=22 dst=r0 src=r0 offset=0 imm=20
#line 100 "sample/decap_permit_packet.c"
r0 += IMMEDIATE(20);
// EBPF_OP_MOV64_IMM pc=23 dst=r6 src=r0 offset=0 imm=1
#line 100 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=24 dst=r0 src=r3 offset=89 imm=0
#line 100 "sample/decap_permit_packet.c"
if (r0 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=25 dst=r4 src=r2 offset=0 imm=0
if (r4 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=20 dst=r4 src=r2 offset=0 imm=0
#line 29 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_REG pc=26 dst=r4 src=r5 offset=0 imm=0
// EBPF_OP_ADD64_REG pc=21 dst=r4 src=r5 offset=0 imm=0
#line 29 "sample/decap_permit_packet.c"
r4 += r5;
// EBPF_OP_MOV64_IMM pc=27 dst=r6 src=r0 offset=0 imm=2
// EBPF_OP_MOV64_IMM pc=22 dst=r0 src=r0 offset=0 imm=2
#line 29 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(2);
// EBPF_OP_JGT_REG pc=28 dst=r4 src=r3 offset=85 imm=0
r0 = IMMEDIATE(2);
// EBPF_OP_JGT_REG pc=23 dst=r4 src=r3 offset=85 imm=0
#line 29 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=29 dst=r5 src=r4 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=24 dst=r5 src=r4 offset=0 imm=0
#line 29 "sample/decap_permit_packet.c"
r5 = r4;
// EBPF_OP_ADD64_IMM pc=30 dst=r5 src=r0 offset=0 imm=14
// EBPF_OP_ADD64_IMM pc=25 dst=r5 src=r0 offset=0 imm=14
#line 29 "sample/decap_permit_packet.c"
r5 += IMMEDIATE(14);
// EBPF_OP_JGT_REG pc=31 dst=r5 src=r3 offset=82 imm=0
// EBPF_OP_JGT_REG pc=26 dst=r5 src=r3 offset=82 imm=0
#line 29 "sample/decap_permit_packet.c"
if (r5 > r3) goto label_3;
// EBPF_OP_LDXB pc=32 dst=r3 src=r2 offset=13 imm=0
// EBPF_OP_LDXB pc=27 dst=r3 src=r2 offset=13 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(13));
// EBPF_OP_STXB pc=33 dst=r4 src=r3 offset=13 imm=0
// EBPF_OP_STXB pc=28 dst=r4 src=r3 offset=13 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(13)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=34 dst=r3 src=r2 offset=12 imm=0
// EBPF_OP_LDXB pc=29 dst=r3 src=r2 offset=12 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(12));
// EBPF_OP_STXB pc=35 dst=r4 src=r3 offset=12 imm=0
// EBPF_OP_STXB pc=30 dst=r4 src=r3 offset=12 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(12)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=36 dst=r3 src=r2 offset=11 imm=0
// EBPF_OP_LDXB pc=31 dst=r3 src=r2 offset=11 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(11));
// EBPF_OP_STXB pc=37 dst=r4 src=r3 offset=11 imm=0
// EBPF_OP_STXB pc=32 dst=r4 src=r3 offset=11 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(11)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=38 dst=r3 src=r2 offset=10 imm=0
// EBPF_OP_LDXB pc=33 dst=r3 src=r2 offset=10 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(10));
// EBPF_OP_STXB pc=39 dst=r4 src=r3 offset=10 imm=0
// EBPF_OP_STXB pc=34 dst=r4 src=r3 offset=10 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(10)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=40 dst=r3 src=r2 offset=9 imm=0
// EBPF_OP_LDXB pc=35 dst=r3 src=r2 offset=9 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(9));
// EBPF_OP_STXB pc=41 dst=r4 src=r3 offset=9 imm=0
// EBPF_OP_STXB pc=36 dst=r4 src=r3 offset=9 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(9)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=42 dst=r3 src=r2 offset=8 imm=0
// EBPF_OP_LDXB pc=37 dst=r3 src=r2 offset=8 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(8));
// EBPF_OP_STXB pc=43 dst=r4 src=r3 offset=8 imm=0
// EBPF_OP_STXB pc=38 dst=r4 src=r3 offset=8 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(8)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=44 dst=r3 src=r2 offset=7 imm=0
// EBPF_OP_LDXB pc=39 dst=r3 src=r2 offset=7 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(7));
// EBPF_OP_STXB pc=45 dst=r4 src=r3 offset=7 imm=0
// EBPF_OP_STXB pc=40 dst=r4 src=r3 offset=7 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(7)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=46 dst=r3 src=r2 offset=6 imm=0
// EBPF_OP_LDXB pc=41 dst=r3 src=r2 offset=6 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(6));
// EBPF_OP_STXB pc=47 dst=r4 src=r3 offset=6 imm=0
// EBPF_OP_STXB pc=42 dst=r4 src=r3 offset=6 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(6)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=48 dst=r3 src=r2 offset=5 imm=0
// EBPF_OP_LDXB pc=43 dst=r3 src=r2 offset=5 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(5));
// EBPF_OP_STXB pc=49 dst=r4 src=r3 offset=5 imm=0
// EBPF_OP_STXB pc=44 dst=r4 src=r3 offset=5 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(5)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=50 dst=r3 src=r2 offset=4 imm=0
// EBPF_OP_LDXB pc=45 dst=r3 src=r2 offset=4 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(4));
// EBPF_OP_STXB pc=51 dst=r4 src=r3 offset=4 imm=0
// EBPF_OP_STXB pc=46 dst=r4 src=r3 offset=4 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(4)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=52 dst=r3 src=r2 offset=3 imm=0
// EBPF_OP_LDXB pc=47 dst=r3 src=r2 offset=3 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(3));
// EBPF_OP_STXB pc=53 dst=r4 src=r3 offset=3 imm=0
// EBPF_OP_STXB pc=48 dst=r4 src=r3 offset=3 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(3)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=54 dst=r3 src=r2 offset=2 imm=0
// EBPF_OP_LDXB pc=49 dst=r3 src=r2 offset=2 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(2));
// EBPF_OP_STXB pc=55 dst=r4 src=r3 offset=2 imm=0
// EBPF_OP_STXB pc=50 dst=r4 src=r3 offset=2 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(2)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=56 dst=r3 src=r2 offset=1 imm=0
// EBPF_OP_LDXB pc=51 dst=r3 src=r2 offset=1 imm=0
#line 36 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(1));
// EBPF_OP_STXB pc=57 dst=r4 src=r3 offset=1 imm=0
// EBPF_OP_STXB pc=52 dst=r4 src=r3 offset=1 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(1)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=58 dst=r2 src=r2 offset=0 imm=0
// EBPF_OP_LDXB pc=53 dst=r2 src=r2 offset=0 imm=0
#line 36 "sample/decap_permit_packet.c"
r2 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(0));
// EBPF_OP_STXB pc=59 dst=r4 src=r2 offset=0 imm=0
// EBPF_OP_STXB pc=54 dst=r4 src=r2 offset=0 imm=0
#line 36 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r4 + OFFSET(0)) = (uint8_t)r2;
// EBPF_OP_MOV64_IMM pc=60 dst=r2 src=r0 offset=0 imm=20
// EBPF_OP_MOV64_IMM pc=55 dst=r2 src=r0 offset=0 imm=20
#line 39 "sample/decap_permit_packet.c"
r2 = IMMEDIATE(20);
// EBPF_OP_CALL pc=61 dst=r0 src=r0 offset=0 imm=65536
// EBPF_OP_CALL pc=56 dst=r0 src=r0 offset=0 imm=65536
#line 39 "sample/decap_permit_packet.c"
r0 = decapsulate_permit_packet_helpers[0].address
#line 39 "sample/decap_permit_packet.c"
(r1, r2, r3, r4, r5);
#line 39 "sample/decap_permit_packet.c"
if ((decapsulate_permit_packet_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_LSH64_IMM pc=62 dst=r0 src=r0 offset=0 imm=32
// EBPF_OP_MOV64_REG pc=57 dst=r1 src=r0 offset=0 imm=0
#line 39 "sample/decap_permit_packet.c"
r0 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=63 dst=r0 src=r0 offset=0 imm=32
r1 = r0;
// EBPF_OP_LSH64_IMM pc=58 dst=r1 src=r0 offset=0 imm=32
#line 39 "sample/decap_permit_packet.c"
r0 = (int64_t)r0 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=64 dst=r1 src=r0 offset=0 imm=0
r1 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=59 dst=r1 src=r0 offset=0 imm=32
#line 39 "sample/decap_permit_packet.c"
r1 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=65 dst=r1 src=r0 offset=48 imm=0
r1 = (int64_t)r1 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=60 dst=r0 src=r0 offset=0 imm=2
#line 39 "sample/decap_permit_packet.c"
if ((int64_t)r1 > (int64_t)r0) goto label_3;
// EBPF_OP_JA pc=66 dst=r0 src=r0 offset=46 imm=0
r0 = IMMEDIATE(2);
// EBPF_OP_MOV64_IMM pc=61 dst=r2 src=r0 offset=0 imm=0
#line 39 "sample/decap_permit_packet.c"
r2 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=62 dst=r2 src=r1 offset=46 imm=0
#line 39 "sample/decap_permit_packet.c"
if ((int64_t)r2 > (int64_t)r1) goto label_3;
// EBPF_OP_JA pc=63 dst=r0 src=r0 offset=44 imm=0
#line 39 "sample/decap_permit_packet.c"
goto label_2;
label_1:
// EBPF_OP_MOV64_REG pc=64 dst=r4 src=r2 offset=0 imm=0
#line 106 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=65 dst=r4 src=r0 offset=0 imm=54
#line 106 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(54);
// EBPF_OP_JGT_REG pc=66 dst=r4 src=r3 offset=42 imm=0
#line 106 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_MOV64_REG pc=67 dst=r4 src=r2 offset=0 imm=0
#line 106 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=68 dst=r4 src=r0 offset=0 imm=54
// EBPF_OP_ADD64_IMM pc=68 dst=r4 src=r0 offset=0 imm=94
#line 106 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(54);
// EBPF_OP_MOV64_IMM pc=69 dst=r6 src=r0 offset=0 imm=1
#line 106 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=70 dst=r4 src=r3 offset=43 imm=0
#line 106 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_LDXB pc=71 dst=r4 src=r2 offset=20 imm=0
#line 111 "sample/decap_permit_packet.c"
r4 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_MOV64_IMM pc=72 dst=r6 src=r0 offset=0 imm=1
#line 111 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JNE_IMM pc=73 dst=r4 src=r0 offset=40 imm=41
#line 111 "sample/decap_permit_packet.c"
if (r4 != IMMEDIATE(41)) goto label_3;
// EBPF_OP_MOV64_REG pc=74 dst=r4 src=r2 offset=0 imm=0
#line 111 "sample/decap_permit_packet.c"
r4 = r2;
// EBPF_OP_ADD64_IMM pc=75 dst=r4 src=r0 offset=0 imm=94
#line 111 "sample/decap_permit_packet.c"
r4 += IMMEDIATE(94);
// EBPF_OP_MOV64_IMM pc=76 dst=r6 src=r0 offset=0 imm=1
#line 111 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
// EBPF_OP_JGT_REG pc=77 dst=r4 src=r3 offset=36 imm=0
// EBPF_OP_JGT_REG pc=69 dst=r4 src=r3 offset=39 imm=0
#line 111 "sample/decap_permit_packet.c"
if (r4 > r3) goto label_3;
// EBPF_OP_LDXB pc=78 dst=r3 src=r2 offset=13 imm=0
// EBPF_OP_LDXB pc=70 dst=r3 src=r2 offset=20 imm=0
#line 111 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=71 dst=r3 src=r0 offset=37 imm=41
#line 111 "sample/decap_permit_packet.c"
if (r3 != IMMEDIATE(41)) goto label_3;
// EBPF_OP_LDXB pc=72 dst=r3 src=r2 offset=13 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(13));
// EBPF_OP_STXB pc=79 dst=r2 src=r3 offset=53 imm=0
// EBPF_OP_STXB pc=73 dst=r2 src=r3 offset=53 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(53)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=80 dst=r3 src=r2 offset=12 imm=0
// EBPF_OP_LDXB pc=74 dst=r3 src=r2 offset=12 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(12));
// EBPF_OP_STXB pc=81 dst=r2 src=r3 offset=52 imm=0
// EBPF_OP_STXB pc=75 dst=r2 src=r3 offset=52 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(52)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=82 dst=r3 src=r2 offset=11 imm=0
// EBPF_OP_LDXB pc=76 dst=r3 src=r2 offset=11 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(11));
// EBPF_OP_STXB pc=83 dst=r2 src=r3 offset=51 imm=0
// EBPF_OP_STXB pc=77 dst=r2 src=r3 offset=51 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(51)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=84 dst=r3 src=r2 offset=10 imm=0
// EBPF_OP_LDXB pc=78 dst=r3 src=r2 offset=10 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(10));
// EBPF_OP_STXB pc=85 dst=r2 src=r3 offset=50 imm=0
// EBPF_OP_STXB pc=79 dst=r2 src=r3 offset=50 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(50)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=86 dst=r3 src=r2 offset=9 imm=0
// EBPF_OP_LDXB pc=80 dst=r3 src=r2 offset=9 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(9));
// EBPF_OP_STXB pc=87 dst=r2 src=r3 offset=49 imm=0
// EBPF_OP_STXB pc=81 dst=r2 src=r3 offset=49 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(49)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=88 dst=r3 src=r2 offset=8 imm=0
// EBPF_OP_LDXB pc=82 dst=r3 src=r2 offset=8 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(8));
// EBPF_OP_STXB pc=89 dst=r2 src=r3 offset=48 imm=0
// EBPF_OP_STXB pc=83 dst=r2 src=r3 offset=48 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(48)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=90 dst=r3 src=r2 offset=7 imm=0
// EBPF_OP_LDXB pc=84 dst=r3 src=r2 offset=7 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(7));
// EBPF_OP_STXB pc=91 dst=r2 src=r3 offset=47 imm=0
// EBPF_OP_STXB pc=85 dst=r2 src=r3 offset=47 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(47)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=92 dst=r3 src=r2 offset=6 imm=0
// EBPF_OP_LDXB pc=86 dst=r3 src=r2 offset=6 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(6));
// EBPF_OP_STXB pc=93 dst=r2 src=r3 offset=46 imm=0
// EBPF_OP_STXB pc=87 dst=r2 src=r3 offset=46 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(46)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=94 dst=r3 src=r2 offset=5 imm=0
// EBPF_OP_LDXB pc=88 dst=r3 src=r2 offset=5 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(5));
// EBPF_OP_STXB pc=95 dst=r2 src=r3 offset=45 imm=0
// EBPF_OP_STXB pc=89 dst=r2 src=r3 offset=45 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(45)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=96 dst=r3 src=r2 offset=4 imm=0
// EBPF_OP_LDXB pc=90 dst=r3 src=r2 offset=4 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(4));
// EBPF_OP_STXB pc=97 dst=r2 src=r3 offset=44 imm=0
// EBPF_OP_STXB pc=91 dst=r2 src=r3 offset=44 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(44)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=98 dst=r3 src=r2 offset=3 imm=0
// EBPF_OP_LDXB pc=92 dst=r3 src=r2 offset=3 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(3));
// EBPF_OP_STXB pc=99 dst=r2 src=r3 offset=43 imm=0
// EBPF_OP_STXB pc=93 dst=r2 src=r3 offset=43 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(43)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=100 dst=r3 src=r2 offset=2 imm=0
// EBPF_OP_LDXB pc=94 dst=r3 src=r2 offset=2 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(2));
// EBPF_OP_STXB pc=101 dst=r2 src=r3 offset=42 imm=0
// EBPF_OP_STXB pc=95 dst=r2 src=r3 offset=42 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(42)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=102 dst=r3 src=r2 offset=1 imm=0
// EBPF_OP_LDXB pc=96 dst=r3 src=r2 offset=1 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(1));
// EBPF_OP_STXB pc=103 dst=r2 src=r3 offset=41 imm=0
// EBPF_OP_STXB pc=97 dst=r2 src=r3 offset=41 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(41)) = (uint8_t)r3;
// EBPF_OP_LDXB pc=104 dst=r3 src=r2 offset=0 imm=0
// EBPF_OP_LDXB pc=98 dst=r3 src=r2 offset=0 imm=0
#line 63 "sample/decap_permit_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(0));
// EBPF_OP_STXB pc=105 dst=r2 src=r3 offset=40 imm=0
// EBPF_OP_STXB pc=99 dst=r2 src=r3 offset=40 imm=0
#line 63 "sample/decap_permit_packet.c"
*(uint8_t *)(uintptr_t)(r2 + OFFSET(40)) = (uint8_t)r3;
// EBPF_OP_MOV64_IMM pc=106 dst=r2 src=r0 offset=0 imm=40
// EBPF_OP_MOV64_IMM pc=100 dst=r2 src=r0 offset=0 imm=40
#line 66 "sample/decap_permit_packet.c"
r2 = IMMEDIATE(40);
// EBPF_OP_CALL pc=107 dst=r0 src=r0 offset=0 imm=65536
// EBPF_OP_CALL pc=101 dst=r0 src=r0 offset=0 imm=65536
#line 66 "sample/decap_permit_packet.c"
r0 = decapsulate_permit_packet_helpers[0].address
#line 66 "sample/decap_permit_packet.c"
(r1, r2, r3, r4, r5);
#line 66 "sample/decap_permit_packet.c"
if ((decapsulate_permit_packet_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_MOV64_IMM pc=108 dst=r6 src=r0 offset=0 imm=2
// EBPF_OP_MOV64_REG pc=102 dst=r1 src=r0 offset=0 imm=0
#line 66 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(2);
// EBPF_OP_LSH64_IMM pc=109 dst=r0 src=r0 offset=0 imm=32
r1 = r0;
// EBPF_OP_LSH64_IMM pc=103 dst=r1 src=r0 offset=0 imm=32
#line 66 "sample/decap_permit_packet.c"
r0 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=110 dst=r0 src=r0 offset=0 imm=32
r1 <<= IMMEDIATE(32);
// EBPF_OP_ARSH64_IMM pc=104 dst=r1 src=r0 offset=0 imm=32
#line 66 "sample/decap_permit_packet.c"
r0 = (int64_t)r0 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=111 dst=r1 src=r0 offset=0 imm=0
r1 = (int64_t)r1 >> (uint32_t)IMMEDIATE(32);
// EBPF_OP_MOV64_IMM pc=105 dst=r0 src=r0 offset=0 imm=2
#line 66 "sample/decap_permit_packet.c"
r1 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=112 dst=r1 src=r0 offset=1 imm=0
r0 = IMMEDIATE(2);
// EBPF_OP_MOV64_IMM pc=106 dst=r2 src=r0 offset=0 imm=0
#line 66 "sample/decap_permit_packet.c"
if ((int64_t)r1 > (int64_t)r0) goto label_3;
r2 = IMMEDIATE(0);
// EBPF_OP_JSGT_REG pc=107 dst=r2 src=r1 offset=1 imm=0
#line 66 "sample/decap_permit_packet.c"
if ((int64_t)r2 > (int64_t)r1) goto label_3;
label_2:
// EBPF_OP_MOV64_IMM pc=113 dst=r6 src=r0 offset=0 imm=1
// EBPF_OP_MOV64_IMM pc=108 dst=r0 src=r0 offset=0 imm=1
#line 66 "sample/decap_permit_packet.c"
r6 = IMMEDIATE(1);
r0 = IMMEDIATE(1);
label_3:
// EBPF_OP_MOV64_REG pc=114 dst=r0 src=r6 offset=0 imm=0
#line 121 "sample/decap_permit_packet.c"
r0 = r6;
// EBPF_OP_EXIT pc=115 dst=r0 src=r0 offset=0 imm=0
// EBPF_OP_EXIT pc=109 dst=r0 src=r0 offset=0 imm=0
#line 121 "sample/decap_permit_packet.c"
return r0;
#line 121 "sample/decap_permit_packet.c"
@ -577,7 +557,7 @@ label_3:
#line __LINE__ __FILE__
static program_entry_t _programs[] = {
{ decapsulate_permit_packet, "xdp/decapsulate_reflect", "decapsulate_permit_packet", NULL, 0, decapsulate_permit_packet_helpers, 1, 116, &decapsulate_permit_packet_program_type_guid, &decapsulate_permit_packet_attach_type_guid, },
{ decapsulate_permit_packet, "xdp/decapsulate_reflect", "decapsulate_permit_packet", NULL, 0, decapsulate_permit_packet_helpers, 1, 110, &decapsulate_permit_packet_program_type_guid, &decapsulate_permit_packet_attach_type_guid, },
};
static void _get_programs(_Outptr_result_buffer_(*count) program_entry_t** programs, _Out_ size_t* count)

Просмотреть файл

@ -200,9 +200,9 @@ label_1:
#line 69 "sample/droppacket.c"
r1 = *(uint16_t *)(uintptr_t)(r1 + OFFSET(4));
// EBPF_OP_BE pc=33 dst=r1 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 69 "sample/droppacket.c"
r1 = htobe16((uint16_t)r1);
#line 10 "bpf_endian.h"
#line 69 "sample/droppacket.c"
r1 &= UINT32_MAX;
// EBPF_OP_JGT_IMM pc=34 dst=r1 src=r0 offset=11 imm=8
#line 69 "sample/droppacket.c"

Просмотреть файл

@ -158,9 +158,9 @@ label_1:
#line 69 "sample/droppacket.c"
r1 = *(uint16_t *)(uintptr_t)(r1 + OFFSET(4));
// EBPF_OP_BE pc=33 dst=r1 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 69 "sample/droppacket.c"
r1 = htobe16((uint16_t)r1);
#line 10 "bpf_endian.h"
#line 69 "sample/droppacket.c"
r1 &= UINT32_MAX;
// EBPF_OP_JGT_IMM pc=34 dst=r1 src=r0 offset=11 imm=8
#line 69 "sample/droppacket.c"

Просмотреть файл

@ -325,9 +325,9 @@ label_1:
#line 69 "sample/droppacket.c"
r1 = *(uint16_t *)(uintptr_t)(r1 + OFFSET(4));
// EBPF_OP_BE pc=33 dst=r1 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 69 "sample/droppacket.c"
r1 = htobe16((uint16_t)r1);
#line 10 "bpf_endian.h"
#line 69 "sample/droppacket.c"
r1 &= UINT32_MAX;
// EBPF_OP_JGT_IMM pc=34 dst=r1 src=r0 offset=11 imm=8
#line 69 "sample/droppacket.c"

Просмотреть файл

@ -367,17 +367,17 @@ static uint64_t encap_reflect_packet(void* context)
#line 64 "sample/encap_reflect_packet.c"
r1 = *(uint16_t *)(uintptr_t)(r6 + OFFSET(36));
// EBPF_OP_BE pc=92 dst=r1 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 = htobe16((uint16_t)r1);
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 &= UINT32_MAX;
// EBPF_OP_ADD64_IMM pc=93 dst=r1 src=r0 offset=0 imm=20
#line 64 "sample/encap_reflect_packet.c"
r1 += IMMEDIATE(20);
// EBPF_OP_BE pc=94 dst=r1 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 = htobe16((uint16_t)r1);
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 &= UINT32_MAX;
// EBPF_OP_STXH pc=95 dst=r6 src=r1 offset=16 imm=0
#line 64 "sample/encap_reflect_packet.c"
@ -450,21 +450,21 @@ label_1:
// EBPF_OP_JGT_REG pc=116 dst=r3 src=r1 offset=180 imm=0
#line 164 "sample/encap_reflect_packet.c"
if (r3 > r1) goto label_3;
// EBPF_OP_LDXB pc=117 dst=r3 src=r2 offset=20 imm=0
#line 169 "sample/encap_reflect_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=118 dst=r3 src=r0 offset=178 imm=17
#line 169 "sample/encap_reflect_packet.c"
if (r3 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_MOV64_REG pc=119 dst=r3 src=r2 offset=0 imm=0
#line 169 "sample/encap_reflect_packet.c"
// EBPF_OP_MOV64_REG pc=117 dst=r3 src=r2 offset=0 imm=0
#line 164 "sample/encap_reflect_packet.c"
r3 = r2;
// EBPF_OP_ADD64_IMM pc=120 dst=r3 src=r0 offset=0 imm=62
#line 169 "sample/encap_reflect_packet.c"
// EBPF_OP_ADD64_IMM pc=118 dst=r3 src=r0 offset=0 imm=62
#line 164 "sample/encap_reflect_packet.c"
r3 += IMMEDIATE(62);
// EBPF_OP_JGT_REG pc=121 dst=r3 src=r1 offset=175 imm=0
// EBPF_OP_JGT_REG pc=119 dst=r3 src=r1 offset=177 imm=0
#line 169 "sample/encap_reflect_packet.c"
if (r3 > r1) goto label_3;
// EBPF_OP_LDXB pc=120 dst=r1 src=r2 offset=20 imm=0
#line 169 "sample/encap_reflect_packet.c"
r1 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=121 dst=r1 src=r0 offset=175 imm=17
#line 169 "sample/encap_reflect_packet.c"
if (r1 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_LDXH pc=122 dst=r1 src=r2 offset=56 imm=0
#line 174 "sample/encap_reflect_packet.c"
r1 = *(uint16_t *)(uintptr_t)(r2 + OFFSET(56));
@ -977,17 +977,17 @@ label_1:
#line 123 "sample/encap_reflect_packet.c"
r2 = *(uint16_t *)(uintptr_t)(r1 + OFFSET(58));
// EBPF_OP_BE pc=292 dst=r2 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 = htobe16((uint16_t)r2);
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 &= UINT32_MAX;
// EBPF_OP_ADD64_IMM pc=293 dst=r2 src=r0 offset=0 imm=40
#line 123 "sample/encap_reflect_packet.c"
r2 += IMMEDIATE(40);
// EBPF_OP_BE pc=294 dst=r2 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 = htobe16((uint16_t)r2);
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 &= UINT32_MAX;
// EBPF_OP_STXH pc=295 dst=r1 src=r2 offset=18 imm=0
#line 123 "sample/encap_reflect_packet.c"

Просмотреть файл

@ -325,17 +325,17 @@ static uint64_t encap_reflect_packet(void* context)
#line 64 "sample/encap_reflect_packet.c"
r1 = *(uint16_t *)(uintptr_t)(r6 + OFFSET(36));
// EBPF_OP_BE pc=92 dst=r1 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 = htobe16((uint16_t)r1);
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 &= UINT32_MAX;
// EBPF_OP_ADD64_IMM pc=93 dst=r1 src=r0 offset=0 imm=20
#line 64 "sample/encap_reflect_packet.c"
r1 += IMMEDIATE(20);
// EBPF_OP_BE pc=94 dst=r1 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 = htobe16((uint16_t)r1);
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 &= UINT32_MAX;
// EBPF_OP_STXH pc=95 dst=r6 src=r1 offset=16 imm=0
#line 64 "sample/encap_reflect_packet.c"
@ -408,21 +408,21 @@ label_1:
// EBPF_OP_JGT_REG pc=116 dst=r3 src=r1 offset=180 imm=0
#line 164 "sample/encap_reflect_packet.c"
if (r3 > r1) goto label_3;
// EBPF_OP_LDXB pc=117 dst=r3 src=r2 offset=20 imm=0
#line 169 "sample/encap_reflect_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=118 dst=r3 src=r0 offset=178 imm=17
#line 169 "sample/encap_reflect_packet.c"
if (r3 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_MOV64_REG pc=119 dst=r3 src=r2 offset=0 imm=0
#line 169 "sample/encap_reflect_packet.c"
// EBPF_OP_MOV64_REG pc=117 dst=r3 src=r2 offset=0 imm=0
#line 164 "sample/encap_reflect_packet.c"
r3 = r2;
// EBPF_OP_ADD64_IMM pc=120 dst=r3 src=r0 offset=0 imm=62
#line 169 "sample/encap_reflect_packet.c"
// EBPF_OP_ADD64_IMM pc=118 dst=r3 src=r0 offset=0 imm=62
#line 164 "sample/encap_reflect_packet.c"
r3 += IMMEDIATE(62);
// EBPF_OP_JGT_REG pc=121 dst=r3 src=r1 offset=175 imm=0
// EBPF_OP_JGT_REG pc=119 dst=r3 src=r1 offset=177 imm=0
#line 169 "sample/encap_reflect_packet.c"
if (r3 > r1) goto label_3;
// EBPF_OP_LDXB pc=120 dst=r1 src=r2 offset=20 imm=0
#line 169 "sample/encap_reflect_packet.c"
r1 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=121 dst=r1 src=r0 offset=175 imm=17
#line 169 "sample/encap_reflect_packet.c"
if (r1 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_LDXH pc=122 dst=r1 src=r2 offset=56 imm=0
#line 174 "sample/encap_reflect_packet.c"
r1 = *(uint16_t *)(uintptr_t)(r2 + OFFSET(56));
@ -935,17 +935,17 @@ label_1:
#line 123 "sample/encap_reflect_packet.c"
r2 = *(uint16_t *)(uintptr_t)(r1 + OFFSET(58));
// EBPF_OP_BE pc=292 dst=r2 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 = htobe16((uint16_t)r2);
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 &= UINT32_MAX;
// EBPF_OP_ADD64_IMM pc=293 dst=r2 src=r0 offset=0 imm=40
#line 123 "sample/encap_reflect_packet.c"
r2 += IMMEDIATE(40);
// EBPF_OP_BE pc=294 dst=r2 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 = htobe16((uint16_t)r2);
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 &= UINT32_MAX;
// EBPF_OP_STXH pc=295 dst=r1 src=r2 offset=18 imm=0
#line 123 "sample/encap_reflect_packet.c"

Просмотреть файл

@ -492,17 +492,17 @@ static uint64_t encap_reflect_packet(void* context)
#line 64 "sample/encap_reflect_packet.c"
r1 = *(uint16_t *)(uintptr_t)(r6 + OFFSET(36));
// EBPF_OP_BE pc=92 dst=r1 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 = htobe16((uint16_t)r1);
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 &= UINT32_MAX;
// EBPF_OP_ADD64_IMM pc=93 dst=r1 src=r0 offset=0 imm=20
#line 64 "sample/encap_reflect_packet.c"
r1 += IMMEDIATE(20);
// EBPF_OP_BE pc=94 dst=r1 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 = htobe16((uint16_t)r1);
#line 10 "bpf_endian.h"
#line 64 "sample/encap_reflect_packet.c"
r1 &= UINT32_MAX;
// EBPF_OP_STXH pc=95 dst=r6 src=r1 offset=16 imm=0
#line 64 "sample/encap_reflect_packet.c"
@ -575,21 +575,21 @@ label_1:
// EBPF_OP_JGT_REG pc=116 dst=r3 src=r1 offset=180 imm=0
#line 164 "sample/encap_reflect_packet.c"
if (r3 > r1) goto label_3;
// EBPF_OP_LDXB pc=117 dst=r3 src=r2 offset=20 imm=0
#line 169 "sample/encap_reflect_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=118 dst=r3 src=r0 offset=178 imm=17
#line 169 "sample/encap_reflect_packet.c"
if (r3 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_MOV64_REG pc=119 dst=r3 src=r2 offset=0 imm=0
#line 169 "sample/encap_reflect_packet.c"
// EBPF_OP_MOV64_REG pc=117 dst=r3 src=r2 offset=0 imm=0
#line 164 "sample/encap_reflect_packet.c"
r3 = r2;
// EBPF_OP_ADD64_IMM pc=120 dst=r3 src=r0 offset=0 imm=62
#line 169 "sample/encap_reflect_packet.c"
// EBPF_OP_ADD64_IMM pc=118 dst=r3 src=r0 offset=0 imm=62
#line 164 "sample/encap_reflect_packet.c"
r3 += IMMEDIATE(62);
// EBPF_OP_JGT_REG pc=121 dst=r3 src=r1 offset=175 imm=0
// EBPF_OP_JGT_REG pc=119 dst=r3 src=r1 offset=177 imm=0
#line 169 "sample/encap_reflect_packet.c"
if (r3 > r1) goto label_3;
// EBPF_OP_LDXB pc=120 dst=r1 src=r2 offset=20 imm=0
#line 169 "sample/encap_reflect_packet.c"
r1 = *(uint8_t *)(uintptr_t)(r2 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=121 dst=r1 src=r0 offset=175 imm=17
#line 169 "sample/encap_reflect_packet.c"
if (r1 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_LDXH pc=122 dst=r1 src=r2 offset=56 imm=0
#line 174 "sample/encap_reflect_packet.c"
r1 = *(uint16_t *)(uintptr_t)(r2 + OFFSET(56));
@ -1102,17 +1102,17 @@ label_1:
#line 123 "sample/encap_reflect_packet.c"
r2 = *(uint16_t *)(uintptr_t)(r1 + OFFSET(58));
// EBPF_OP_BE pc=292 dst=r2 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 = htobe16((uint16_t)r2);
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 &= UINT32_MAX;
// EBPF_OP_ADD64_IMM pc=293 dst=r2 src=r0 offset=0 imm=40
#line 123 "sample/encap_reflect_packet.c"
r2 += IMMEDIATE(40);
// EBPF_OP_BE pc=294 dst=r2 src=r0 offset=0 imm=16
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 = htobe16((uint16_t)r2);
#line 10 "bpf_endian.h"
#line 123 "sample/encap_reflect_packet.c"
r2 &= UINT32_MAX;
// EBPF_OP_STXH pc=295 dst=r1 src=r2 offset=18 imm=0
#line 123 "sample/encap_reflect_packet.c"

Просмотреть файл

@ -134,9 +134,9 @@ static uint64_t test_maps(void* context)
// EBPF_OP_MOV64_IMM pc=2 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=3 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=3 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=4 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -146,9 +146,9 @@ static uint64_t test_maps(void* context)
// EBPF_OP_MOV64_REG pc=6 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=7 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=7 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=8 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[1].address);
@ -420,9 +420,9 @@ label_7:
// EBPF_OP_MOV64_IMM pc=106 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=107 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=107 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=108 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -432,9 +432,9 @@ label_7:
// EBPF_OP_MOV64_REG pc=110 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=111 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=111 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=112 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[2].address);
@ -700,9 +700,9 @@ label_12:
// EBPF_OP_MOV64_IMM pc=211 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=212 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=212 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=213 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -712,9 +712,9 @@ label_12:
// EBPF_OP_MOV64_REG pc=215 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=216 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=216 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=217 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[3].address);
@ -980,9 +980,9 @@ label_17:
// EBPF_OP_MOV64_IMM pc=315 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=316 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=316 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=317 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -992,9 +992,9 @@ label_17:
// EBPF_OP_MOV64_REG pc=319 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=320 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=320 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=321 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[4].address);
@ -1260,9 +1260,9 @@ label_22:
// EBPF_OP_MOV64_IMM pc=420 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=421 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=421 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=422 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -1272,9 +1272,9 @@ label_22:
// EBPF_OP_MOV64_REG pc=424 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=425 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=425 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=426 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[5].address);
@ -1534,9 +1534,9 @@ label_27:
// EBPF_OP_MOV64_IMM pc=523 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=524 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=524 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=525 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -1546,9 +1546,9 @@ label_27:
// EBPF_OP_MOV64_REG pc=527 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=528 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=528 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=529 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[6].address);
@ -1814,9 +1814,9 @@ label_32:
// EBPF_OP_MOV64_IMM pc=629 dst=r1 src=r0 offset=0 imm=1
#line 181 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=630 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=630 dst=r10 src=r1 offset=-68 imm=0
#line 81 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_IMM pc=631 dst=r9 src=r0 offset=0 imm=11
#line 81 "sample/map.c"
r9 = IMMEDIATE(11);
@ -1830,9 +1830,9 @@ label_33:
// EBPF_OP_MOV64_REG pc=634 dst=r3 src=r10 offset=0 imm=0
#line 81 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=635 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=635 dst=r3 src=r0 offset=0 imm=-68
#line 81 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=636 dst=r1 src=r0 offset=0 imm=0
#line 86 "sample/map.c"
r1 = POINTER(_maps[5].address);
@ -1888,9 +1888,9 @@ label_33:
// EBPF_OP_MOV64_IMM pc=653 dst=r1 src=r0 offset=0 imm=1
#line 85 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=654 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=654 dst=r10 src=r1 offset=-68 imm=0
#line 81 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_IMM pc=655 dst=r9 src=r0 offset=0 imm=11
#line 81 "sample/map.c"
r9 = IMMEDIATE(11);
@ -1904,9 +1904,9 @@ label_34:
// EBPF_OP_MOV64_REG pc=658 dst=r3 src=r10 offset=0 imm=0
#line 81 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=659 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=659 dst=r3 src=r0 offset=0 imm=-68
#line 81 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=660 dst=r1 src=r0 offset=0 imm=0
#line 86 "sample/map.c"
r1 = POINTER(_maps[6].address);

Просмотреть файл

@ -92,9 +92,9 @@ static uint64_t test_maps(void* context)
// EBPF_OP_MOV64_IMM pc=2 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=3 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=3 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=4 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -104,9 +104,9 @@ static uint64_t test_maps(void* context)
// EBPF_OP_MOV64_REG pc=6 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=7 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=7 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=8 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[1].address);
@ -378,9 +378,9 @@ label_7:
// EBPF_OP_MOV64_IMM pc=106 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=107 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=107 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=108 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -390,9 +390,9 @@ label_7:
// EBPF_OP_MOV64_REG pc=110 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=111 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=111 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=112 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[2].address);
@ -658,9 +658,9 @@ label_12:
// EBPF_OP_MOV64_IMM pc=211 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=212 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=212 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=213 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -670,9 +670,9 @@ label_12:
// EBPF_OP_MOV64_REG pc=215 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=216 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=216 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=217 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[3].address);
@ -938,9 +938,9 @@ label_17:
// EBPF_OP_MOV64_IMM pc=315 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=316 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=316 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=317 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -950,9 +950,9 @@ label_17:
// EBPF_OP_MOV64_REG pc=319 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=320 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=320 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=321 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[4].address);
@ -1218,9 +1218,9 @@ label_22:
// EBPF_OP_MOV64_IMM pc=420 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=421 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=421 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=422 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -1230,9 +1230,9 @@ label_22:
// EBPF_OP_MOV64_REG pc=424 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=425 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=425 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=426 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[5].address);
@ -1492,9 +1492,9 @@ label_27:
// EBPF_OP_MOV64_IMM pc=523 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=524 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=524 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=525 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -1504,9 +1504,9 @@ label_27:
// EBPF_OP_MOV64_REG pc=527 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=528 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=528 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=529 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[6].address);
@ -1772,9 +1772,9 @@ label_32:
// EBPF_OP_MOV64_IMM pc=629 dst=r1 src=r0 offset=0 imm=1
#line 181 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=630 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=630 dst=r10 src=r1 offset=-68 imm=0
#line 81 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_IMM pc=631 dst=r9 src=r0 offset=0 imm=11
#line 81 "sample/map.c"
r9 = IMMEDIATE(11);
@ -1788,9 +1788,9 @@ label_33:
// EBPF_OP_MOV64_REG pc=634 dst=r3 src=r10 offset=0 imm=0
#line 81 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=635 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=635 dst=r3 src=r0 offset=0 imm=-68
#line 81 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=636 dst=r1 src=r0 offset=0 imm=0
#line 86 "sample/map.c"
r1 = POINTER(_maps[5].address);
@ -1846,9 +1846,9 @@ label_33:
// EBPF_OP_MOV64_IMM pc=653 dst=r1 src=r0 offset=0 imm=1
#line 85 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=654 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=654 dst=r10 src=r1 offset=-68 imm=0
#line 81 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_IMM pc=655 dst=r9 src=r0 offset=0 imm=11
#line 81 "sample/map.c"
r9 = IMMEDIATE(11);
@ -1862,9 +1862,9 @@ label_34:
// EBPF_OP_MOV64_REG pc=658 dst=r3 src=r10 offset=0 imm=0
#line 81 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=659 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=659 dst=r3 src=r0 offset=0 imm=-68
#line 81 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=660 dst=r1 src=r0 offset=0 imm=0
#line 86 "sample/map.c"
r1 = POINTER(_maps[6].address);

Просмотреть файл

@ -259,9 +259,9 @@ static uint64_t test_maps(void* context)
// EBPF_OP_MOV64_IMM pc=2 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=3 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=3 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=4 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -271,9 +271,9 @@ static uint64_t test_maps(void* context)
// EBPF_OP_MOV64_REG pc=6 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=7 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=7 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=8 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[1].address);
@ -545,9 +545,9 @@ label_7:
// EBPF_OP_MOV64_IMM pc=106 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=107 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=107 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=108 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -557,9 +557,9 @@ label_7:
// EBPF_OP_MOV64_REG pc=110 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=111 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=111 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=112 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[2].address);
@ -825,9 +825,9 @@ label_12:
// EBPF_OP_MOV64_IMM pc=211 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=212 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=212 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=213 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -837,9 +837,9 @@ label_12:
// EBPF_OP_MOV64_REG pc=215 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=216 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=216 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=217 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[3].address);
@ -1105,9 +1105,9 @@ label_17:
// EBPF_OP_MOV64_IMM pc=315 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=316 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=316 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=317 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -1117,9 +1117,9 @@ label_17:
// EBPF_OP_MOV64_REG pc=319 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=320 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=320 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=321 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[4].address);
@ -1385,9 +1385,9 @@ label_22:
// EBPF_OP_MOV64_IMM pc=420 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=421 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=421 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=422 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -1397,9 +1397,9 @@ label_22:
// EBPF_OP_MOV64_REG pc=424 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=425 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=425 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=426 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[5].address);
@ -1659,9 +1659,9 @@ label_27:
// EBPF_OP_MOV64_IMM pc=523 dst=r1 src=r0 offset=0 imm=1
#line 52 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=524 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=524 dst=r10 src=r1 offset=-68 imm=0
#line 53 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=525 dst=r2 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r2 = r10;
@ -1671,9 +1671,9 @@ label_27:
// EBPF_OP_MOV64_REG pc=527 dst=r3 src=r10 offset=0 imm=0
#line 53 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=528 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=528 dst=r3 src=r0 offset=0 imm=-68
#line 53 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=529 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/map.c"
r1 = POINTER(_maps[6].address);
@ -1939,9 +1939,9 @@ label_32:
// EBPF_OP_MOV64_IMM pc=629 dst=r1 src=r0 offset=0 imm=1
#line 181 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=630 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=630 dst=r10 src=r1 offset=-68 imm=0
#line 81 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_IMM pc=631 dst=r9 src=r0 offset=0 imm=11
#line 81 "sample/map.c"
r9 = IMMEDIATE(11);
@ -1955,9 +1955,9 @@ label_33:
// EBPF_OP_MOV64_REG pc=634 dst=r3 src=r10 offset=0 imm=0
#line 81 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=635 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=635 dst=r3 src=r0 offset=0 imm=-68
#line 81 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=636 dst=r1 src=r0 offset=0 imm=0
#line 86 "sample/map.c"
r1 = POINTER(_maps[5].address);
@ -2013,9 +2013,9 @@ label_33:
// EBPF_OP_MOV64_IMM pc=653 dst=r1 src=r0 offset=0 imm=1
#line 85 "sample/map.c"
r1 = IMMEDIATE(1);
// EBPF_OP_STXW pc=654 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=654 dst=r10 src=r1 offset=-68 imm=0
#line 81 "sample/map.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-68)) = (uint32_t)r1;
// EBPF_OP_MOV64_IMM pc=655 dst=r9 src=r0 offset=0 imm=11
#line 81 "sample/map.c"
r9 = IMMEDIATE(11);
@ -2029,9 +2029,9 @@ label_34:
// EBPF_OP_MOV64_REG pc=658 dst=r3 src=r10 offset=0 imm=0
#line 81 "sample/map.c"
r3 = r10;
// EBPF_OP_ADD64_IMM pc=659 dst=r3 src=r0 offset=0 imm=-8
// EBPF_OP_ADD64_IMM pc=659 dst=r3 src=r0 offset=0 imm=-68
#line 81 "sample/map.c"
r3 += IMMEDIATE(-8);
r3 += IMMEDIATE(-68);
// EBPF_OP_LDDW pc=660 dst=r1 src=r0 offset=0 imm=0
#line 86 "sample/map.c"
r1 = POINTER(_maps[6].address);

Просмотреть файл

@ -284,21 +284,21 @@ label_1:
// EBPF_OP_JGT_REG pc=66 dst=r3 src=r2 offset=142 imm=0
#line 52 "sample/reflect_packet.c"
if (r3 > r2) goto label_3;
// EBPF_OP_LDXB pc=67 dst=r3 src=r1 offset=20 imm=0
#line 57 "sample/reflect_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r1 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=68 dst=r3 src=r0 offset=140 imm=17
#line 57 "sample/reflect_packet.c"
if (r3 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_MOV64_REG pc=69 dst=r3 src=r1 offset=0 imm=0
#line 57 "sample/reflect_packet.c"
// EBPF_OP_MOV64_REG pc=67 dst=r3 src=r1 offset=0 imm=0
#line 52 "sample/reflect_packet.c"
r3 = r1;
// EBPF_OP_ADD64_IMM pc=70 dst=r3 src=r0 offset=0 imm=62
#line 57 "sample/reflect_packet.c"
// EBPF_OP_ADD64_IMM pc=68 dst=r3 src=r0 offset=0 imm=62
#line 52 "sample/reflect_packet.c"
r3 += IMMEDIATE(62);
// EBPF_OP_JGT_REG pc=71 dst=r3 src=r2 offset=137 imm=0
// EBPF_OP_JGT_REG pc=69 dst=r3 src=r2 offset=139 imm=0
#line 57 "sample/reflect_packet.c"
if (r3 > r2) goto label_3;
// EBPF_OP_LDXB pc=70 dst=r2 src=r1 offset=20 imm=0
#line 57 "sample/reflect_packet.c"
r2 = *(uint8_t *)(uintptr_t)(r1 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=71 dst=r2 src=r0 offset=137 imm=17
#line 57 "sample/reflect_packet.c"
if (r2 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_LDXH pc=72 dst=r2 src=r1 offset=56 imm=0
#line 62 "sample/reflect_packet.c"
r2 = *(uint16_t *)(uintptr_t)(r1 + OFFSET(56));
@ -713,9 +713,9 @@ label_2:
r0 = IMMEDIATE(3);
label_3:
// EBPF_OP_EXIT pc=209 dst=r0 src=r0 offset=0 imm=0
#line 73 "sample/reflect_packet.c"
#line 34 "sample/./xdp_common.h"
return r0;
#line 73 "sample/reflect_packet.c"
#line 34 "sample/./xdp_common.h"
}
#line __LINE__ __FILE__

Просмотреть файл

@ -242,21 +242,21 @@ label_1:
// EBPF_OP_JGT_REG pc=66 dst=r3 src=r2 offset=142 imm=0
#line 52 "sample/reflect_packet.c"
if (r3 > r2) goto label_3;
// EBPF_OP_LDXB pc=67 dst=r3 src=r1 offset=20 imm=0
#line 57 "sample/reflect_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r1 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=68 dst=r3 src=r0 offset=140 imm=17
#line 57 "sample/reflect_packet.c"
if (r3 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_MOV64_REG pc=69 dst=r3 src=r1 offset=0 imm=0
#line 57 "sample/reflect_packet.c"
// EBPF_OP_MOV64_REG pc=67 dst=r3 src=r1 offset=0 imm=0
#line 52 "sample/reflect_packet.c"
r3 = r1;
// EBPF_OP_ADD64_IMM pc=70 dst=r3 src=r0 offset=0 imm=62
#line 57 "sample/reflect_packet.c"
// EBPF_OP_ADD64_IMM pc=68 dst=r3 src=r0 offset=0 imm=62
#line 52 "sample/reflect_packet.c"
r3 += IMMEDIATE(62);
// EBPF_OP_JGT_REG pc=71 dst=r3 src=r2 offset=137 imm=0
// EBPF_OP_JGT_REG pc=69 dst=r3 src=r2 offset=139 imm=0
#line 57 "sample/reflect_packet.c"
if (r3 > r2) goto label_3;
// EBPF_OP_LDXB pc=70 dst=r2 src=r1 offset=20 imm=0
#line 57 "sample/reflect_packet.c"
r2 = *(uint8_t *)(uintptr_t)(r1 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=71 dst=r2 src=r0 offset=137 imm=17
#line 57 "sample/reflect_packet.c"
if (r2 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_LDXH pc=72 dst=r2 src=r1 offset=56 imm=0
#line 62 "sample/reflect_packet.c"
r2 = *(uint16_t *)(uintptr_t)(r1 + OFFSET(56));
@ -671,9 +671,9 @@ label_2:
r0 = IMMEDIATE(3);
label_3:
// EBPF_OP_EXIT pc=209 dst=r0 src=r0 offset=0 imm=0
#line 73 "sample/reflect_packet.c"
#line 34 "sample/./xdp_common.h"
return r0;
#line 73 "sample/reflect_packet.c"
#line 34 "sample/./xdp_common.h"
}
#line __LINE__ __FILE__

Просмотреть файл

@ -409,21 +409,21 @@ label_1:
// EBPF_OP_JGT_REG pc=66 dst=r3 src=r2 offset=142 imm=0
#line 52 "sample/reflect_packet.c"
if (r3 > r2) goto label_3;
// EBPF_OP_LDXB pc=67 dst=r3 src=r1 offset=20 imm=0
#line 57 "sample/reflect_packet.c"
r3 = *(uint8_t *)(uintptr_t)(r1 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=68 dst=r3 src=r0 offset=140 imm=17
#line 57 "sample/reflect_packet.c"
if (r3 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_MOV64_REG pc=69 dst=r3 src=r1 offset=0 imm=0
#line 57 "sample/reflect_packet.c"
// EBPF_OP_MOV64_REG pc=67 dst=r3 src=r1 offset=0 imm=0
#line 52 "sample/reflect_packet.c"
r3 = r1;
// EBPF_OP_ADD64_IMM pc=70 dst=r3 src=r0 offset=0 imm=62
#line 57 "sample/reflect_packet.c"
// EBPF_OP_ADD64_IMM pc=68 dst=r3 src=r0 offset=0 imm=62
#line 52 "sample/reflect_packet.c"
r3 += IMMEDIATE(62);
// EBPF_OP_JGT_REG pc=71 dst=r3 src=r2 offset=137 imm=0
// EBPF_OP_JGT_REG pc=69 dst=r3 src=r2 offset=139 imm=0
#line 57 "sample/reflect_packet.c"
if (r3 > r2) goto label_3;
// EBPF_OP_LDXB pc=70 dst=r2 src=r1 offset=20 imm=0
#line 57 "sample/reflect_packet.c"
r2 = *(uint8_t *)(uintptr_t)(r1 + OFFSET(20));
// EBPF_OP_JNE_IMM pc=71 dst=r2 src=r0 offset=137 imm=17
#line 57 "sample/reflect_packet.c"
if (r2 != IMMEDIATE(17)) goto label_3;
// EBPF_OP_LDXH pc=72 dst=r2 src=r1 offset=56 imm=0
#line 62 "sample/reflect_packet.c"
r2 = *(uint16_t *)(uintptr_t)(r1 + OFFSET(56));
@ -838,9 +838,9 @@ label_2:
r0 = IMMEDIATE(3);
label_3:
// EBPF_OP_EXIT pc=209 dst=r0 src=r0 offset=0 imm=0
#line 73 "sample/reflect_packet.c"
#line 34 "sample/./xdp_common.h"
return r0;
#line 73 "sample/reflect_packet.c"
#line 34 "sample/./xdp_common.h"
}
#line __LINE__ __FILE__

Просмотреть файл

@ -123,7 +123,7 @@ static uint64_t connection_monitor(void* context)
// EBPF_OP_LDDW pc=5 dst=r6 src=r0 offset=0 imm=-1
#line 70 "sample/sockops.c"
r6 = (uint64_t)4294967295;
// EBPF_OP_JNE_IMM pc=7 dst=r2 src=r0 offset=212 imm=1
// EBPF_OP_JNE_IMM pc=7 dst=r2 src=r0 offset=214 imm=1
#line 70 "sample/sockops.c"
if (r2 != IMMEDIATE(1)) goto label_13;
// EBPF_OP_MOV64_IMM pc=8 dst=r4 src=r0 offset=0 imm=0
@ -186,7 +186,7 @@ label_2:
#line 22 "sample/sockops.c"
r2 = IMMEDIATE(28);
// EBPF_OP_MOV64_IMM pc=27 dst=r5 src=r0 offset=0 imm=8
#line 22 "sample/sockops.c"
#line 24 "sample/sockops.c"
r5 = IMMEDIATE(8);
// EBPF_OP_JNE_IMM pc=28 dst=r4 src=r0 offset=1 imm=0
#line 24 "sample/sockops.c"
@ -211,7 +211,7 @@ label_3:
#line 24 "sample/sockops.c"
r0 = IMMEDIATE(44);
// EBPF_OP_MOV64_IMM pc=35 dst=r3 src=r0 offset=0 imm=24
#line 24 "sample/sockops.c"
#line 25 "sample/sockops.c"
r3 = IMMEDIATE(24);
// EBPF_OP_JNE_IMM pc=36 dst=r4 src=r0 offset=1 imm=0
#line 25 "sample/sockops.c"
@ -298,10 +298,10 @@ label_6:
(r1, r2, r3, r4, r5);
#line 32 "sample/sockops.c"
if ((connection_monitor_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_JEQ_IMM pc=63 dst=r0 src=r0 offset=156 imm=0
// EBPF_OP_JEQ_IMM pc=63 dst=r0 src=r0 offset=158 imm=0
#line 32 "sample/sockops.c"
if (r0 == IMMEDIATE(0)) goto label_13;
// EBPF_OP_JA pc=64 dst=r0 src=r0 offset=147 imm=0
// EBPF_OP_JA pc=64 dst=r0 src=r0 offset=149 imm=0
#line 32 "sample/sockops.c"
goto label_12;
label_7:
@ -329,459 +329,465 @@ label_7:
// EBPF_OP_ADD64_IMM pc=72 dst=r3 src=r0 offset=0 imm=28
#line 46 "sample/sockops.c"
r3 += IMMEDIATE(28);
// EBPF_OP_STXDW pc=73 dst=r10 src=r1 offset=-72 imm=0
// EBPF_OP_STXDW pc=73 dst=r10 src=r1 offset=-80 imm=0
#line 46 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
// EBPF_OP_ADD64_IMM pc=74 dst=r1 src=r0 offset=0 imm=8
#line 46 "sample/sockops.c"
r1 += IMMEDIATE(8);
// EBPF_OP_MOV64_REG pc=75 dst=r0 src=r1 offset=0 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-80)) = (uint64_t)r1;
// EBPF_OP_MOV64_REG pc=74 dst=r0 src=r1 offset=0 imm=0
#line 46 "sample/sockops.c"
r0 = r1;
// EBPF_OP_JNE_IMM pc=76 dst=r4 src=r0 offset=1 imm=0
// EBPF_OP_ADD64_IMM pc=75 dst=r0 src=r0 offset=0 imm=8
#line 46 "sample/sockops.c"
r0 += IMMEDIATE(8);
// EBPF_OP_STXDW pc=76 dst=r10 src=r0 offset=-104 imm=0
#line 46 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-104)) = (uint64_t)r0;
// EBPF_OP_JNE_IMM pc=77 dst=r4 src=r0 offset=1 imm=0
#line 46 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_8;
// EBPF_OP_MOV64_REG pc=77 dst=r0 src=r3 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=78 dst=r0 src=r3 offset=0 imm=0
#line 46 "sample/sockops.c"
r0 = r3;
label_8:
// EBPF_OP_LDXB pc=78 dst=r2 src=r0 offset=13 imm=0
// EBPF_OP_LDXB pc=79 dst=r2 src=r0 offset=13 imm=0
#line 47 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(13));
// EBPF_OP_LSH64_IMM pc=79 dst=r2 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=80 dst=r2 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r2 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=80 dst=r5 src=r0 offset=12 imm=0
// EBPF_OP_LDXB pc=81 dst=r1 src=r0 offset=12 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(12));
// EBPF_OP_STXDW pc=81 dst=r10 src=r5 offset=-64 imm=0
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(12));
// EBPF_OP_STXDW pc=82 dst=r10 src=r1 offset=-64 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r5;
// EBPF_OP_LDXB pc=82 dst=r8 src=r0 offset=15 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
// EBPF_OP_LDXB pc=83 dst=r8 src=r0 offset=15 imm=0
#line 47 "sample/sockops.c"
r8 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(15));
// EBPF_OP_LSH64_IMM pc=83 dst=r8 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=84 dst=r8 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r8 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=84 dst=r5 src=r0 offset=14 imm=0
// EBPF_OP_LDXB pc=85 dst=r5 src=r0 offset=14 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(14));
// EBPF_OP_OR64_REG pc=85 dst=r8 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=86 dst=r8 src=r5 offset=0 imm=0
#line 47 "sample/sockops.c"
r8 |= r5;
// EBPF_OP_LDXB pc=86 dst=r6 src=r0 offset=9 imm=0
// EBPF_OP_LDXB pc=87 dst=r6 src=r0 offset=9 imm=0
#line 47 "sample/sockops.c"
r6 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(9));
// EBPF_OP_LSH64_IMM pc=87 dst=r6 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=88 dst=r6 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r6 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=88 dst=r5 src=r0 offset=8 imm=0
// EBPF_OP_LDXB pc=89 dst=r1 src=r0 offset=8 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(8));
// EBPF_OP_STXDW pc=89 dst=r10 src=r5 offset=-80 imm=0
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(8));
// EBPF_OP_STXDW pc=90 dst=r10 src=r1 offset=-72 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-80)) = (uint64_t)r5;
// EBPF_OP_LDXB pc=90 dst=r9 src=r0 offset=11 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
// EBPF_OP_LDXB pc=91 dst=r9 src=r0 offset=11 imm=0
#line 47 "sample/sockops.c"
r9 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(11));
// EBPF_OP_LSH64_IMM pc=91 dst=r9 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=92 dst=r9 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r9 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=92 dst=r5 src=r0 offset=10 imm=0
// EBPF_OP_LDXB pc=93 dst=r5 src=r0 offset=10 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(10));
// EBPF_OP_OR64_REG pc=93 dst=r9 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=94 dst=r9 src=r5 offset=0 imm=0
#line 47 "sample/sockops.c"
r9 |= r5;
// EBPF_OP_LDXB pc=94 dst=r5 src=r0 offset=1 imm=0
// EBPF_OP_LDXB pc=95 dst=r5 src=r0 offset=1 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(1));
// EBPF_OP_LDXB pc=95 dst=r7 src=r0 offset=3 imm=0
// EBPF_OP_LDXB pc=96 dst=r7 src=r0 offset=0 imm=0
#line 47 "sample/sockops.c"
r7 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(0));
// EBPF_OP_STXDW pc=97 dst=r10 src=r7 offset=-88 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-88)) = (uint64_t)r7;
// EBPF_OP_LDXB pc=98 dst=r7 src=r0 offset=3 imm=0
#line 47 "sample/sockops.c"
r7 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(3));
// EBPF_OP_JNE_IMM pc=96 dst=r4 src=r0 offset=1 imm=0
#line 48 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_9;
// EBPF_OP_MOV64_REG pc=97 dst=r3 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r3 = r1;
label_9:
// EBPF_OP_LDXDW pc=98 dst=r1 src=r10 offset=-64 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_OR64_REG pc=99 dst=r2 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r2 |= r1;
// EBPF_OP_LDXDW pc=100 dst=r1 src=r10 offset=-80 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-80));
// EBPF_OP_OR64_REG pc=101 dst=r6 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r6 |= r1;
// EBPF_OP_LSH64_IMM pc=102 dst=r9 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r9 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=103 dst=r8 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r8 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=104 dst=r5 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=105 dst=r1 src=r0 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(0));
// EBPF_OP_STXDW pc=106 dst=r10 src=r1 offset=-88 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-88)) = (uint64_t)r1;
// EBPF_OP_LSH64_IMM pc=107 dst=r7 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r7 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=108 dst=r1 src=r0 offset=2 imm=0
#line 48 "sample/sockops.c"
// EBPF_OP_LDXB pc=99 dst=r1 src=r0 offset=2 imm=0
#line 47 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(2));
// EBPF_OP_STXDW pc=109 dst=r10 src=r1 offset=-96 imm=0
// EBPF_OP_STXDW pc=100 dst=r10 src=r1 offset=-96 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-96)) = (uint64_t)r1;
// EBPF_OP_MOV64_IMM pc=110 dst=r1 src=r0 offset=0 imm=44
// EBPF_OP_JNE_IMM pc=101 dst=r4 src=r0 offset=1 imm=0
#line 48 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_9;
// EBPF_OP_LDXDW pc=102 dst=r3 src=r10 offset=-104 imm=0
#line 48 "sample/sockops.c"
r3 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-104));
label_9:
// EBPF_OP_LDXDW pc=103 dst=r1 src=r10 offset=-64 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_OR64_REG pc=104 dst=r2 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r2 |= r1;
// EBPF_OP_LDXDW pc=105 dst=r1 src=r10 offset=-72 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-72));
// EBPF_OP_OR64_REG pc=106 dst=r6 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r6 |= r1;
// EBPF_OP_LSH64_IMM pc=107 dst=r9 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r9 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=108 dst=r8 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r8 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=109 dst=r5 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LSH64_IMM pc=110 dst=r7 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r7 <<= IMMEDIATE(8);
// EBPF_OP_MOV64_IMM pc=111 dst=r1 src=r0 offset=0 imm=44
#line 48 "sample/sockops.c"
r1 = IMMEDIATE(44);
// EBPF_OP_STXDW pc=111 dst=r10 src=r1 offset=-64 imm=0
// EBPF_OP_STXDW pc=112 dst=r10 src=r1 offset=-72 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
// EBPF_OP_MOV64_IMM pc=112 dst=r1 src=r0 offset=0 imm=24
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
// EBPF_OP_MOV64_IMM pc=113 dst=r1 src=r0 offset=0 imm=24
#line 48 "sample/sockops.c"
r1 = IMMEDIATE(24);
// EBPF_OP_JNE_IMM pc=113 dst=r4 src=r0 offset=1 imm=0
// EBPF_OP_STXDW pc=114 dst=r10 src=r1 offset=-64 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
// EBPF_OP_JNE_IMM pc=115 dst=r4 src=r0 offset=2 imm=0
#line 48 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_10;
// EBPF_OP_MOV64_IMM pc=114 dst=r1 src=r0 offset=0 imm=44
// EBPF_OP_MOV64_IMM pc=116 dst=r1 src=r0 offset=0 imm=44
#line 48 "sample/sockops.c"
r1 = IMMEDIATE(44);
label_10:
// EBPF_OP_STXDW pc=115 dst=r10 src=r1 offset=-80 imm=0
// EBPF_OP_STXDW pc=117 dst=r10 src=r1 offset=-64 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-80)) = (uint64_t)r1;
// EBPF_OP_OR64_REG pc=116 dst=r9 src=r6 offset=0 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
label_10:
// EBPF_OP_OR64_REG pc=118 dst=r9 src=r6 offset=0 imm=0
#line 48 "sample/sockops.c"
r9 |= r6;
// EBPF_OP_OR64_REG pc=117 dst=r8 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=119 dst=r8 src=r2 offset=0 imm=0
#line 48 "sample/sockops.c"
r8 |= r2;
// EBPF_OP_LDXDW pc=118 dst=r1 src=r10 offset=-88 imm=0
// EBPF_OP_LDXDW pc=120 dst=r1 src=r10 offset=-88 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-88));
// EBPF_OP_OR64_REG pc=119 dst=r5 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=121 dst=r5 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r5 |= r1;
// EBPF_OP_LDXDW pc=120 dst=r1 src=r10 offset=-96 imm=0
// EBPF_OP_LDXDW pc=122 dst=r1 src=r10 offset=-96 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-96));
// EBPF_OP_OR64_REG pc=121 dst=r7 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=123 dst=r7 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r7 |= r1;
// EBPF_OP_JNE_IMM pc=122 dst=r4 src=r0 offset=2 imm=0
// EBPF_OP_JNE_IMM pc=124 dst=r4 src=r0 offset=2 imm=0
#line 51 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_11;
// EBPF_OP_MOV64_IMM pc=123 dst=r1 src=r0 offset=0 imm=24
// EBPF_OP_MOV64_IMM pc=125 dst=r1 src=r0 offset=0 imm=24
#line 51 "sample/sockops.c"
r1 = IMMEDIATE(24);
// EBPF_OP_STXDW pc=124 dst=r10 src=r1 offset=-64 imm=0
// EBPF_OP_STXDW pc=126 dst=r10 src=r1 offset=-72 imm=0
#line 51 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
label_11:
// EBPF_OP_LDXDW pc=125 dst=r1 src=r10 offset=-56 imm=0
// EBPF_OP_LDXDW pc=127 dst=r2 src=r10 offset=-56 imm=0
#line 51 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-56));
// EBPF_OP_OR64_REG pc=126 dst=r1 src=r4 offset=0 imm=0
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-56));
// EBPF_OP_OR64_REG pc=128 dst=r2 src=r4 offset=0 imm=0
#line 53 "sample/sockops.c"
r1 |= r4;
// EBPF_OP_STXDW pc=127 dst=r10 src=r1 offset=-56 imm=0
r2 |= r4;
// EBPF_OP_STXDW pc=129 dst=r10 src=r2 offset=-56 imm=0
#line 53 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-56)) = (uint64_t)r1;
// EBPF_OP_LSH64_IMM pc=128 dst=r8 src=r0 offset=0 imm=32
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-56)) = (uint64_t)r2;
// EBPF_OP_LSH64_IMM pc=130 dst=r8 src=r0 offset=0 imm=32
#line 47 "sample/sockops.c"
r8 <<= IMMEDIATE(32);
// EBPF_OP_OR64_REG pc=129 dst=r8 src=r9 offset=0 imm=0
// EBPF_OP_OR64_REG pc=131 dst=r8 src=r9 offset=0 imm=0
#line 47 "sample/sockops.c"
r8 |= r9;
// EBPF_OP_STXDW pc=130 dst=r10 src=r8 offset=-40 imm=0
// EBPF_OP_STXDW pc=132 dst=r10 src=r8 offset=-40 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-40)) = (uint64_t)r8;
// EBPF_OP_LSH64_IMM pc=131 dst=r7 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=133 dst=r7 src=r0 offset=0 imm=16
#line 47 "sample/sockops.c"
r7 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=132 dst=r7 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=134 dst=r7 src=r5 offset=0 imm=0
#line 47 "sample/sockops.c"
r7 |= r5;
// EBPF_OP_LDXB pc=133 dst=r1 src=r0 offset=5 imm=0
// EBPF_OP_LDXB pc=135 dst=r1 src=r0 offset=5 imm=0
#line 47 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(5));
// EBPF_OP_LSH64_IMM pc=134 dst=r1 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=136 dst=r1 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r1 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=135 dst=r2 src=r0 offset=4 imm=0
// EBPF_OP_LDXB pc=137 dst=r2 src=r0 offset=4 imm=0
#line 47 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(4));
// EBPF_OP_OR64_REG pc=136 dst=r1 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=138 dst=r1 src=r2 offset=0 imm=0
#line 47 "sample/sockops.c"
r1 |= r2;
// EBPF_OP_LDXB pc=137 dst=r2 src=r0 offset=6 imm=0
// EBPF_OP_LDXB pc=139 dst=r2 src=r0 offset=6 imm=0
#line 47 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(6));
// EBPF_OP_LDXB pc=138 dst=r4 src=r0 offset=7 imm=0
// EBPF_OP_LDXB pc=140 dst=r4 src=r0 offset=7 imm=0
#line 47 "sample/sockops.c"
r4 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(7));
// EBPF_OP_LSH64_IMM pc=139 dst=r4 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=141 dst=r4 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r4 <<= IMMEDIATE(8);
// EBPF_OP_OR64_REG pc=140 dst=r4 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=142 dst=r4 src=r2 offset=0 imm=0
#line 47 "sample/sockops.c"
r4 |= r2;
// EBPF_OP_LSH64_IMM pc=141 dst=r4 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=143 dst=r4 src=r0 offset=0 imm=16
#line 47 "sample/sockops.c"
r4 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=142 dst=r4 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=144 dst=r4 src=r1 offset=0 imm=0
#line 47 "sample/sockops.c"
r4 |= r1;
// EBPF_OP_LSH64_IMM pc=143 dst=r4 src=r0 offset=0 imm=32
// EBPF_OP_LSH64_IMM pc=145 dst=r4 src=r0 offset=0 imm=32
#line 47 "sample/sockops.c"
r4 <<= IMMEDIATE(32);
// EBPF_OP_OR64_REG pc=144 dst=r4 src=r7 offset=0 imm=0
// EBPF_OP_OR64_REG pc=146 dst=r4 src=r7 offset=0 imm=0
#line 47 "sample/sockops.c"
r4 |= r7;
// EBPF_OP_STXDW pc=145 dst=r10 src=r4 offset=-48 imm=0
// EBPF_OP_STXDW pc=147 dst=r10 src=r4 offset=-48 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-48)) = (uint64_t)r4;
// EBPF_OP_LDXDW pc=146 dst=r6 src=r10 offset=-72 imm=0
// EBPF_OP_LDXDW pc=148 dst=r6 src=r10 offset=-80 imm=0
#line 47 "sample/sockops.c"
r6 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-72));
// EBPF_OP_MOV64_REG pc=147 dst=r1 src=r6 offset=0 imm=0
r6 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-80));
// EBPF_OP_MOV64_REG pc=149 dst=r1 src=r6 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 = r6;
// EBPF_OP_LDXDW pc=148 dst=r2 src=r10 offset=-80 imm=0
// EBPF_OP_LDXDW pc=150 dst=r2 src=r10 offset=-64 imm=0
#line 48 "sample/sockops.c"
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-80));
// EBPF_OP_ADD64_REG pc=149 dst=r1 src=r2 offset=0 imm=0
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_ADD64_REG pc=151 dst=r1 src=r2 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 += r2;
// EBPF_OP_LDXW pc=150 dst=r1 src=r1 offset=0 imm=0
// EBPF_OP_LDXW pc=152 dst=r1 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint32_t *)(uintptr_t)(r1 + OFFSET(0));
// EBPF_OP_STXH pc=151 dst=r10 src=r1 offset=-32 imm=0
// EBPF_OP_STXH pc=153 dst=r10 src=r1 offset=-32 imm=0
#line 48 "sample/sockops.c"
*(uint16_t *)(uintptr_t)(r10 + OFFSET(-32)) = (uint16_t)r1;
// EBPF_OP_LDXB pc=152 dst=r4 src=r3 offset=13 imm=0
// EBPF_OP_LDXB pc=154 dst=r4 src=r3 offset=13 imm=0
#line 50 "sample/sockops.c"
r4 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(13));
// EBPF_OP_LSH64_IMM pc=153 dst=r4 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=155 dst=r4 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r4 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=154 dst=r1 src=r3 offset=12 imm=0
// EBPF_OP_LDXB pc=156 dst=r1 src=r3 offset=12 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(12));
// EBPF_OP_OR64_REG pc=155 dst=r4 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=157 dst=r4 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r4 |= r1;
// EBPF_OP_LDXB pc=156 dst=r2 src=r3 offset=15 imm=0
// EBPF_OP_LDXB pc=158 dst=r2 src=r3 offset=15 imm=0
#line 50 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(15));
// EBPF_OP_LSH64_IMM pc=157 dst=r2 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=159 dst=r2 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r2 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=158 dst=r1 src=r3 offset=14 imm=0
// EBPF_OP_LDXB pc=160 dst=r1 src=r3 offset=14 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(14));
// EBPF_OP_OR64_REG pc=159 dst=r2 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=161 dst=r2 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r2 |= r1;
// EBPF_OP_LDXB pc=160 dst=r5 src=r3 offset=1 imm=0
// EBPF_OP_LDXB pc=162 dst=r5 src=r3 offset=1 imm=0
#line 50 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(1));
// EBPF_OP_LSH64_IMM pc=161 dst=r5 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=163 dst=r5 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=162 dst=r1 src=r3 offset=0 imm=0
// EBPF_OP_LDXB pc=164 dst=r1 src=r3 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(0));
// EBPF_OP_OR64_REG pc=163 dst=r5 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=165 dst=r5 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r5 |= r1;
// EBPF_OP_LDXB pc=164 dst=r1 src=r3 offset=3 imm=0
// EBPF_OP_LDXB pc=166 dst=r1 src=r3 offset=3 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(3));
// EBPF_OP_LSH64_IMM pc=165 dst=r1 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=167 dst=r1 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r1 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=166 dst=r0 src=r3 offset=2 imm=0
// EBPF_OP_LDXB pc=168 dst=r0 src=r3 offset=2 imm=0
#line 50 "sample/sockops.c"
r0 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(2));
// EBPF_OP_OR64_REG pc=167 dst=r1 src=r0 offset=0 imm=0
// EBPF_OP_OR64_REG pc=169 dst=r1 src=r0 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 |= r0;
// EBPF_OP_LSH64_IMM pc=168 dst=r1 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=170 dst=r1 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r1 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=169 dst=r1 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=171 dst=r1 src=r5 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 |= r5;
// EBPF_OP_LSH64_IMM pc=170 dst=r2 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=172 dst=r2 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r2 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=171 dst=r2 src=r4 offset=0 imm=0
// EBPF_OP_OR64_REG pc=173 dst=r2 src=r4 offset=0 imm=0
#line 50 "sample/sockops.c"
r2 |= r4;
// EBPF_OP_LDXB pc=172 dst=r4 src=r3 offset=9 imm=0
// EBPF_OP_LDXB pc=174 dst=r4 src=r3 offset=9 imm=0
#line 50 "sample/sockops.c"
r4 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(9));
// EBPF_OP_LSH64_IMM pc=173 dst=r4 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=175 dst=r4 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r4 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=174 dst=r5 src=r3 offset=8 imm=0
// EBPF_OP_LDXB pc=176 dst=r5 src=r3 offset=8 imm=0
#line 50 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(8));
// EBPF_OP_OR64_REG pc=175 dst=r4 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=177 dst=r4 src=r5 offset=0 imm=0
#line 50 "sample/sockops.c"
r4 |= r5;
// EBPF_OP_LDXB pc=176 dst=r5 src=r3 offset=11 imm=0
// EBPF_OP_LDXB pc=178 dst=r5 src=r3 offset=11 imm=0
#line 50 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(11));
// EBPF_OP_LSH64_IMM pc=177 dst=r5 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=179 dst=r5 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=178 dst=r0 src=r3 offset=10 imm=0
// EBPF_OP_LDXB pc=180 dst=r0 src=r3 offset=10 imm=0
#line 50 "sample/sockops.c"
r0 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(10));
// EBPF_OP_OR64_REG pc=179 dst=r5 src=r0 offset=0 imm=0
// EBPF_OP_OR64_REG pc=181 dst=r5 src=r0 offset=0 imm=0
#line 50 "sample/sockops.c"
r5 |= r0;
// EBPF_OP_LSH64_IMM pc=180 dst=r5 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=182 dst=r5 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r5 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=181 dst=r5 src=r4 offset=0 imm=0
// EBPF_OP_OR64_REG pc=183 dst=r5 src=r4 offset=0 imm=0
#line 50 "sample/sockops.c"
r5 |= r4;
// EBPF_OP_STXW pc=182 dst=r10 src=r5 offset=-20 imm=0
// EBPF_OP_STXW pc=184 dst=r10 src=r5 offset=-20 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-20)) = (uint32_t)r5;
// EBPF_OP_STXW pc=183 dst=r10 src=r2 offset=-16 imm=0
// EBPF_OP_STXW pc=185 dst=r10 src=r2 offset=-16 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-16)) = (uint32_t)r2;
// EBPF_OP_STXW pc=184 dst=r10 src=r1 offset=-28 imm=0
// EBPF_OP_STXW pc=186 dst=r10 src=r1 offset=-28 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-28)) = (uint32_t)r1;
// EBPF_OP_LDXB pc=185 dst=r1 src=r3 offset=5 imm=0
// EBPF_OP_LDXB pc=187 dst=r1 src=r3 offset=5 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(5));
// EBPF_OP_LSH64_IMM pc=186 dst=r1 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=188 dst=r1 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r1 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=187 dst=r2 src=r3 offset=4 imm=0
// EBPF_OP_LDXB pc=189 dst=r2 src=r3 offset=4 imm=0
#line 50 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(4));
// EBPF_OP_OR64_REG pc=188 dst=r1 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=190 dst=r1 src=r2 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 |= r2;
// EBPF_OP_LDXB pc=189 dst=r2 src=r3 offset=6 imm=0
// EBPF_OP_LDXB pc=191 dst=r2 src=r3 offset=6 imm=0
#line 50 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(6));
// EBPF_OP_LDXB pc=190 dst=r3 src=r3 offset=7 imm=0
// EBPF_OP_LDXB pc=192 dst=r3 src=r3 offset=7 imm=0
#line 50 "sample/sockops.c"
r3 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(7));
// EBPF_OP_LSH64_IMM pc=191 dst=r3 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=193 dst=r3 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r3 <<= IMMEDIATE(8);
// EBPF_OP_OR64_REG pc=192 dst=r3 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=194 dst=r3 src=r2 offset=0 imm=0
#line 50 "sample/sockops.c"
r3 |= r2;
// EBPF_OP_LSH64_IMM pc=193 dst=r3 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=195 dst=r3 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r3 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=194 dst=r3 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=196 dst=r3 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r3 |= r1;
// EBPF_OP_STXW pc=195 dst=r10 src=r3 offset=-24 imm=0
// EBPF_OP_STXW pc=197 dst=r10 src=r3 offset=-24 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-24)) = (uint32_t)r3;
// EBPF_OP_MOV64_REG pc=196 dst=r1 src=r6 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=198 dst=r1 src=r6 offset=0 imm=0
#line 51 "sample/sockops.c"
r1 = r6;
// EBPF_OP_LDXDW pc=197 dst=r2 src=r10 offset=-64 imm=0
// EBPF_OP_LDXDW pc=199 dst=r2 src=r10 offset=-72 imm=0
#line 51 "sample/sockops.c"
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_ADD64_REG pc=198 dst=r1 src=r2 offset=0 imm=0
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-72));
// EBPF_OP_ADD64_REG pc=200 dst=r1 src=r2 offset=0 imm=0
#line 51 "sample/sockops.c"
r1 += r2;
// EBPF_OP_LDXW pc=199 dst=r1 src=r1 offset=0 imm=0
// EBPF_OP_LDXW pc=201 dst=r1 src=r1 offset=0 imm=0
#line 51 "sample/sockops.c"
r1 = *(uint32_t *)(uintptr_t)(r1 + OFFSET(0));
// EBPF_OP_STXH pc=200 dst=r10 src=r1 offset=-12 imm=0
// EBPF_OP_STXH pc=202 dst=r10 src=r1 offset=-12 imm=0
#line 51 "sample/sockops.c"
*(uint16_t *)(uintptr_t)(r10 + OFFSET(-12)) = (uint16_t)r1;
// EBPF_OP_LDXB pc=201 dst=r1 src=r6 offset=48 imm=0
// EBPF_OP_LDXB pc=203 dst=r1 src=r6 offset=48 imm=0
#line 52 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r6 + OFFSET(48));
// EBPF_OP_LDXDW pc=202 dst=r2 src=r10 offset=-56 imm=0
// EBPF_OP_LDXDW pc=204 dst=r2 src=r10 offset=-56 imm=0
#line 54 "sample/sockops.c"
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-56));
// EBPF_OP_STXB pc=203 dst=r10 src=r2 offset=-4 imm=0
// EBPF_OP_STXB pc=205 dst=r10 src=r2 offset=-4 imm=0
#line 54 "sample/sockops.c"
*(uint8_t *)(uintptr_t)(r10 + OFFSET(-4)) = (uint8_t)r2;
// EBPF_OP_STXW pc=204 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=206 dst=r10 src=r1 offset=-8 imm=0
#line 52 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=205 dst=r2 src=r10 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=207 dst=r2 src=r10 offset=0 imm=0
#line 52 "sample/sockops.c"
r2 = r10;
// EBPF_OP_ADD64_IMM pc=206 dst=r2 src=r0 offset=0 imm=-48
// EBPF_OP_ADD64_IMM pc=208 dst=r2 src=r0 offset=0 imm=-48
#line 53 "sample/sockops.c"
r2 += IMMEDIATE(-48);
// EBPF_OP_LDDW pc=207 dst=r1 src=r0 offset=0 imm=0
// EBPF_OP_LDDW pc=209 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r1 = POINTER(_maps[0].address);
// EBPF_OP_CALL pc=209 dst=r0 src=r0 offset=0 imm=1
// EBPF_OP_CALL pc=211 dst=r0 src=r0 offset=0 imm=1
#line 56 "sample/sockops.c"
r0 = connection_monitor_helpers[0].address
#line 56 "sample/sockops.c"
(r1, r2, r3, r4, r5);
#line 56 "sample/sockops.c"
if ((connection_monitor_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_MOV64_IMM pc=210 dst=r6 src=r0 offset=0 imm=0
// EBPF_OP_MOV64_IMM pc=212 dst=r6 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r6 = IMMEDIATE(0);
// EBPF_OP_JEQ_IMM pc=211 dst=r0 src=r0 offset=8 imm=0
// EBPF_OP_JEQ_IMM pc=213 dst=r0 src=r0 offset=8 imm=0
#line 56 "sample/sockops.c"
if (r0 == IMMEDIATE(0)) goto label_13;
label_12:
// EBPF_OP_MOV64_REG pc=212 dst=r2 src=r10 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=214 dst=r2 src=r10 offset=0 imm=0
#line 56 "sample/sockops.c"
r2 = r10;
// EBPF_OP_ADD64_IMM pc=213 dst=r2 src=r0 offset=0 imm=-48
// EBPF_OP_ADD64_IMM pc=215 dst=r2 src=r0 offset=0 imm=-48
#line 56 "sample/sockops.c"
r2 += IMMEDIATE(-48);
// EBPF_OP_LDDW pc=214 dst=r1 src=r0 offset=0 imm=0
// EBPF_OP_LDDW pc=216 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r1 = POINTER(_maps[1].address);
// EBPF_OP_MOV64_IMM pc=216 dst=r3 src=r0 offset=0 imm=48
// EBPF_OP_MOV64_IMM pc=218 dst=r3 src=r0 offset=0 imm=48
#line 56 "sample/sockops.c"
r3 = IMMEDIATE(48);
// EBPF_OP_MOV64_IMM pc=217 dst=r4 src=r0 offset=0 imm=0
// EBPF_OP_MOV64_IMM pc=219 dst=r4 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r4 = IMMEDIATE(0);
// EBPF_OP_CALL pc=218 dst=r0 src=r0 offset=0 imm=11
// EBPF_OP_CALL pc=220 dst=r0 src=r0 offset=0 imm=11
#line 56 "sample/sockops.c"
r0 = connection_monitor_helpers[1].address
#line 56 "sample/sockops.c"
(r1, r2, r3, r4, r5);
#line 56 "sample/sockops.c"
if ((connection_monitor_helpers[1].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_MOV64_REG pc=219 dst=r6 src=r0 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=221 dst=r6 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r6 = r0;
label_13:
// EBPF_OP_MOV64_REG pc=220 dst=r0 src=r6 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=222 dst=r0 src=r6 offset=0 imm=0
#line 89 "sample/sockops.c"
r0 = r6;
// EBPF_OP_EXIT pc=221 dst=r0 src=r0 offset=0 imm=0
// EBPF_OP_EXIT pc=223 dst=r0 src=r0 offset=0 imm=0
#line 89 "sample/sockops.c"
return r0;
#line 89 "sample/sockops.c"
@ -789,7 +795,7 @@ label_13:
#line __LINE__ __FILE__
static program_entry_t _programs[] = {
{ connection_monitor, "sockops", "connection_monitor", connection_monitor_maps, 2, connection_monitor_helpers, 2, 222, &connection_monitor_program_type_guid, &connection_monitor_attach_type_guid, },
{ connection_monitor, "sockops", "connection_monitor", connection_monitor_maps, 2, connection_monitor_helpers, 2, 224, &connection_monitor_program_type_guid, &connection_monitor_attach_type_guid, },
};
static void _get_programs(_Outptr_result_buffer_(*count) program_entry_t** programs, _Out_ size_t* count)

Просмотреть файл

@ -81,7 +81,7 @@ static uint64_t connection_monitor(void* context)
// EBPF_OP_LDDW pc=5 dst=r6 src=r0 offset=0 imm=-1
#line 70 "sample/sockops.c"
r6 = (uint64_t)4294967295;
// EBPF_OP_JNE_IMM pc=7 dst=r2 src=r0 offset=212 imm=1
// EBPF_OP_JNE_IMM pc=7 dst=r2 src=r0 offset=214 imm=1
#line 70 "sample/sockops.c"
if (r2 != IMMEDIATE(1)) goto label_13;
// EBPF_OP_MOV64_IMM pc=8 dst=r4 src=r0 offset=0 imm=0
@ -144,7 +144,7 @@ label_2:
#line 22 "sample/sockops.c"
r2 = IMMEDIATE(28);
// EBPF_OP_MOV64_IMM pc=27 dst=r5 src=r0 offset=0 imm=8
#line 22 "sample/sockops.c"
#line 24 "sample/sockops.c"
r5 = IMMEDIATE(8);
// EBPF_OP_JNE_IMM pc=28 dst=r4 src=r0 offset=1 imm=0
#line 24 "sample/sockops.c"
@ -169,7 +169,7 @@ label_3:
#line 24 "sample/sockops.c"
r0 = IMMEDIATE(44);
// EBPF_OP_MOV64_IMM pc=35 dst=r3 src=r0 offset=0 imm=24
#line 24 "sample/sockops.c"
#line 25 "sample/sockops.c"
r3 = IMMEDIATE(24);
// EBPF_OP_JNE_IMM pc=36 dst=r4 src=r0 offset=1 imm=0
#line 25 "sample/sockops.c"
@ -256,10 +256,10 @@ label_6:
(r1, r2, r3, r4, r5);
#line 32 "sample/sockops.c"
if ((connection_monitor_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_JEQ_IMM pc=63 dst=r0 src=r0 offset=156 imm=0
// EBPF_OP_JEQ_IMM pc=63 dst=r0 src=r0 offset=158 imm=0
#line 32 "sample/sockops.c"
if (r0 == IMMEDIATE(0)) goto label_13;
// EBPF_OP_JA pc=64 dst=r0 src=r0 offset=147 imm=0
// EBPF_OP_JA pc=64 dst=r0 src=r0 offset=149 imm=0
#line 32 "sample/sockops.c"
goto label_12;
label_7:
@ -287,459 +287,465 @@ label_7:
// EBPF_OP_ADD64_IMM pc=72 dst=r3 src=r0 offset=0 imm=28
#line 46 "sample/sockops.c"
r3 += IMMEDIATE(28);
// EBPF_OP_STXDW pc=73 dst=r10 src=r1 offset=-72 imm=0
// EBPF_OP_STXDW pc=73 dst=r10 src=r1 offset=-80 imm=0
#line 46 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
// EBPF_OP_ADD64_IMM pc=74 dst=r1 src=r0 offset=0 imm=8
#line 46 "sample/sockops.c"
r1 += IMMEDIATE(8);
// EBPF_OP_MOV64_REG pc=75 dst=r0 src=r1 offset=0 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-80)) = (uint64_t)r1;
// EBPF_OP_MOV64_REG pc=74 dst=r0 src=r1 offset=0 imm=0
#line 46 "sample/sockops.c"
r0 = r1;
// EBPF_OP_JNE_IMM pc=76 dst=r4 src=r0 offset=1 imm=0
// EBPF_OP_ADD64_IMM pc=75 dst=r0 src=r0 offset=0 imm=8
#line 46 "sample/sockops.c"
r0 += IMMEDIATE(8);
// EBPF_OP_STXDW pc=76 dst=r10 src=r0 offset=-104 imm=0
#line 46 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-104)) = (uint64_t)r0;
// EBPF_OP_JNE_IMM pc=77 dst=r4 src=r0 offset=1 imm=0
#line 46 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_8;
// EBPF_OP_MOV64_REG pc=77 dst=r0 src=r3 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=78 dst=r0 src=r3 offset=0 imm=0
#line 46 "sample/sockops.c"
r0 = r3;
label_8:
// EBPF_OP_LDXB pc=78 dst=r2 src=r0 offset=13 imm=0
// EBPF_OP_LDXB pc=79 dst=r2 src=r0 offset=13 imm=0
#line 47 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(13));
// EBPF_OP_LSH64_IMM pc=79 dst=r2 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=80 dst=r2 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r2 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=80 dst=r5 src=r0 offset=12 imm=0
// EBPF_OP_LDXB pc=81 dst=r1 src=r0 offset=12 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(12));
// EBPF_OP_STXDW pc=81 dst=r10 src=r5 offset=-64 imm=0
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(12));
// EBPF_OP_STXDW pc=82 dst=r10 src=r1 offset=-64 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r5;
// EBPF_OP_LDXB pc=82 dst=r8 src=r0 offset=15 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
// EBPF_OP_LDXB pc=83 dst=r8 src=r0 offset=15 imm=0
#line 47 "sample/sockops.c"
r8 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(15));
// EBPF_OP_LSH64_IMM pc=83 dst=r8 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=84 dst=r8 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r8 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=84 dst=r5 src=r0 offset=14 imm=0
// EBPF_OP_LDXB pc=85 dst=r5 src=r0 offset=14 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(14));
// EBPF_OP_OR64_REG pc=85 dst=r8 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=86 dst=r8 src=r5 offset=0 imm=0
#line 47 "sample/sockops.c"
r8 |= r5;
// EBPF_OP_LDXB pc=86 dst=r6 src=r0 offset=9 imm=0
// EBPF_OP_LDXB pc=87 dst=r6 src=r0 offset=9 imm=0
#line 47 "sample/sockops.c"
r6 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(9));
// EBPF_OP_LSH64_IMM pc=87 dst=r6 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=88 dst=r6 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r6 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=88 dst=r5 src=r0 offset=8 imm=0
// EBPF_OP_LDXB pc=89 dst=r1 src=r0 offset=8 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(8));
// EBPF_OP_STXDW pc=89 dst=r10 src=r5 offset=-80 imm=0
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(8));
// EBPF_OP_STXDW pc=90 dst=r10 src=r1 offset=-72 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-80)) = (uint64_t)r5;
// EBPF_OP_LDXB pc=90 dst=r9 src=r0 offset=11 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
// EBPF_OP_LDXB pc=91 dst=r9 src=r0 offset=11 imm=0
#line 47 "sample/sockops.c"
r9 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(11));
// EBPF_OP_LSH64_IMM pc=91 dst=r9 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=92 dst=r9 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r9 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=92 dst=r5 src=r0 offset=10 imm=0
// EBPF_OP_LDXB pc=93 dst=r5 src=r0 offset=10 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(10));
// EBPF_OP_OR64_REG pc=93 dst=r9 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=94 dst=r9 src=r5 offset=0 imm=0
#line 47 "sample/sockops.c"
r9 |= r5;
// EBPF_OP_LDXB pc=94 dst=r5 src=r0 offset=1 imm=0
// EBPF_OP_LDXB pc=95 dst=r5 src=r0 offset=1 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(1));
// EBPF_OP_LDXB pc=95 dst=r7 src=r0 offset=3 imm=0
// EBPF_OP_LDXB pc=96 dst=r7 src=r0 offset=0 imm=0
#line 47 "sample/sockops.c"
r7 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(0));
// EBPF_OP_STXDW pc=97 dst=r10 src=r7 offset=-88 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-88)) = (uint64_t)r7;
// EBPF_OP_LDXB pc=98 dst=r7 src=r0 offset=3 imm=0
#line 47 "sample/sockops.c"
r7 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(3));
// EBPF_OP_JNE_IMM pc=96 dst=r4 src=r0 offset=1 imm=0
#line 48 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_9;
// EBPF_OP_MOV64_REG pc=97 dst=r3 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r3 = r1;
label_9:
// EBPF_OP_LDXDW pc=98 dst=r1 src=r10 offset=-64 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_OR64_REG pc=99 dst=r2 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r2 |= r1;
// EBPF_OP_LDXDW pc=100 dst=r1 src=r10 offset=-80 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-80));
// EBPF_OP_OR64_REG pc=101 dst=r6 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r6 |= r1;
// EBPF_OP_LSH64_IMM pc=102 dst=r9 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r9 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=103 dst=r8 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r8 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=104 dst=r5 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=105 dst=r1 src=r0 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(0));
// EBPF_OP_STXDW pc=106 dst=r10 src=r1 offset=-88 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-88)) = (uint64_t)r1;
// EBPF_OP_LSH64_IMM pc=107 dst=r7 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r7 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=108 dst=r1 src=r0 offset=2 imm=0
#line 48 "sample/sockops.c"
// EBPF_OP_LDXB pc=99 dst=r1 src=r0 offset=2 imm=0
#line 47 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(2));
// EBPF_OP_STXDW pc=109 dst=r10 src=r1 offset=-96 imm=0
// EBPF_OP_STXDW pc=100 dst=r10 src=r1 offset=-96 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-96)) = (uint64_t)r1;
// EBPF_OP_MOV64_IMM pc=110 dst=r1 src=r0 offset=0 imm=44
// EBPF_OP_JNE_IMM pc=101 dst=r4 src=r0 offset=1 imm=0
#line 48 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_9;
// EBPF_OP_LDXDW pc=102 dst=r3 src=r10 offset=-104 imm=0
#line 48 "sample/sockops.c"
r3 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-104));
label_9:
// EBPF_OP_LDXDW pc=103 dst=r1 src=r10 offset=-64 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_OR64_REG pc=104 dst=r2 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r2 |= r1;
// EBPF_OP_LDXDW pc=105 dst=r1 src=r10 offset=-72 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-72));
// EBPF_OP_OR64_REG pc=106 dst=r6 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r6 |= r1;
// EBPF_OP_LSH64_IMM pc=107 dst=r9 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r9 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=108 dst=r8 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r8 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=109 dst=r5 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LSH64_IMM pc=110 dst=r7 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r7 <<= IMMEDIATE(8);
// EBPF_OP_MOV64_IMM pc=111 dst=r1 src=r0 offset=0 imm=44
#line 48 "sample/sockops.c"
r1 = IMMEDIATE(44);
// EBPF_OP_STXDW pc=111 dst=r10 src=r1 offset=-64 imm=0
// EBPF_OP_STXDW pc=112 dst=r10 src=r1 offset=-72 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
// EBPF_OP_MOV64_IMM pc=112 dst=r1 src=r0 offset=0 imm=24
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
// EBPF_OP_MOV64_IMM pc=113 dst=r1 src=r0 offset=0 imm=24
#line 48 "sample/sockops.c"
r1 = IMMEDIATE(24);
// EBPF_OP_JNE_IMM pc=113 dst=r4 src=r0 offset=1 imm=0
// EBPF_OP_STXDW pc=114 dst=r10 src=r1 offset=-64 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
// EBPF_OP_JNE_IMM pc=115 dst=r4 src=r0 offset=2 imm=0
#line 48 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_10;
// EBPF_OP_MOV64_IMM pc=114 dst=r1 src=r0 offset=0 imm=44
// EBPF_OP_MOV64_IMM pc=116 dst=r1 src=r0 offset=0 imm=44
#line 48 "sample/sockops.c"
r1 = IMMEDIATE(44);
label_10:
// EBPF_OP_STXDW pc=115 dst=r10 src=r1 offset=-80 imm=0
// EBPF_OP_STXDW pc=117 dst=r10 src=r1 offset=-64 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-80)) = (uint64_t)r1;
// EBPF_OP_OR64_REG pc=116 dst=r9 src=r6 offset=0 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
label_10:
// EBPF_OP_OR64_REG pc=118 dst=r9 src=r6 offset=0 imm=0
#line 48 "sample/sockops.c"
r9 |= r6;
// EBPF_OP_OR64_REG pc=117 dst=r8 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=119 dst=r8 src=r2 offset=0 imm=0
#line 48 "sample/sockops.c"
r8 |= r2;
// EBPF_OP_LDXDW pc=118 dst=r1 src=r10 offset=-88 imm=0
// EBPF_OP_LDXDW pc=120 dst=r1 src=r10 offset=-88 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-88));
// EBPF_OP_OR64_REG pc=119 dst=r5 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=121 dst=r5 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r5 |= r1;
// EBPF_OP_LDXDW pc=120 dst=r1 src=r10 offset=-96 imm=0
// EBPF_OP_LDXDW pc=122 dst=r1 src=r10 offset=-96 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-96));
// EBPF_OP_OR64_REG pc=121 dst=r7 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=123 dst=r7 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r7 |= r1;
// EBPF_OP_JNE_IMM pc=122 dst=r4 src=r0 offset=2 imm=0
// EBPF_OP_JNE_IMM pc=124 dst=r4 src=r0 offset=2 imm=0
#line 51 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_11;
// EBPF_OP_MOV64_IMM pc=123 dst=r1 src=r0 offset=0 imm=24
// EBPF_OP_MOV64_IMM pc=125 dst=r1 src=r0 offset=0 imm=24
#line 51 "sample/sockops.c"
r1 = IMMEDIATE(24);
// EBPF_OP_STXDW pc=124 dst=r10 src=r1 offset=-64 imm=0
// EBPF_OP_STXDW pc=126 dst=r10 src=r1 offset=-72 imm=0
#line 51 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
label_11:
// EBPF_OP_LDXDW pc=125 dst=r1 src=r10 offset=-56 imm=0
// EBPF_OP_LDXDW pc=127 dst=r2 src=r10 offset=-56 imm=0
#line 51 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-56));
// EBPF_OP_OR64_REG pc=126 dst=r1 src=r4 offset=0 imm=0
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-56));
// EBPF_OP_OR64_REG pc=128 dst=r2 src=r4 offset=0 imm=0
#line 53 "sample/sockops.c"
r1 |= r4;
// EBPF_OP_STXDW pc=127 dst=r10 src=r1 offset=-56 imm=0
r2 |= r4;
// EBPF_OP_STXDW pc=129 dst=r10 src=r2 offset=-56 imm=0
#line 53 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-56)) = (uint64_t)r1;
// EBPF_OP_LSH64_IMM pc=128 dst=r8 src=r0 offset=0 imm=32
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-56)) = (uint64_t)r2;
// EBPF_OP_LSH64_IMM pc=130 dst=r8 src=r0 offset=0 imm=32
#line 47 "sample/sockops.c"
r8 <<= IMMEDIATE(32);
// EBPF_OP_OR64_REG pc=129 dst=r8 src=r9 offset=0 imm=0
// EBPF_OP_OR64_REG pc=131 dst=r8 src=r9 offset=0 imm=0
#line 47 "sample/sockops.c"
r8 |= r9;
// EBPF_OP_STXDW pc=130 dst=r10 src=r8 offset=-40 imm=0
// EBPF_OP_STXDW pc=132 dst=r10 src=r8 offset=-40 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-40)) = (uint64_t)r8;
// EBPF_OP_LSH64_IMM pc=131 dst=r7 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=133 dst=r7 src=r0 offset=0 imm=16
#line 47 "sample/sockops.c"
r7 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=132 dst=r7 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=134 dst=r7 src=r5 offset=0 imm=0
#line 47 "sample/sockops.c"
r7 |= r5;
// EBPF_OP_LDXB pc=133 dst=r1 src=r0 offset=5 imm=0
// EBPF_OP_LDXB pc=135 dst=r1 src=r0 offset=5 imm=0
#line 47 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(5));
// EBPF_OP_LSH64_IMM pc=134 dst=r1 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=136 dst=r1 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r1 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=135 dst=r2 src=r0 offset=4 imm=0
// EBPF_OP_LDXB pc=137 dst=r2 src=r0 offset=4 imm=0
#line 47 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(4));
// EBPF_OP_OR64_REG pc=136 dst=r1 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=138 dst=r1 src=r2 offset=0 imm=0
#line 47 "sample/sockops.c"
r1 |= r2;
// EBPF_OP_LDXB pc=137 dst=r2 src=r0 offset=6 imm=0
// EBPF_OP_LDXB pc=139 dst=r2 src=r0 offset=6 imm=0
#line 47 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(6));
// EBPF_OP_LDXB pc=138 dst=r4 src=r0 offset=7 imm=0
// EBPF_OP_LDXB pc=140 dst=r4 src=r0 offset=7 imm=0
#line 47 "sample/sockops.c"
r4 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(7));
// EBPF_OP_LSH64_IMM pc=139 dst=r4 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=141 dst=r4 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r4 <<= IMMEDIATE(8);
// EBPF_OP_OR64_REG pc=140 dst=r4 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=142 dst=r4 src=r2 offset=0 imm=0
#line 47 "sample/sockops.c"
r4 |= r2;
// EBPF_OP_LSH64_IMM pc=141 dst=r4 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=143 dst=r4 src=r0 offset=0 imm=16
#line 47 "sample/sockops.c"
r4 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=142 dst=r4 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=144 dst=r4 src=r1 offset=0 imm=0
#line 47 "sample/sockops.c"
r4 |= r1;
// EBPF_OP_LSH64_IMM pc=143 dst=r4 src=r0 offset=0 imm=32
// EBPF_OP_LSH64_IMM pc=145 dst=r4 src=r0 offset=0 imm=32
#line 47 "sample/sockops.c"
r4 <<= IMMEDIATE(32);
// EBPF_OP_OR64_REG pc=144 dst=r4 src=r7 offset=0 imm=0
// EBPF_OP_OR64_REG pc=146 dst=r4 src=r7 offset=0 imm=0
#line 47 "sample/sockops.c"
r4 |= r7;
// EBPF_OP_STXDW pc=145 dst=r10 src=r4 offset=-48 imm=0
// EBPF_OP_STXDW pc=147 dst=r10 src=r4 offset=-48 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-48)) = (uint64_t)r4;
// EBPF_OP_LDXDW pc=146 dst=r6 src=r10 offset=-72 imm=0
// EBPF_OP_LDXDW pc=148 dst=r6 src=r10 offset=-80 imm=0
#line 47 "sample/sockops.c"
r6 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-72));
// EBPF_OP_MOV64_REG pc=147 dst=r1 src=r6 offset=0 imm=0
r6 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-80));
// EBPF_OP_MOV64_REG pc=149 dst=r1 src=r6 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 = r6;
// EBPF_OP_LDXDW pc=148 dst=r2 src=r10 offset=-80 imm=0
// EBPF_OP_LDXDW pc=150 dst=r2 src=r10 offset=-64 imm=0
#line 48 "sample/sockops.c"
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-80));
// EBPF_OP_ADD64_REG pc=149 dst=r1 src=r2 offset=0 imm=0
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_ADD64_REG pc=151 dst=r1 src=r2 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 += r2;
// EBPF_OP_LDXW pc=150 dst=r1 src=r1 offset=0 imm=0
// EBPF_OP_LDXW pc=152 dst=r1 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint32_t *)(uintptr_t)(r1 + OFFSET(0));
// EBPF_OP_STXH pc=151 dst=r10 src=r1 offset=-32 imm=0
// EBPF_OP_STXH pc=153 dst=r10 src=r1 offset=-32 imm=0
#line 48 "sample/sockops.c"
*(uint16_t *)(uintptr_t)(r10 + OFFSET(-32)) = (uint16_t)r1;
// EBPF_OP_LDXB pc=152 dst=r4 src=r3 offset=13 imm=0
// EBPF_OP_LDXB pc=154 dst=r4 src=r3 offset=13 imm=0
#line 50 "sample/sockops.c"
r4 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(13));
// EBPF_OP_LSH64_IMM pc=153 dst=r4 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=155 dst=r4 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r4 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=154 dst=r1 src=r3 offset=12 imm=0
// EBPF_OP_LDXB pc=156 dst=r1 src=r3 offset=12 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(12));
// EBPF_OP_OR64_REG pc=155 dst=r4 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=157 dst=r4 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r4 |= r1;
// EBPF_OP_LDXB pc=156 dst=r2 src=r3 offset=15 imm=0
// EBPF_OP_LDXB pc=158 dst=r2 src=r3 offset=15 imm=0
#line 50 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(15));
// EBPF_OP_LSH64_IMM pc=157 dst=r2 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=159 dst=r2 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r2 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=158 dst=r1 src=r3 offset=14 imm=0
// EBPF_OP_LDXB pc=160 dst=r1 src=r3 offset=14 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(14));
// EBPF_OP_OR64_REG pc=159 dst=r2 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=161 dst=r2 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r2 |= r1;
// EBPF_OP_LDXB pc=160 dst=r5 src=r3 offset=1 imm=0
// EBPF_OP_LDXB pc=162 dst=r5 src=r3 offset=1 imm=0
#line 50 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(1));
// EBPF_OP_LSH64_IMM pc=161 dst=r5 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=163 dst=r5 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=162 dst=r1 src=r3 offset=0 imm=0
// EBPF_OP_LDXB pc=164 dst=r1 src=r3 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(0));
// EBPF_OP_OR64_REG pc=163 dst=r5 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=165 dst=r5 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r5 |= r1;
// EBPF_OP_LDXB pc=164 dst=r1 src=r3 offset=3 imm=0
// EBPF_OP_LDXB pc=166 dst=r1 src=r3 offset=3 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(3));
// EBPF_OP_LSH64_IMM pc=165 dst=r1 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=167 dst=r1 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r1 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=166 dst=r0 src=r3 offset=2 imm=0
// EBPF_OP_LDXB pc=168 dst=r0 src=r3 offset=2 imm=0
#line 50 "sample/sockops.c"
r0 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(2));
// EBPF_OP_OR64_REG pc=167 dst=r1 src=r0 offset=0 imm=0
// EBPF_OP_OR64_REG pc=169 dst=r1 src=r0 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 |= r0;
// EBPF_OP_LSH64_IMM pc=168 dst=r1 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=170 dst=r1 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r1 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=169 dst=r1 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=171 dst=r1 src=r5 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 |= r5;
// EBPF_OP_LSH64_IMM pc=170 dst=r2 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=172 dst=r2 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r2 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=171 dst=r2 src=r4 offset=0 imm=0
// EBPF_OP_OR64_REG pc=173 dst=r2 src=r4 offset=0 imm=0
#line 50 "sample/sockops.c"
r2 |= r4;
// EBPF_OP_LDXB pc=172 dst=r4 src=r3 offset=9 imm=0
// EBPF_OP_LDXB pc=174 dst=r4 src=r3 offset=9 imm=0
#line 50 "sample/sockops.c"
r4 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(9));
// EBPF_OP_LSH64_IMM pc=173 dst=r4 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=175 dst=r4 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r4 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=174 dst=r5 src=r3 offset=8 imm=0
// EBPF_OP_LDXB pc=176 dst=r5 src=r3 offset=8 imm=0
#line 50 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(8));
// EBPF_OP_OR64_REG pc=175 dst=r4 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=177 dst=r4 src=r5 offset=0 imm=0
#line 50 "sample/sockops.c"
r4 |= r5;
// EBPF_OP_LDXB pc=176 dst=r5 src=r3 offset=11 imm=0
// EBPF_OP_LDXB pc=178 dst=r5 src=r3 offset=11 imm=0
#line 50 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(11));
// EBPF_OP_LSH64_IMM pc=177 dst=r5 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=179 dst=r5 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=178 dst=r0 src=r3 offset=10 imm=0
// EBPF_OP_LDXB pc=180 dst=r0 src=r3 offset=10 imm=0
#line 50 "sample/sockops.c"
r0 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(10));
// EBPF_OP_OR64_REG pc=179 dst=r5 src=r0 offset=0 imm=0
// EBPF_OP_OR64_REG pc=181 dst=r5 src=r0 offset=0 imm=0
#line 50 "sample/sockops.c"
r5 |= r0;
// EBPF_OP_LSH64_IMM pc=180 dst=r5 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=182 dst=r5 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r5 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=181 dst=r5 src=r4 offset=0 imm=0
// EBPF_OP_OR64_REG pc=183 dst=r5 src=r4 offset=0 imm=0
#line 50 "sample/sockops.c"
r5 |= r4;
// EBPF_OP_STXW pc=182 dst=r10 src=r5 offset=-20 imm=0
// EBPF_OP_STXW pc=184 dst=r10 src=r5 offset=-20 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-20)) = (uint32_t)r5;
// EBPF_OP_STXW pc=183 dst=r10 src=r2 offset=-16 imm=0
// EBPF_OP_STXW pc=185 dst=r10 src=r2 offset=-16 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-16)) = (uint32_t)r2;
// EBPF_OP_STXW pc=184 dst=r10 src=r1 offset=-28 imm=0
// EBPF_OP_STXW pc=186 dst=r10 src=r1 offset=-28 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-28)) = (uint32_t)r1;
// EBPF_OP_LDXB pc=185 dst=r1 src=r3 offset=5 imm=0
// EBPF_OP_LDXB pc=187 dst=r1 src=r3 offset=5 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(5));
// EBPF_OP_LSH64_IMM pc=186 dst=r1 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=188 dst=r1 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r1 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=187 dst=r2 src=r3 offset=4 imm=0
// EBPF_OP_LDXB pc=189 dst=r2 src=r3 offset=4 imm=0
#line 50 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(4));
// EBPF_OP_OR64_REG pc=188 dst=r1 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=190 dst=r1 src=r2 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 |= r2;
// EBPF_OP_LDXB pc=189 dst=r2 src=r3 offset=6 imm=0
// EBPF_OP_LDXB pc=191 dst=r2 src=r3 offset=6 imm=0
#line 50 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(6));
// EBPF_OP_LDXB pc=190 dst=r3 src=r3 offset=7 imm=0
// EBPF_OP_LDXB pc=192 dst=r3 src=r3 offset=7 imm=0
#line 50 "sample/sockops.c"
r3 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(7));
// EBPF_OP_LSH64_IMM pc=191 dst=r3 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=193 dst=r3 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r3 <<= IMMEDIATE(8);
// EBPF_OP_OR64_REG pc=192 dst=r3 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=194 dst=r3 src=r2 offset=0 imm=0
#line 50 "sample/sockops.c"
r3 |= r2;
// EBPF_OP_LSH64_IMM pc=193 dst=r3 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=195 dst=r3 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r3 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=194 dst=r3 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=196 dst=r3 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r3 |= r1;
// EBPF_OP_STXW pc=195 dst=r10 src=r3 offset=-24 imm=0
// EBPF_OP_STXW pc=197 dst=r10 src=r3 offset=-24 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-24)) = (uint32_t)r3;
// EBPF_OP_MOV64_REG pc=196 dst=r1 src=r6 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=198 dst=r1 src=r6 offset=0 imm=0
#line 51 "sample/sockops.c"
r1 = r6;
// EBPF_OP_LDXDW pc=197 dst=r2 src=r10 offset=-64 imm=0
// EBPF_OP_LDXDW pc=199 dst=r2 src=r10 offset=-72 imm=0
#line 51 "sample/sockops.c"
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_ADD64_REG pc=198 dst=r1 src=r2 offset=0 imm=0
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-72));
// EBPF_OP_ADD64_REG pc=200 dst=r1 src=r2 offset=0 imm=0
#line 51 "sample/sockops.c"
r1 += r2;
// EBPF_OP_LDXW pc=199 dst=r1 src=r1 offset=0 imm=0
// EBPF_OP_LDXW pc=201 dst=r1 src=r1 offset=0 imm=0
#line 51 "sample/sockops.c"
r1 = *(uint32_t *)(uintptr_t)(r1 + OFFSET(0));
// EBPF_OP_STXH pc=200 dst=r10 src=r1 offset=-12 imm=0
// EBPF_OP_STXH pc=202 dst=r10 src=r1 offset=-12 imm=0
#line 51 "sample/sockops.c"
*(uint16_t *)(uintptr_t)(r10 + OFFSET(-12)) = (uint16_t)r1;
// EBPF_OP_LDXB pc=201 dst=r1 src=r6 offset=48 imm=0
// EBPF_OP_LDXB pc=203 dst=r1 src=r6 offset=48 imm=0
#line 52 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r6 + OFFSET(48));
// EBPF_OP_LDXDW pc=202 dst=r2 src=r10 offset=-56 imm=0
// EBPF_OP_LDXDW pc=204 dst=r2 src=r10 offset=-56 imm=0
#line 54 "sample/sockops.c"
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-56));
// EBPF_OP_STXB pc=203 dst=r10 src=r2 offset=-4 imm=0
// EBPF_OP_STXB pc=205 dst=r10 src=r2 offset=-4 imm=0
#line 54 "sample/sockops.c"
*(uint8_t *)(uintptr_t)(r10 + OFFSET(-4)) = (uint8_t)r2;
// EBPF_OP_STXW pc=204 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=206 dst=r10 src=r1 offset=-8 imm=0
#line 52 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=205 dst=r2 src=r10 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=207 dst=r2 src=r10 offset=0 imm=0
#line 52 "sample/sockops.c"
r2 = r10;
// EBPF_OP_ADD64_IMM pc=206 dst=r2 src=r0 offset=0 imm=-48
// EBPF_OP_ADD64_IMM pc=208 dst=r2 src=r0 offset=0 imm=-48
#line 53 "sample/sockops.c"
r2 += IMMEDIATE(-48);
// EBPF_OP_LDDW pc=207 dst=r1 src=r0 offset=0 imm=0
// EBPF_OP_LDDW pc=209 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r1 = POINTER(_maps[0].address);
// EBPF_OP_CALL pc=209 dst=r0 src=r0 offset=0 imm=1
// EBPF_OP_CALL pc=211 dst=r0 src=r0 offset=0 imm=1
#line 56 "sample/sockops.c"
r0 = connection_monitor_helpers[0].address
#line 56 "sample/sockops.c"
(r1, r2, r3, r4, r5);
#line 56 "sample/sockops.c"
if ((connection_monitor_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_MOV64_IMM pc=210 dst=r6 src=r0 offset=0 imm=0
// EBPF_OP_MOV64_IMM pc=212 dst=r6 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r6 = IMMEDIATE(0);
// EBPF_OP_JEQ_IMM pc=211 dst=r0 src=r0 offset=8 imm=0
// EBPF_OP_JEQ_IMM pc=213 dst=r0 src=r0 offset=8 imm=0
#line 56 "sample/sockops.c"
if (r0 == IMMEDIATE(0)) goto label_13;
label_12:
// EBPF_OP_MOV64_REG pc=212 dst=r2 src=r10 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=214 dst=r2 src=r10 offset=0 imm=0
#line 56 "sample/sockops.c"
r2 = r10;
// EBPF_OP_ADD64_IMM pc=213 dst=r2 src=r0 offset=0 imm=-48
// EBPF_OP_ADD64_IMM pc=215 dst=r2 src=r0 offset=0 imm=-48
#line 56 "sample/sockops.c"
r2 += IMMEDIATE(-48);
// EBPF_OP_LDDW pc=214 dst=r1 src=r0 offset=0 imm=0
// EBPF_OP_LDDW pc=216 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r1 = POINTER(_maps[1].address);
// EBPF_OP_MOV64_IMM pc=216 dst=r3 src=r0 offset=0 imm=48
// EBPF_OP_MOV64_IMM pc=218 dst=r3 src=r0 offset=0 imm=48
#line 56 "sample/sockops.c"
r3 = IMMEDIATE(48);
// EBPF_OP_MOV64_IMM pc=217 dst=r4 src=r0 offset=0 imm=0
// EBPF_OP_MOV64_IMM pc=219 dst=r4 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r4 = IMMEDIATE(0);
// EBPF_OP_CALL pc=218 dst=r0 src=r0 offset=0 imm=11
// EBPF_OP_CALL pc=220 dst=r0 src=r0 offset=0 imm=11
#line 56 "sample/sockops.c"
r0 = connection_monitor_helpers[1].address
#line 56 "sample/sockops.c"
(r1, r2, r3, r4, r5);
#line 56 "sample/sockops.c"
if ((connection_monitor_helpers[1].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_MOV64_REG pc=219 dst=r6 src=r0 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=221 dst=r6 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r6 = r0;
label_13:
// EBPF_OP_MOV64_REG pc=220 dst=r0 src=r6 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=222 dst=r0 src=r6 offset=0 imm=0
#line 89 "sample/sockops.c"
r0 = r6;
// EBPF_OP_EXIT pc=221 dst=r0 src=r0 offset=0 imm=0
// EBPF_OP_EXIT pc=223 dst=r0 src=r0 offset=0 imm=0
#line 89 "sample/sockops.c"
return r0;
#line 89 "sample/sockops.c"
@ -747,7 +753,7 @@ label_13:
#line __LINE__ __FILE__
static program_entry_t _programs[] = {
{ connection_monitor, "sockops", "connection_monitor", connection_monitor_maps, 2, connection_monitor_helpers, 2, 222, &connection_monitor_program_type_guid, &connection_monitor_attach_type_guid, },
{ connection_monitor, "sockops", "connection_monitor", connection_monitor_maps, 2, connection_monitor_helpers, 2, 224, &connection_monitor_program_type_guid, &connection_monitor_attach_type_guid, },
};
static void _get_programs(_Outptr_result_buffer_(*count) program_entry_t** programs, _Out_ size_t* count)

Просмотреть файл

@ -248,7 +248,7 @@ static uint64_t connection_monitor(void* context)
// EBPF_OP_LDDW pc=5 dst=r6 src=r0 offset=0 imm=-1
#line 70 "sample/sockops.c"
r6 = (uint64_t)4294967295;
// EBPF_OP_JNE_IMM pc=7 dst=r2 src=r0 offset=212 imm=1
// EBPF_OP_JNE_IMM pc=7 dst=r2 src=r0 offset=214 imm=1
#line 70 "sample/sockops.c"
if (r2 != IMMEDIATE(1)) goto label_13;
// EBPF_OP_MOV64_IMM pc=8 dst=r4 src=r0 offset=0 imm=0
@ -311,7 +311,7 @@ label_2:
#line 22 "sample/sockops.c"
r2 = IMMEDIATE(28);
// EBPF_OP_MOV64_IMM pc=27 dst=r5 src=r0 offset=0 imm=8
#line 22 "sample/sockops.c"
#line 24 "sample/sockops.c"
r5 = IMMEDIATE(8);
// EBPF_OP_JNE_IMM pc=28 dst=r4 src=r0 offset=1 imm=0
#line 24 "sample/sockops.c"
@ -336,7 +336,7 @@ label_3:
#line 24 "sample/sockops.c"
r0 = IMMEDIATE(44);
// EBPF_OP_MOV64_IMM pc=35 dst=r3 src=r0 offset=0 imm=24
#line 24 "sample/sockops.c"
#line 25 "sample/sockops.c"
r3 = IMMEDIATE(24);
// EBPF_OP_JNE_IMM pc=36 dst=r4 src=r0 offset=1 imm=0
#line 25 "sample/sockops.c"
@ -423,10 +423,10 @@ label_6:
(r1, r2, r3, r4, r5);
#line 32 "sample/sockops.c"
if ((connection_monitor_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_JEQ_IMM pc=63 dst=r0 src=r0 offset=156 imm=0
// EBPF_OP_JEQ_IMM pc=63 dst=r0 src=r0 offset=158 imm=0
#line 32 "sample/sockops.c"
if (r0 == IMMEDIATE(0)) goto label_13;
// EBPF_OP_JA pc=64 dst=r0 src=r0 offset=147 imm=0
// EBPF_OP_JA pc=64 dst=r0 src=r0 offset=149 imm=0
#line 32 "sample/sockops.c"
goto label_12;
label_7:
@ -454,459 +454,465 @@ label_7:
// EBPF_OP_ADD64_IMM pc=72 dst=r3 src=r0 offset=0 imm=28
#line 46 "sample/sockops.c"
r3 += IMMEDIATE(28);
// EBPF_OP_STXDW pc=73 dst=r10 src=r1 offset=-72 imm=0
// EBPF_OP_STXDW pc=73 dst=r10 src=r1 offset=-80 imm=0
#line 46 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
// EBPF_OP_ADD64_IMM pc=74 dst=r1 src=r0 offset=0 imm=8
#line 46 "sample/sockops.c"
r1 += IMMEDIATE(8);
// EBPF_OP_MOV64_REG pc=75 dst=r0 src=r1 offset=0 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-80)) = (uint64_t)r1;
// EBPF_OP_MOV64_REG pc=74 dst=r0 src=r1 offset=0 imm=0
#line 46 "sample/sockops.c"
r0 = r1;
// EBPF_OP_JNE_IMM pc=76 dst=r4 src=r0 offset=1 imm=0
// EBPF_OP_ADD64_IMM pc=75 dst=r0 src=r0 offset=0 imm=8
#line 46 "sample/sockops.c"
r0 += IMMEDIATE(8);
// EBPF_OP_STXDW pc=76 dst=r10 src=r0 offset=-104 imm=0
#line 46 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-104)) = (uint64_t)r0;
// EBPF_OP_JNE_IMM pc=77 dst=r4 src=r0 offset=1 imm=0
#line 46 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_8;
// EBPF_OP_MOV64_REG pc=77 dst=r0 src=r3 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=78 dst=r0 src=r3 offset=0 imm=0
#line 46 "sample/sockops.c"
r0 = r3;
label_8:
// EBPF_OP_LDXB pc=78 dst=r2 src=r0 offset=13 imm=0
// EBPF_OP_LDXB pc=79 dst=r2 src=r0 offset=13 imm=0
#line 47 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(13));
// EBPF_OP_LSH64_IMM pc=79 dst=r2 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=80 dst=r2 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r2 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=80 dst=r5 src=r0 offset=12 imm=0
// EBPF_OP_LDXB pc=81 dst=r1 src=r0 offset=12 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(12));
// EBPF_OP_STXDW pc=81 dst=r10 src=r5 offset=-64 imm=0
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(12));
// EBPF_OP_STXDW pc=82 dst=r10 src=r1 offset=-64 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r5;
// EBPF_OP_LDXB pc=82 dst=r8 src=r0 offset=15 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
// EBPF_OP_LDXB pc=83 dst=r8 src=r0 offset=15 imm=0
#line 47 "sample/sockops.c"
r8 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(15));
// EBPF_OP_LSH64_IMM pc=83 dst=r8 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=84 dst=r8 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r8 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=84 dst=r5 src=r0 offset=14 imm=0
// EBPF_OP_LDXB pc=85 dst=r5 src=r0 offset=14 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(14));
// EBPF_OP_OR64_REG pc=85 dst=r8 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=86 dst=r8 src=r5 offset=0 imm=0
#line 47 "sample/sockops.c"
r8 |= r5;
// EBPF_OP_LDXB pc=86 dst=r6 src=r0 offset=9 imm=0
// EBPF_OP_LDXB pc=87 dst=r6 src=r0 offset=9 imm=0
#line 47 "sample/sockops.c"
r6 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(9));
// EBPF_OP_LSH64_IMM pc=87 dst=r6 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=88 dst=r6 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r6 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=88 dst=r5 src=r0 offset=8 imm=0
// EBPF_OP_LDXB pc=89 dst=r1 src=r0 offset=8 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(8));
// EBPF_OP_STXDW pc=89 dst=r10 src=r5 offset=-80 imm=0
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(8));
// EBPF_OP_STXDW pc=90 dst=r10 src=r1 offset=-72 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-80)) = (uint64_t)r5;
// EBPF_OP_LDXB pc=90 dst=r9 src=r0 offset=11 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
// EBPF_OP_LDXB pc=91 dst=r9 src=r0 offset=11 imm=0
#line 47 "sample/sockops.c"
r9 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(11));
// EBPF_OP_LSH64_IMM pc=91 dst=r9 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=92 dst=r9 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r9 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=92 dst=r5 src=r0 offset=10 imm=0
// EBPF_OP_LDXB pc=93 dst=r5 src=r0 offset=10 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(10));
// EBPF_OP_OR64_REG pc=93 dst=r9 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=94 dst=r9 src=r5 offset=0 imm=0
#line 47 "sample/sockops.c"
r9 |= r5;
// EBPF_OP_LDXB pc=94 dst=r5 src=r0 offset=1 imm=0
// EBPF_OP_LDXB pc=95 dst=r5 src=r0 offset=1 imm=0
#line 47 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(1));
// EBPF_OP_LDXB pc=95 dst=r7 src=r0 offset=3 imm=0
// EBPF_OP_LDXB pc=96 dst=r7 src=r0 offset=0 imm=0
#line 47 "sample/sockops.c"
r7 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(0));
// EBPF_OP_STXDW pc=97 dst=r10 src=r7 offset=-88 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-88)) = (uint64_t)r7;
// EBPF_OP_LDXB pc=98 dst=r7 src=r0 offset=3 imm=0
#line 47 "sample/sockops.c"
r7 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(3));
// EBPF_OP_JNE_IMM pc=96 dst=r4 src=r0 offset=1 imm=0
#line 48 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_9;
// EBPF_OP_MOV64_REG pc=97 dst=r3 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r3 = r1;
label_9:
// EBPF_OP_LDXDW pc=98 dst=r1 src=r10 offset=-64 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_OR64_REG pc=99 dst=r2 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r2 |= r1;
// EBPF_OP_LDXDW pc=100 dst=r1 src=r10 offset=-80 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-80));
// EBPF_OP_OR64_REG pc=101 dst=r6 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r6 |= r1;
// EBPF_OP_LSH64_IMM pc=102 dst=r9 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r9 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=103 dst=r8 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r8 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=104 dst=r5 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=105 dst=r1 src=r0 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(0));
// EBPF_OP_STXDW pc=106 dst=r10 src=r1 offset=-88 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-88)) = (uint64_t)r1;
// EBPF_OP_LSH64_IMM pc=107 dst=r7 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r7 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=108 dst=r1 src=r0 offset=2 imm=0
#line 48 "sample/sockops.c"
// EBPF_OP_LDXB pc=99 dst=r1 src=r0 offset=2 imm=0
#line 47 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(2));
// EBPF_OP_STXDW pc=109 dst=r10 src=r1 offset=-96 imm=0
// EBPF_OP_STXDW pc=100 dst=r10 src=r1 offset=-96 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-96)) = (uint64_t)r1;
// EBPF_OP_MOV64_IMM pc=110 dst=r1 src=r0 offset=0 imm=44
// EBPF_OP_JNE_IMM pc=101 dst=r4 src=r0 offset=1 imm=0
#line 48 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_9;
// EBPF_OP_LDXDW pc=102 dst=r3 src=r10 offset=-104 imm=0
#line 48 "sample/sockops.c"
r3 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-104));
label_9:
// EBPF_OP_LDXDW pc=103 dst=r1 src=r10 offset=-64 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_OR64_REG pc=104 dst=r2 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r2 |= r1;
// EBPF_OP_LDXDW pc=105 dst=r1 src=r10 offset=-72 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-72));
// EBPF_OP_OR64_REG pc=106 dst=r6 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r6 |= r1;
// EBPF_OP_LSH64_IMM pc=107 dst=r9 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r9 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=108 dst=r8 src=r0 offset=0 imm=16
#line 48 "sample/sockops.c"
r8 <<= IMMEDIATE(16);
// EBPF_OP_LSH64_IMM pc=109 dst=r5 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LSH64_IMM pc=110 dst=r7 src=r0 offset=0 imm=8
#line 48 "sample/sockops.c"
r7 <<= IMMEDIATE(8);
// EBPF_OP_MOV64_IMM pc=111 dst=r1 src=r0 offset=0 imm=44
#line 48 "sample/sockops.c"
r1 = IMMEDIATE(44);
// EBPF_OP_STXDW pc=111 dst=r10 src=r1 offset=-64 imm=0
// EBPF_OP_STXDW pc=112 dst=r10 src=r1 offset=-72 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
// EBPF_OP_MOV64_IMM pc=112 dst=r1 src=r0 offset=0 imm=24
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
// EBPF_OP_MOV64_IMM pc=113 dst=r1 src=r0 offset=0 imm=24
#line 48 "sample/sockops.c"
r1 = IMMEDIATE(24);
// EBPF_OP_JNE_IMM pc=113 dst=r4 src=r0 offset=1 imm=0
// EBPF_OP_STXDW pc=114 dst=r10 src=r1 offset=-64 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
// EBPF_OP_JNE_IMM pc=115 dst=r4 src=r0 offset=2 imm=0
#line 48 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_10;
// EBPF_OP_MOV64_IMM pc=114 dst=r1 src=r0 offset=0 imm=44
// EBPF_OP_MOV64_IMM pc=116 dst=r1 src=r0 offset=0 imm=44
#line 48 "sample/sockops.c"
r1 = IMMEDIATE(44);
label_10:
// EBPF_OP_STXDW pc=115 dst=r10 src=r1 offset=-80 imm=0
// EBPF_OP_STXDW pc=117 dst=r10 src=r1 offset=-64 imm=0
#line 48 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-80)) = (uint64_t)r1;
// EBPF_OP_OR64_REG pc=116 dst=r9 src=r6 offset=0 imm=0
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
label_10:
// EBPF_OP_OR64_REG pc=118 dst=r9 src=r6 offset=0 imm=0
#line 48 "sample/sockops.c"
r9 |= r6;
// EBPF_OP_OR64_REG pc=117 dst=r8 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=119 dst=r8 src=r2 offset=0 imm=0
#line 48 "sample/sockops.c"
r8 |= r2;
// EBPF_OP_LDXDW pc=118 dst=r1 src=r10 offset=-88 imm=0
// EBPF_OP_LDXDW pc=120 dst=r1 src=r10 offset=-88 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-88));
// EBPF_OP_OR64_REG pc=119 dst=r5 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=121 dst=r5 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r5 |= r1;
// EBPF_OP_LDXDW pc=120 dst=r1 src=r10 offset=-96 imm=0
// EBPF_OP_LDXDW pc=122 dst=r1 src=r10 offset=-96 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-96));
// EBPF_OP_OR64_REG pc=121 dst=r7 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=123 dst=r7 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r7 |= r1;
// EBPF_OP_JNE_IMM pc=122 dst=r4 src=r0 offset=2 imm=0
// EBPF_OP_JNE_IMM pc=124 dst=r4 src=r0 offset=2 imm=0
#line 51 "sample/sockops.c"
if (r4 != IMMEDIATE(0)) goto label_11;
// EBPF_OP_MOV64_IMM pc=123 dst=r1 src=r0 offset=0 imm=24
// EBPF_OP_MOV64_IMM pc=125 dst=r1 src=r0 offset=0 imm=24
#line 51 "sample/sockops.c"
r1 = IMMEDIATE(24);
// EBPF_OP_STXDW pc=124 dst=r10 src=r1 offset=-64 imm=0
// EBPF_OP_STXDW pc=126 dst=r10 src=r1 offset=-72 imm=0
#line 51 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-64)) = (uint64_t)r1;
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-72)) = (uint64_t)r1;
label_11:
// EBPF_OP_LDXDW pc=125 dst=r1 src=r10 offset=-56 imm=0
// EBPF_OP_LDXDW pc=127 dst=r2 src=r10 offset=-56 imm=0
#line 51 "sample/sockops.c"
r1 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-56));
// EBPF_OP_OR64_REG pc=126 dst=r1 src=r4 offset=0 imm=0
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-56));
// EBPF_OP_OR64_REG pc=128 dst=r2 src=r4 offset=0 imm=0
#line 53 "sample/sockops.c"
r1 |= r4;
// EBPF_OP_STXDW pc=127 dst=r10 src=r1 offset=-56 imm=0
r2 |= r4;
// EBPF_OP_STXDW pc=129 dst=r10 src=r2 offset=-56 imm=0
#line 53 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-56)) = (uint64_t)r1;
// EBPF_OP_LSH64_IMM pc=128 dst=r8 src=r0 offset=0 imm=32
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-56)) = (uint64_t)r2;
// EBPF_OP_LSH64_IMM pc=130 dst=r8 src=r0 offset=0 imm=32
#line 47 "sample/sockops.c"
r8 <<= IMMEDIATE(32);
// EBPF_OP_OR64_REG pc=129 dst=r8 src=r9 offset=0 imm=0
// EBPF_OP_OR64_REG pc=131 dst=r8 src=r9 offset=0 imm=0
#line 47 "sample/sockops.c"
r8 |= r9;
// EBPF_OP_STXDW pc=130 dst=r10 src=r8 offset=-40 imm=0
// EBPF_OP_STXDW pc=132 dst=r10 src=r8 offset=-40 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-40)) = (uint64_t)r8;
// EBPF_OP_LSH64_IMM pc=131 dst=r7 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=133 dst=r7 src=r0 offset=0 imm=16
#line 47 "sample/sockops.c"
r7 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=132 dst=r7 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=134 dst=r7 src=r5 offset=0 imm=0
#line 47 "sample/sockops.c"
r7 |= r5;
// EBPF_OP_LDXB pc=133 dst=r1 src=r0 offset=5 imm=0
// EBPF_OP_LDXB pc=135 dst=r1 src=r0 offset=5 imm=0
#line 47 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(5));
// EBPF_OP_LSH64_IMM pc=134 dst=r1 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=136 dst=r1 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r1 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=135 dst=r2 src=r0 offset=4 imm=0
// EBPF_OP_LDXB pc=137 dst=r2 src=r0 offset=4 imm=0
#line 47 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(4));
// EBPF_OP_OR64_REG pc=136 dst=r1 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=138 dst=r1 src=r2 offset=0 imm=0
#line 47 "sample/sockops.c"
r1 |= r2;
// EBPF_OP_LDXB pc=137 dst=r2 src=r0 offset=6 imm=0
// EBPF_OP_LDXB pc=139 dst=r2 src=r0 offset=6 imm=0
#line 47 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(6));
// EBPF_OP_LDXB pc=138 dst=r4 src=r0 offset=7 imm=0
// EBPF_OP_LDXB pc=140 dst=r4 src=r0 offset=7 imm=0
#line 47 "sample/sockops.c"
r4 = *(uint8_t *)(uintptr_t)(r0 + OFFSET(7));
// EBPF_OP_LSH64_IMM pc=139 dst=r4 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=141 dst=r4 src=r0 offset=0 imm=8
#line 47 "sample/sockops.c"
r4 <<= IMMEDIATE(8);
// EBPF_OP_OR64_REG pc=140 dst=r4 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=142 dst=r4 src=r2 offset=0 imm=0
#line 47 "sample/sockops.c"
r4 |= r2;
// EBPF_OP_LSH64_IMM pc=141 dst=r4 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=143 dst=r4 src=r0 offset=0 imm=16
#line 47 "sample/sockops.c"
r4 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=142 dst=r4 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=144 dst=r4 src=r1 offset=0 imm=0
#line 47 "sample/sockops.c"
r4 |= r1;
// EBPF_OP_LSH64_IMM pc=143 dst=r4 src=r0 offset=0 imm=32
// EBPF_OP_LSH64_IMM pc=145 dst=r4 src=r0 offset=0 imm=32
#line 47 "sample/sockops.c"
r4 <<= IMMEDIATE(32);
// EBPF_OP_OR64_REG pc=144 dst=r4 src=r7 offset=0 imm=0
// EBPF_OP_OR64_REG pc=146 dst=r4 src=r7 offset=0 imm=0
#line 47 "sample/sockops.c"
r4 |= r7;
// EBPF_OP_STXDW pc=145 dst=r10 src=r4 offset=-48 imm=0
// EBPF_OP_STXDW pc=147 dst=r10 src=r4 offset=-48 imm=0
#line 47 "sample/sockops.c"
*(uint64_t *)(uintptr_t)(r10 + OFFSET(-48)) = (uint64_t)r4;
// EBPF_OP_LDXDW pc=146 dst=r6 src=r10 offset=-72 imm=0
// EBPF_OP_LDXDW pc=148 dst=r6 src=r10 offset=-80 imm=0
#line 47 "sample/sockops.c"
r6 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-72));
// EBPF_OP_MOV64_REG pc=147 dst=r1 src=r6 offset=0 imm=0
r6 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-80));
// EBPF_OP_MOV64_REG pc=149 dst=r1 src=r6 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 = r6;
// EBPF_OP_LDXDW pc=148 dst=r2 src=r10 offset=-80 imm=0
// EBPF_OP_LDXDW pc=150 dst=r2 src=r10 offset=-64 imm=0
#line 48 "sample/sockops.c"
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-80));
// EBPF_OP_ADD64_REG pc=149 dst=r1 src=r2 offset=0 imm=0
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_ADD64_REG pc=151 dst=r1 src=r2 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 += r2;
// EBPF_OP_LDXW pc=150 dst=r1 src=r1 offset=0 imm=0
// EBPF_OP_LDXW pc=152 dst=r1 src=r1 offset=0 imm=0
#line 48 "sample/sockops.c"
r1 = *(uint32_t *)(uintptr_t)(r1 + OFFSET(0));
// EBPF_OP_STXH pc=151 dst=r10 src=r1 offset=-32 imm=0
// EBPF_OP_STXH pc=153 dst=r10 src=r1 offset=-32 imm=0
#line 48 "sample/sockops.c"
*(uint16_t *)(uintptr_t)(r10 + OFFSET(-32)) = (uint16_t)r1;
// EBPF_OP_LDXB pc=152 dst=r4 src=r3 offset=13 imm=0
// EBPF_OP_LDXB pc=154 dst=r4 src=r3 offset=13 imm=0
#line 50 "sample/sockops.c"
r4 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(13));
// EBPF_OP_LSH64_IMM pc=153 dst=r4 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=155 dst=r4 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r4 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=154 dst=r1 src=r3 offset=12 imm=0
// EBPF_OP_LDXB pc=156 dst=r1 src=r3 offset=12 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(12));
// EBPF_OP_OR64_REG pc=155 dst=r4 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=157 dst=r4 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r4 |= r1;
// EBPF_OP_LDXB pc=156 dst=r2 src=r3 offset=15 imm=0
// EBPF_OP_LDXB pc=158 dst=r2 src=r3 offset=15 imm=0
#line 50 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(15));
// EBPF_OP_LSH64_IMM pc=157 dst=r2 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=159 dst=r2 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r2 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=158 dst=r1 src=r3 offset=14 imm=0
// EBPF_OP_LDXB pc=160 dst=r1 src=r3 offset=14 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(14));
// EBPF_OP_OR64_REG pc=159 dst=r2 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=161 dst=r2 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r2 |= r1;
// EBPF_OP_LDXB pc=160 dst=r5 src=r3 offset=1 imm=0
// EBPF_OP_LDXB pc=162 dst=r5 src=r3 offset=1 imm=0
#line 50 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(1));
// EBPF_OP_LSH64_IMM pc=161 dst=r5 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=163 dst=r5 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=162 dst=r1 src=r3 offset=0 imm=0
// EBPF_OP_LDXB pc=164 dst=r1 src=r3 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(0));
// EBPF_OP_OR64_REG pc=163 dst=r5 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=165 dst=r5 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r5 |= r1;
// EBPF_OP_LDXB pc=164 dst=r1 src=r3 offset=3 imm=0
// EBPF_OP_LDXB pc=166 dst=r1 src=r3 offset=3 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(3));
// EBPF_OP_LSH64_IMM pc=165 dst=r1 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=167 dst=r1 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r1 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=166 dst=r0 src=r3 offset=2 imm=0
// EBPF_OP_LDXB pc=168 dst=r0 src=r3 offset=2 imm=0
#line 50 "sample/sockops.c"
r0 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(2));
// EBPF_OP_OR64_REG pc=167 dst=r1 src=r0 offset=0 imm=0
// EBPF_OP_OR64_REG pc=169 dst=r1 src=r0 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 |= r0;
// EBPF_OP_LSH64_IMM pc=168 dst=r1 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=170 dst=r1 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r1 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=169 dst=r1 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=171 dst=r1 src=r5 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 |= r5;
// EBPF_OP_LSH64_IMM pc=170 dst=r2 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=172 dst=r2 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r2 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=171 dst=r2 src=r4 offset=0 imm=0
// EBPF_OP_OR64_REG pc=173 dst=r2 src=r4 offset=0 imm=0
#line 50 "sample/sockops.c"
r2 |= r4;
// EBPF_OP_LDXB pc=172 dst=r4 src=r3 offset=9 imm=0
// EBPF_OP_LDXB pc=174 dst=r4 src=r3 offset=9 imm=0
#line 50 "sample/sockops.c"
r4 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(9));
// EBPF_OP_LSH64_IMM pc=173 dst=r4 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=175 dst=r4 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r4 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=174 dst=r5 src=r3 offset=8 imm=0
// EBPF_OP_LDXB pc=176 dst=r5 src=r3 offset=8 imm=0
#line 50 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(8));
// EBPF_OP_OR64_REG pc=175 dst=r4 src=r5 offset=0 imm=0
// EBPF_OP_OR64_REG pc=177 dst=r4 src=r5 offset=0 imm=0
#line 50 "sample/sockops.c"
r4 |= r5;
// EBPF_OP_LDXB pc=176 dst=r5 src=r3 offset=11 imm=0
// EBPF_OP_LDXB pc=178 dst=r5 src=r3 offset=11 imm=0
#line 50 "sample/sockops.c"
r5 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(11));
// EBPF_OP_LSH64_IMM pc=177 dst=r5 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=179 dst=r5 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r5 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=178 dst=r0 src=r3 offset=10 imm=0
// EBPF_OP_LDXB pc=180 dst=r0 src=r3 offset=10 imm=0
#line 50 "sample/sockops.c"
r0 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(10));
// EBPF_OP_OR64_REG pc=179 dst=r5 src=r0 offset=0 imm=0
// EBPF_OP_OR64_REG pc=181 dst=r5 src=r0 offset=0 imm=0
#line 50 "sample/sockops.c"
r5 |= r0;
// EBPF_OP_LSH64_IMM pc=180 dst=r5 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=182 dst=r5 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r5 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=181 dst=r5 src=r4 offset=0 imm=0
// EBPF_OP_OR64_REG pc=183 dst=r5 src=r4 offset=0 imm=0
#line 50 "sample/sockops.c"
r5 |= r4;
// EBPF_OP_STXW pc=182 dst=r10 src=r5 offset=-20 imm=0
// EBPF_OP_STXW pc=184 dst=r10 src=r5 offset=-20 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-20)) = (uint32_t)r5;
// EBPF_OP_STXW pc=183 dst=r10 src=r2 offset=-16 imm=0
// EBPF_OP_STXW pc=185 dst=r10 src=r2 offset=-16 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-16)) = (uint32_t)r2;
// EBPF_OP_STXW pc=184 dst=r10 src=r1 offset=-28 imm=0
// EBPF_OP_STXW pc=186 dst=r10 src=r1 offset=-28 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-28)) = (uint32_t)r1;
// EBPF_OP_LDXB pc=185 dst=r1 src=r3 offset=5 imm=0
// EBPF_OP_LDXB pc=187 dst=r1 src=r3 offset=5 imm=0
#line 50 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(5));
// EBPF_OP_LSH64_IMM pc=186 dst=r1 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=188 dst=r1 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r1 <<= IMMEDIATE(8);
// EBPF_OP_LDXB pc=187 dst=r2 src=r3 offset=4 imm=0
// EBPF_OP_LDXB pc=189 dst=r2 src=r3 offset=4 imm=0
#line 50 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(4));
// EBPF_OP_OR64_REG pc=188 dst=r1 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=190 dst=r1 src=r2 offset=0 imm=0
#line 50 "sample/sockops.c"
r1 |= r2;
// EBPF_OP_LDXB pc=189 dst=r2 src=r3 offset=6 imm=0
// EBPF_OP_LDXB pc=191 dst=r2 src=r3 offset=6 imm=0
#line 50 "sample/sockops.c"
r2 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(6));
// EBPF_OP_LDXB pc=190 dst=r3 src=r3 offset=7 imm=0
// EBPF_OP_LDXB pc=192 dst=r3 src=r3 offset=7 imm=0
#line 50 "sample/sockops.c"
r3 = *(uint8_t *)(uintptr_t)(r3 + OFFSET(7));
// EBPF_OP_LSH64_IMM pc=191 dst=r3 src=r0 offset=0 imm=8
// EBPF_OP_LSH64_IMM pc=193 dst=r3 src=r0 offset=0 imm=8
#line 50 "sample/sockops.c"
r3 <<= IMMEDIATE(8);
// EBPF_OP_OR64_REG pc=192 dst=r3 src=r2 offset=0 imm=0
// EBPF_OP_OR64_REG pc=194 dst=r3 src=r2 offset=0 imm=0
#line 50 "sample/sockops.c"
r3 |= r2;
// EBPF_OP_LSH64_IMM pc=193 dst=r3 src=r0 offset=0 imm=16
// EBPF_OP_LSH64_IMM pc=195 dst=r3 src=r0 offset=0 imm=16
#line 50 "sample/sockops.c"
r3 <<= IMMEDIATE(16);
// EBPF_OP_OR64_REG pc=194 dst=r3 src=r1 offset=0 imm=0
// EBPF_OP_OR64_REG pc=196 dst=r3 src=r1 offset=0 imm=0
#line 50 "sample/sockops.c"
r3 |= r1;
// EBPF_OP_STXW pc=195 dst=r10 src=r3 offset=-24 imm=0
// EBPF_OP_STXW pc=197 dst=r10 src=r3 offset=-24 imm=0
#line 50 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-24)) = (uint32_t)r3;
// EBPF_OP_MOV64_REG pc=196 dst=r1 src=r6 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=198 dst=r1 src=r6 offset=0 imm=0
#line 51 "sample/sockops.c"
r1 = r6;
// EBPF_OP_LDXDW pc=197 dst=r2 src=r10 offset=-64 imm=0
// EBPF_OP_LDXDW pc=199 dst=r2 src=r10 offset=-72 imm=0
#line 51 "sample/sockops.c"
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-64));
// EBPF_OP_ADD64_REG pc=198 dst=r1 src=r2 offset=0 imm=0
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-72));
// EBPF_OP_ADD64_REG pc=200 dst=r1 src=r2 offset=0 imm=0
#line 51 "sample/sockops.c"
r1 += r2;
// EBPF_OP_LDXW pc=199 dst=r1 src=r1 offset=0 imm=0
// EBPF_OP_LDXW pc=201 dst=r1 src=r1 offset=0 imm=0
#line 51 "sample/sockops.c"
r1 = *(uint32_t *)(uintptr_t)(r1 + OFFSET(0));
// EBPF_OP_STXH pc=200 dst=r10 src=r1 offset=-12 imm=0
// EBPF_OP_STXH pc=202 dst=r10 src=r1 offset=-12 imm=0
#line 51 "sample/sockops.c"
*(uint16_t *)(uintptr_t)(r10 + OFFSET(-12)) = (uint16_t)r1;
// EBPF_OP_LDXB pc=201 dst=r1 src=r6 offset=48 imm=0
// EBPF_OP_LDXB pc=203 dst=r1 src=r6 offset=48 imm=0
#line 52 "sample/sockops.c"
r1 = *(uint8_t *)(uintptr_t)(r6 + OFFSET(48));
// EBPF_OP_LDXDW pc=202 dst=r2 src=r10 offset=-56 imm=0
// EBPF_OP_LDXDW pc=204 dst=r2 src=r10 offset=-56 imm=0
#line 54 "sample/sockops.c"
r2 = *(uint64_t *)(uintptr_t)(r10 + OFFSET(-56));
// EBPF_OP_STXB pc=203 dst=r10 src=r2 offset=-4 imm=0
// EBPF_OP_STXB pc=205 dst=r10 src=r2 offset=-4 imm=0
#line 54 "sample/sockops.c"
*(uint8_t *)(uintptr_t)(r10 + OFFSET(-4)) = (uint8_t)r2;
// EBPF_OP_STXW pc=204 dst=r10 src=r1 offset=-8 imm=0
// EBPF_OP_STXW pc=206 dst=r10 src=r1 offset=-8 imm=0
#line 52 "sample/sockops.c"
*(uint32_t *)(uintptr_t)(r10 + OFFSET(-8)) = (uint32_t)r1;
// EBPF_OP_MOV64_REG pc=205 dst=r2 src=r10 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=207 dst=r2 src=r10 offset=0 imm=0
#line 52 "sample/sockops.c"
r2 = r10;
// EBPF_OP_ADD64_IMM pc=206 dst=r2 src=r0 offset=0 imm=-48
// EBPF_OP_ADD64_IMM pc=208 dst=r2 src=r0 offset=0 imm=-48
#line 53 "sample/sockops.c"
r2 += IMMEDIATE(-48);
// EBPF_OP_LDDW pc=207 dst=r1 src=r0 offset=0 imm=0
// EBPF_OP_LDDW pc=209 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r1 = POINTER(_maps[0].address);
// EBPF_OP_CALL pc=209 dst=r0 src=r0 offset=0 imm=1
// EBPF_OP_CALL pc=211 dst=r0 src=r0 offset=0 imm=1
#line 56 "sample/sockops.c"
r0 = connection_monitor_helpers[0].address
#line 56 "sample/sockops.c"
(r1, r2, r3, r4, r5);
#line 56 "sample/sockops.c"
if ((connection_monitor_helpers[0].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_MOV64_IMM pc=210 dst=r6 src=r0 offset=0 imm=0
// EBPF_OP_MOV64_IMM pc=212 dst=r6 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r6 = IMMEDIATE(0);
// EBPF_OP_JEQ_IMM pc=211 dst=r0 src=r0 offset=8 imm=0
// EBPF_OP_JEQ_IMM pc=213 dst=r0 src=r0 offset=8 imm=0
#line 56 "sample/sockops.c"
if (r0 == IMMEDIATE(0)) goto label_13;
label_12:
// EBPF_OP_MOV64_REG pc=212 dst=r2 src=r10 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=214 dst=r2 src=r10 offset=0 imm=0
#line 56 "sample/sockops.c"
r2 = r10;
// EBPF_OP_ADD64_IMM pc=213 dst=r2 src=r0 offset=0 imm=-48
// EBPF_OP_ADD64_IMM pc=215 dst=r2 src=r0 offset=0 imm=-48
#line 56 "sample/sockops.c"
r2 += IMMEDIATE(-48);
// EBPF_OP_LDDW pc=214 dst=r1 src=r0 offset=0 imm=0
// EBPF_OP_LDDW pc=216 dst=r1 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r1 = POINTER(_maps[1].address);
// EBPF_OP_MOV64_IMM pc=216 dst=r3 src=r0 offset=0 imm=48
// EBPF_OP_MOV64_IMM pc=218 dst=r3 src=r0 offset=0 imm=48
#line 56 "sample/sockops.c"
r3 = IMMEDIATE(48);
// EBPF_OP_MOV64_IMM pc=217 dst=r4 src=r0 offset=0 imm=0
// EBPF_OP_MOV64_IMM pc=219 dst=r4 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r4 = IMMEDIATE(0);
// EBPF_OP_CALL pc=218 dst=r0 src=r0 offset=0 imm=11
// EBPF_OP_CALL pc=220 dst=r0 src=r0 offset=0 imm=11
#line 56 "sample/sockops.c"
r0 = connection_monitor_helpers[1].address
#line 56 "sample/sockops.c"
(r1, r2, r3, r4, r5);
#line 56 "sample/sockops.c"
if ((connection_monitor_helpers[1].tail_call) && (r0 == 0)) return 0;
// EBPF_OP_MOV64_REG pc=219 dst=r6 src=r0 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=221 dst=r6 src=r0 offset=0 imm=0
#line 56 "sample/sockops.c"
r6 = r0;
label_13:
// EBPF_OP_MOV64_REG pc=220 dst=r0 src=r6 offset=0 imm=0
// EBPF_OP_MOV64_REG pc=222 dst=r0 src=r6 offset=0 imm=0
#line 89 "sample/sockops.c"
r0 = r6;
// EBPF_OP_EXIT pc=221 dst=r0 src=r0 offset=0 imm=0
// EBPF_OP_EXIT pc=223 dst=r0 src=r0 offset=0 imm=0
#line 89 "sample/sockops.c"
return r0;
#line 89 "sample/sockops.c"
@ -914,7 +920,7 @@ label_13:
#line __LINE__ __FILE__
static program_entry_t _programs[] = {
{ connection_monitor, "sockops", "connection_monitor", connection_monitor_maps, 2, connection_monitor_helpers, 2, 222, &connection_monitor_program_type_guid, &connection_monitor_attach_type_guid, },
{ connection_monitor, "sockops", "connection_monitor", connection_monitor_maps, 2, connection_monitor_helpers, 2, 224, &connection_monitor_program_type_guid, &connection_monitor_attach_type_guid, },
};
static void _get_programs(_Outptr_result_buffer_(*count) program_entry_t** programs, _Out_ size_t* count)

Просмотреть файл

@ -151,18 +151,18 @@ static uint64_t test_program_entry(void* context)
// EBPF_OP_MOV64_REG pc=15 dst=r7 src=r0 offset=0 imm=0
#line 36 "sample/test_sample_ebpf.c"
r7 = r0;
// EBPF_OP_LDXDW pc=16 dst=r1 src=r6 offset=0 imm=0
#line 38 "sample/test_sample_ebpf.c"
r1 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(0));
// EBPF_OP_LDXDW pc=17 dst=r2 src=r6 offset=8 imm=0
#line 38 "sample/test_sample_ebpf.c"
r2 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(8));
// EBPF_OP_JGE_REG pc=18 dst=r1 src=r2 offset=15 imm=0
#line 38 "sample/test_sample_ebpf.c"
if (r1 >= r2) goto label_1;
// EBPF_OP_JEQ_IMM pc=19 dst=r8 src=r0 offset=14 imm=0
// EBPF_OP_JEQ_IMM pc=16 dst=r8 src=r0 offset=17 imm=0
#line 38 "sample/test_sample_ebpf.c"
if (r8 == IMMEDIATE(0)) goto label_1;
// EBPF_OP_LDXDW pc=17 dst=r1 src=r6 offset=0 imm=0
#line 38 "sample/test_sample_ebpf.c"
r1 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(0));
// EBPF_OP_LDXDW pc=18 dst=r2 src=r6 offset=8 imm=0
#line 38 "sample/test_sample_ebpf.c"
r2 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(8));
// EBPF_OP_JGE_REG pc=19 dst=r1 src=r2 offset=14 imm=0
#line 38 "sample/test_sample_ebpf.c"
if (r1 >= r2) goto label_1;
// EBPF_OP_SUB64_REG pc=20 dst=r2 src=r1 offset=0 imm=0
#line 43 "sample/test_sample_ebpf.c"
r2 -= r1;

Просмотреть файл

@ -109,18 +109,18 @@ static uint64_t test_program_entry(void* context)
// EBPF_OP_MOV64_REG pc=15 dst=r7 src=r0 offset=0 imm=0
#line 36 "sample/test_sample_ebpf.c"
r7 = r0;
// EBPF_OP_LDXDW pc=16 dst=r1 src=r6 offset=0 imm=0
#line 38 "sample/test_sample_ebpf.c"
r1 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(0));
// EBPF_OP_LDXDW pc=17 dst=r2 src=r6 offset=8 imm=0
#line 38 "sample/test_sample_ebpf.c"
r2 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(8));
// EBPF_OP_JGE_REG pc=18 dst=r1 src=r2 offset=15 imm=0
#line 38 "sample/test_sample_ebpf.c"
if (r1 >= r2) goto label_1;
// EBPF_OP_JEQ_IMM pc=19 dst=r8 src=r0 offset=14 imm=0
// EBPF_OP_JEQ_IMM pc=16 dst=r8 src=r0 offset=17 imm=0
#line 38 "sample/test_sample_ebpf.c"
if (r8 == IMMEDIATE(0)) goto label_1;
// EBPF_OP_LDXDW pc=17 dst=r1 src=r6 offset=0 imm=0
#line 38 "sample/test_sample_ebpf.c"
r1 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(0));
// EBPF_OP_LDXDW pc=18 dst=r2 src=r6 offset=8 imm=0
#line 38 "sample/test_sample_ebpf.c"
r2 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(8));
// EBPF_OP_JGE_REG pc=19 dst=r1 src=r2 offset=14 imm=0
#line 38 "sample/test_sample_ebpf.c"
if (r1 >= r2) goto label_1;
// EBPF_OP_SUB64_REG pc=20 dst=r2 src=r1 offset=0 imm=0
#line 43 "sample/test_sample_ebpf.c"
r2 -= r1;

Просмотреть файл

@ -276,18 +276,18 @@ static uint64_t test_program_entry(void* context)
// EBPF_OP_MOV64_REG pc=15 dst=r7 src=r0 offset=0 imm=0
#line 36 "sample/test_sample_ebpf.c"
r7 = r0;
// EBPF_OP_LDXDW pc=16 dst=r1 src=r6 offset=0 imm=0
#line 38 "sample/test_sample_ebpf.c"
r1 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(0));
// EBPF_OP_LDXDW pc=17 dst=r2 src=r6 offset=8 imm=0
#line 38 "sample/test_sample_ebpf.c"
r2 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(8));
// EBPF_OP_JGE_REG pc=18 dst=r1 src=r2 offset=15 imm=0
#line 38 "sample/test_sample_ebpf.c"
if (r1 >= r2) goto label_1;
// EBPF_OP_JEQ_IMM pc=19 dst=r8 src=r0 offset=14 imm=0
// EBPF_OP_JEQ_IMM pc=16 dst=r8 src=r0 offset=17 imm=0
#line 38 "sample/test_sample_ebpf.c"
if (r8 == IMMEDIATE(0)) goto label_1;
// EBPF_OP_LDXDW pc=17 dst=r1 src=r6 offset=0 imm=0
#line 38 "sample/test_sample_ebpf.c"
r1 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(0));
// EBPF_OP_LDXDW pc=18 dst=r2 src=r6 offset=8 imm=0
#line 38 "sample/test_sample_ebpf.c"
r2 = *(uint64_t *)(uintptr_t)(r6 + OFFSET(8));
// EBPF_OP_JGE_REG pc=19 dst=r1 src=r2 offset=14 imm=0
#line 38 "sample/test_sample_ebpf.c"
if (r1 >= r2) goto label_1;
// EBPF_OP_SUB64_REG pc=20 dst=r2 src=r1 offset=0 imm=0
#line 43 "sample/test_sample_ebpf.c"
r2 -= r1;