mstdn.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A general-purpose Mastodon server with a 500 character limit. All languages are welcome.

Administered by:

Server stats:

14K
active users

#eBPF

3 posts3 participants0 posts today
arXiv logo
arXiv.orgConcurrency Testing in the Linux Kernel via eBPFConcurrency is vital for our critical software to meet modern performance requirements, yet concurrency bugs are notoriously difficult to detect and reproduce. Controlled Concurrency Testing (CCT) can make bugs easier to expose by enabling control over thread interleavings and systematically exploring the interleaving space through scheduling algorithms. However, existing CCT solutions for kernel code are heavyweight, leading to significant performance, maintainability and extensibility issues. In this work, we introduce LACE, a lightweight CCT framework for kernel code empowered by eBPF. Without hypervisor modification, LACE features a custom scheduler tailored for CCT algorithms to serialize non-determistic thread execution into a controlled ordering. LACE also provides a mechanism to safely inject scheduling points into the kernel for fine-grained control. Furthermore, LACE employs a two-phase mutation strategy to integrate the scheduler with a concurrency fuzzer, allowing for automated exploration of both the input and schedule space. In our evaluation, LACE achieves 38\% more branches, 57\% overhead reduction and 11.4$\times$ speed-up in bug exposure compared to the state-of-the-art kernel concurrency fuzzers. Our qualitative analysis also demonstrates the extensibility and maintainability of LACE. Furthermore, LACE discovers eight previously unknown bugs in the Linux kernel, with six confirmed by developers.

'"[…] Suppose you compile an #eBPF program on #kernel version 5.3, but it fails to run on 5.4.

Why? Because each kernel version ships with its own kernel headers, which define structs and memory layouts. […]

So if a certain struct field […] sits at a different offset in another OS or kernel version, these helpers can still locate and read it correctly.

Under the hood, this is made possible by BPF CO-RE relocation information and BTF (BPF Type Format). […]"'

ebpfchirp.substack.com/p/why-d #Linux

eBPFChirp · Why Does My eBPF Program Work on One Kernel but Fail on Another?By Teodor J. Podobnik

Покоряем сетевой стек Linux: декапсулируем пакеты с помощью eBPF на скорости 6Mpps+

Когда переход на VXLAN в облачных сетях грозил нарушить работу системы анализа трафика, нам нужно было найти решение, позволяющее сохранить точный сбор статистики при экстремальных нагрузках и измененной структуре заголовков пакетов. Я — Александр Шишебаров, старший разработчик в команде сетевых функций облака Selectel . Разрабатываю все, что связано с сетью: балансировщики, виртуальные роутеры, сети, глобальный роутер и так далее. В этой статье рассказываю о том, как мы использовали eBPF для перехвата и декапсуляции VXLAN-пакетов прямо в ядре, обеспечив корректный сбор статистики без значительных изменений в архитектуре системы. Разберем, какие требования привели нас к этому решению, как его внедряли и каких результатов удалось достичь. Также расскажу, что такое eBPF, как работает технология, как начать с ней работать и на каких этапах сетевого стека Linux можно перехватывать пакеты с ее помощью. Подробности под катом!

habr.com/ru/companies/oleg-bun

ХабрПокоряем сетевой стек Linux: декапсулируем пакеты с помощью eBPF на скорости 6Mpps+Когда переход на VXLAN в облачных сетях грозил нарушить работу системы анализа трафика, нам нужно было найти решение, позволяющее сохранить точный сбор статистики при экстремальных нагрузках и...

Покоряем сетевой стек Linux: декапсулируем пакеты с помощью eBPF на скорости 6Mpps+

Когда переход на VXLAN в облачных сетях грозил нарушить работу системы анализа трафика, нам нужно было найти решение, позволяющее сохранить точный сбор статистики при экстремальных нагрузках и измененной структуре заголовков пакетов. Я — Александр Шишебаров, старший разработчик в команде сетевых функций

habr.com/ru/companies/selectel

ХабрПокоряем сетевой стек Linux: декапсулируем пакеты с помощью eBPF на скорости 6Mpps+Когда переход на VXLAN в облачных сетях грозил нарушить работу системы анализа трафика, нам нужно было найти решение, позволяющее сохранить точный сбор статистики при экстремальных нагрузках и...

@ish The included #ebpf filter source code files in #Suricata 7 are compilable but they cannot be loaded (at least on Debian 12 standard kernel).

I read somewhere that they need an upgrade, but there is no person volunteering for that (and I can't do it neither).

Is there a specific reason for that? Like it is obsolete due to a better way to perform flow bypasses on standard NICs?

Ihor Solodrai started working on a visualization tool to help read #eBPF verifier logs! Right now it shows the current verifier state at any point and tracks data dependencies. Hopefully, it'll make the logs less scary to newcomers!

Code: github.com/libbpf/bpfvv
Example: libbpf.github.io/bpfvv/?url=ht

eBPF вместо всего: почему это новая эра сетей, мониторинга и безопасности?

Раньше модификация Linux требовала пересборки ядра или использования дополнительных модулей. Но теперь есть eBPF — технология, которая позволяет программировать ядро на лету, не жертвуя стабильностью. Звучит как мечта

habr.com/ru/companies/selectel

ХабрeBPF вместо всего: почему это новая эра сетей, мониторинга и безопасности?Раньше модификация Linux требовала пересборки ядра или использования дополнительных модулей. Но теперь есть eBPF — технология, которая позволяет программировать ядро на лету, не жертвуя стабильностью....