6.60.12 BPF Встроенные функции
Следующие встроенные функции доступны для целей eBPF.
- Встроенная функция: unsigned long long __builtin_bpf_load_byte (unsigned long long offset)
Загрузка байта из данных пакета
struct sk_buff, указанных регистром%r6, и возвращение его.
- Встроенная функция: unsigned long long __builtin_bpf_load_half (unsigned long long offset)
Загрузка 16 бит из данных пакета
struct sk_buff, указанных регистром%r6, и возвращение их.
- Встроенная функция: unsigned long long __builtin_bpf_load_word (unsigned long long offset)
Загрузка 32 бит из данных пакета
struct sk_buff, указанных регистром%r6, и возвращение их.
- Встроенная функция: void * __builtin_preserve_access_index (expr)
Поддержка BPF Compile Once-Run Everywhere (CO-RE). Инструктирует GCC генерировать записи перемещения CO-RE для любых обращений к агрегированным структурам данных (struct, union, массивы типов) в expr. Эта встроенная функция в остальном прозрачна, возвращаемое значение — это то, к чему вычисляется expr. Она также перегружена: expr может быть любого типа (не обязательно указатель), тип возвращаемого значения такой же. Не оказывает никакого влияния, если
-mco-reне активна (не указана или подразумевается).
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/BPF-Built-in-Functions.html