# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Artyom Kunyov , 2012. # Azamat Hackimov , 2012. # Dmitriy Ovchinnikov , 2012. # Dmitry Bolkhovskikh , 2017. # ITriskTI , 2012. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-05-01 15:35+0200\n" "PO-Revision-Date: 2019-08-27 07:22+0000\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BPF-HELPERS" msgstr "BPF-HELPERS" #. type: TH #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "2023-11-10" msgstr "10 ноября 2023 г." #. type: TH #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux" msgid "Linux v6.8" msgstr "Linux" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "ИМЯ" #. Copyright (C) All BPF authors and contributors from 2014 to present. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "BPF-HELPERS - list of eBPF helper functions" msgstr "BPF-HELPERS - список вспомогательных функций eBPF" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "ОПИСАНИЕ" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "The extended Berkeley Packet Filter (eBPF) subsystem consists in programs " #| "written in a pseudo-assembly language, then attached to one of the " #| "several kernel hooks and run in reaction of specific events. This " #| "framework differs from the older, \"classic\" BPF (or \"cBPF\") in " #| "several aspects, one of them being the ability to call special functions " #| "(or \"helpers\") from within a program. These functions are restricted " #| "to a white-list of helpers defined in the kernel." msgid "" "The extended Berkeley Packet Filter (eBPF) subsystem consists in programs " "written in a pseudo-assembly language, then attached to one of the several " "kernel hooks and run in reaction of specific events. This framework differs " "from the older, \"classic\" BPF (or \"cBPF\") in several aspects, one of " "them being the ability to call special functions (or \"helpers\") from " "within a program. These functions are restricted to a white-list of helpers " "defined in the kernel." msgstr "" "Расширенная подсистема пакетных фильтров Беркли (eBPF) представляет собой " "программы, написанные на псевдо-ассемблерном языке, которые прикрепляются к " "одному из перехватчиков ядра (hooks) и запускаются в ответ на определённые " "события. Эта инфраструктура отличается от старой, «классической» BPF " "(«cBPF»), некоторыми моментами, одним из которых является способность " "вызывать из программ специальные функции («помощники» helpers). Эти функции " "перечислены в белом списке помощников, который задаётся ядром." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "These helpers are used by eBPF programs to interact with the system, or with " "the context in which they work. For instance, they can be used to print " "debugging messages, to get the time since the system was booted, to interact " "with eBPF maps, or to manipulate network packets. Since there are several " "eBPF program types, and that they do not run in the same context, each " "program type can only call a subset of those helpers." msgstr "" "Эти помощники используются в программах eBPF для взаимодействия с системой " "или рабочим контекстом. Например, они могут использоваться для печати " "отладочных сообщений, получения времени, прошедшего с момента загрузки " "системы, для взаимодействия с картами eBPF или для обработки сетевых " "пакетов. Так есть несколько типов программ eBPF и они не могут работать в " "одном контексте, каждый тип программ может вызывать только некоторую часть " "этих помощников." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Due to eBPF conventions, a helper can not have more than five arguments." msgstr "" "В соответствии с правилами eBPF помощник может иметь не более пяти " "аргументов." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Internally, eBPF programs call directly into the compiled helper functions " "without requiring any foreign-function interface. As a result, calling " "helpers introduces no overhead, thus offering excellent performance." msgstr "" "Внутри программы eBPF непосредственно вызывают скомпилированные функции-" "помощники без какого-либо стороннего интерфейса. В результате вызов " "помощников не приводит к накладным расходам, показывая превосходную " "производительность." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This document is an attempt to list and document the helpers available to " "eBPF developers. They are sorted by chronological order (the oldest helpers " "in the kernel at the top)." msgstr "" "В этом документе предпринимается попытка перечислить и описать помощников, " "доступных разработчикам eBPF. Они отсортированы в хронологическом порядке " "(сначала самые старые)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "HELPERS" msgstr "ПОМОЩНИКИ" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, const void *>IB<)>" msgstr "BIB<, const void *>IB<)>" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B<Описание>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Perform a lookup in I for an entry associated to I\\&." msgstr "Выполняет в I поиск записи, связанной с I\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B<Возвращает>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Map value associated to I, or B if no entry was found." msgstr "" "Значение карты, связанное с I, или B, если запись не найдена." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" msgid "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" msgstr "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Add or update the value of the entry associated to I in I with " "I\\&. I is one of:" msgstr "" "Добавляет или обновляет значение записи, связанное с I в I, равное " "I\\&. Значение I может быть одним из:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The entry for I must not exist in the map." msgstr "Запись для I не должна существовать в карте." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The entry for I must already exist in the map." msgstr "Запись для I должна существовать в карте." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "No condition on the existence of the entry for I\\&." msgstr "Не учитывать условие существования записи для I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Flag value B cannot be used for maps of types " "B or B (all elements always " "exist), the helper would return an error." msgstr "" "Значение флага B нельзя использовать для карт с типом " "B или B (все элементы всегда " "существуют), помощник вернул бы ошибку." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "0 on success, or a negative error in case of failure." msgstr "При успешном выполнении 0 и отрицательное значение при ошибке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<)>" msgid "BIB<, const void *>IB<)>" msgstr "BIB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Delete entry with I from I\\&." msgstr "Удаляет запись с I из I\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "For tracing programs, safely attempt to read I bytes from address " #| "I and store the data in I\\&." msgid "" "For tracing programs, safely attempt to read I bytes from kernel space " "address I and store the data in I\\&." msgstr "" "Для программ трассировки; безопасно попытаться прочитать I байт по " "адресу I и сохранить данные в I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Generally, use B() or B() " "instead." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Return the time elapsed since system boot, in nanoseconds. Does not include " "time the system was suspended. See: B(B)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Current I\\&." msgstr "Текущее значение I\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, ...)>" msgid "BIB<, u32 >IB<, ...)>" msgstr "BIB<, u32 >IB<, ...)>" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "This helper is a \"printk()-like\" facility for debugging. It prints a " #| "message defined by format I (of size I) to file I from DebugFS, if available. It can take up to " #| "three additional B arguments (as an eBPF helpers, the total number " #| "of arguments is limited to five)." msgid "" "This helper is a \"printk()-like\" facility for debugging. It prints a " "message defined by format I (of size I) to file I from TraceFS, if available. It can take up to three " "additional B arguments (as an eBPF helpers, the total number of " "arguments is limited to five)." msgstr "" "Этот помощник подобен printk() и помогает в отладке. Он печатает сообщение, " "определяемое форматом I (размером I), в файл I из DebugFS, если есть. Принимает до трёх дополнительных " "аргументов B (как и для всех помощников eBPF, общее количество " "аргументов ограничено пятью)." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Each time the helper is called, it appends a line to the trace. The " #| "format of the trace is customizable, and the exact output one will get " #| "depends on the options set in I " #| "(see also the I file under the same directory). However, it " #| "usually defaults to something like:" msgid "" "Each time the helper is called, it appends a line to the trace. Lines are " "discarded while I is open, use I to avoid this. The format of the trace is customizable, " "and the exact output one will get depends on the options set in I (see also the I file under the same " "directory). However, it usually defaults to something like:" msgstr "" "Каждый раз при вызове помощника, он добавляет строку в трассировку. Формат " "трассировки можно изменять, и конечный результат зависит от указанных в I параметров (также смотрите файл " "I в том же каталоге). Однако, при обычных настройках строка выглядит " "так:" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "telnet-470 [001] .N.. 419421.045894: 0x00000001: Eformatted msgE\n" msgid "telnet-470 [001] .N.. 419421.045894: 0x00000001: Eformatted msgE\n" msgstr "telnet-470 [001] .N.. 419421.045894: 0x00000001: Eformatted msgE\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "In the above:" msgstr "Где:" #. type: IP #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "\\(bu" msgstr "\\(bu" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B is the name of the current task." msgstr "B — имя текущей задачи." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<470> is the PID of the current task." msgstr "B<470> — PID текущей задачи." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<001> is the CPU number on which the task is running." msgstr "B<001> номер ЦП, на котором выполняется текущая задача." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "In B<\\&.N..>, each character refers to a set of options (whether irqs are " "enabled, scheduling options, whether hard/softirqs are running, level of " "preempt_disabled respectively). B means that B and " "B are set." msgstr "" "В B<\\&.N..> каждый символ ссылается на набор параметров (разрешены ли irq, " "параметры планирования, работает ли hard/softirq, уровень preempt_disabled, " "соответственно). B означает, что установлены B и " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<419421.045894> is a timestamp." msgstr "B<419421.045894> — метка времени." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<0x00000001> is a fake value used by BPF for the instruction pointer " "register." msgstr "" "B<0x00000001> — фиктивное значение, используемое BPF как регистр указателя " "инструкций." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-rawhide opensuse-tumbleweed msgid "Bformatted msgE> is the message formatted with I\\&." msgstr "" "Bformatted msgE> — сообщение, отформатированное согласно I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The conversion specifiers supported by I are similar, but more limited " "than for printk(). They are B<%d>, B<%i>, B<%u>, B<%x>, B<%ld>, B<%li>, B<" "%lu>, B<%lx>, B<%lld>, B<%lli>, B<%llu>, B<%llx>, B<%p>, B<%s>\\&. No " "modifier (size of field, padding with zeroes, etc.) is available, and the " "helper will return B<-EINVAL> (but print nothing) if it encounters an " "unknown specifier." msgstr "" "Спецификаторы преобразований, поддерживаемые I, похожи, но несколько " "ограничены, чем у printk(). Список: B<%d>, B<%i>, B<%u>, B<%x>, B<%ld>, B<" "%li>, B<%lu>, B<%lx>, B<%lld>, B<%lli>, B<%llu>, B<%llx>, B<%p>, B<%s>\\&. " "Нельзя указывать модификатор (размер поля, заполнение нулями и т. п.) и " "помощник вернёт B<-EINVAL> (и ничего не напечатает), если обнаружит " "неизвестный спецификаторы." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Also, note that B() is slow, and should only be used " #| "for debugging purposes. For this reason, a notice bloc (spanning several " #| "lines) is printed to kernel logs and states that the helper should not be " #| "used \"for production use\" the first time this helper is used (or more " #| "precisely, when B() buffers are allocated). For passing " #| "values to user space, perf events should be preferred." msgid "" "Also, note that B() is slow, and should only be used for " "debugging purposes. For this reason, a notice block (spanning several lines) " "is printed to kernel logs and states that the helper should not be used " "\"for production use\" the first time this helper is used (or more " "precisely, when B() buffers are allocated). For passing values " "to user space, perf events should be preferred." msgstr "" "Также заметим, что B() медленно работает и должна " "использоваться только в целях отладки. Поэтому при первом использовании " "(точнее, при выделении буферов B()) в журнал ядра печатается " "блок с уведомлением (охватывающем несколько строк), в котором говорится, что " "данный помощник не должен «использоваться в промышленной эксплуатации». Для " "передачи значений в пространство пользователя нужно использовать события " "perf." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The number of bytes written to the buffer, or a negative error in case of " "failure." msgstr "Количество байт, записанных в буфер, или отрицательный номер ошибки." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get a pseudo-random number." msgstr "Возвращает псевдослучайное число." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "From a security point of view, this helper uses its own pseudo-random " "internal state, and cannot be used to infer the seed of other random " "functions in the kernel. However, it is essential to note that the generator " "used by the helper is not cryptographically secure." msgstr "" "С точки зрения безопасности в помощнике используется собственноевнутреннее " "состояние псевдослучайности, по которому нельзя предсказать начальное " "случайное число других функций ядра. Однако, стоит отметить, что " "используемый в помощнике генератор небезопасен для шифрования." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A random 32-bit unsigned value." msgstr "Случайное 32-битное беззнаковое значение." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Get the SMP (symmetric multiprocessing) processor id. Note that all " #| "programs run with preemption disabled, which means that the SMP processor " #| "id is stable during all the execution of the program." msgid "" "Get the SMP (symmetric multiprocessing) processor id. Note that all programs " "run with migration disabled, which means that the SMP processor id is stable " "during all the execution of the program." msgstr "" "Возвращает идентификатор SMP (симметричного мультиобрабатывающего) " "процессора. Заметим, что все программы выполняются с выключенным " "вытеснением, то есть идентификатор SMP-процессора не изменяется за всё время " "выполнения программы." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The SMP id of the processor running the program." msgstr "Идентификатор SMP-процессора выполняющейся программы." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Store I bytes from address I into the packet associated to " "I, at I\\&. I are a combination of " "B (automatically recompute the checksum for the packet " "after storing the bytes) and B (set IB<-" "Ehash>, IB<-Eswhash> and IB<-El4hash> to 0)." msgstr "" "Записывает I байт из адреса I в пакет, связанный с I, по " "смещению I\\&. Значением I является комбинация " "B (повторное автоматическое вычисление контрольной " "суммы пакета после записи байт) и B (присваивает " "IB<-Ehash>, IB<-Eswhash> и IB<-El4hash> значение " "0)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "A call to this helper is susceptible to change the underlaying packet " #| "buffer. Therefore, at load time, all checks on pointers previously done " #| "by the verifier are invalidated and must be performed again, if the " #| "helper is used in combination with direct packet access." msgid "" "A call to this helper is susceptible to change the underlying packet buffer. " "Therefore, at load time, all checks on pointers previously done by the " "verifier are invalidated and must be performed again, if the helper is used " "in combination with direct packet access." msgstr "" "Вызов этого помощника приводит к изменению буфера нижележащего пакета. " "Поэтому на момент загрузки все проверки указателей, выполненные ранее " "верификатором, становятся недействительными и должны быть выполнены " "повторно, если кроме помощника используется прямой доступ к пакету." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<, u64 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<, u64 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<, u64 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Recompute the layer 3 (e.g. IP) checksum for the packet associated to I" "\\&. Computation is incremental, so the helper must know the former value of " "the header field that was modified (I), the new value of this field " "(I), and the number of bytes (2 or 4) for this field, stored in I" "\\&. Alternatively, it is possible to store the difference between the " "previous and the new values of the header field in I, by setting I " "and I to 0. For both methods, I indicates the location of the " "IP checksum within the packet." msgstr "" "Повторно вычисляет контрольную сумму заголовка 3-го уровня (например, IP) из " "пакета, связанного с I\\&. Вычисление является поступательным, поэтому " "помощник должен знать предыдущее значение поля заголовка, которое было " "изменено (I), новое значение этого поля (I) и количество байт (2 " "или 4) этого поля, хранящиеся в I\\&. Или же можно сохранить различие " "между предыдущим и новым значениями поля заголовка в I, установив " "I и I равными 0. В обоих способах в I задаётся " "расположение контрольной суммы IP внутри пакета." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper works in combination with B(), which does not " "update the checksum in-place, but offers more flexibility and can handle " "sizes larger than 2 or 4 for the checksum to update." msgstr "" "Этот помощник работает вместе с B(), который не обновляет " "непосредственно контрольную сумму, а обладает большей гибкостью и может " "обрабатывать большие размеры данных, чем 2 или 4." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<, u64 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<, u64 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<, u64 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Recompute the layer 4 (e.g. TCP, UDP or ICMP) checksum for the packet " "associated to I\\&. Computation is incremental, so the helper must know " "the former value of the header field that was modified (I), the new " "value of this field (I), and the number of bytes (2 or 4) for this " "field, stored on the lowest four bits of I\\&. Alternatively, it is " "possible to store the difference between the previous and the new values of " "the header field in I, by setting I and the four lowest bits of " "I to 0. For both methods, I indicates the location of the IP " "checksum within the packet. In addition to the size of the field, I " "can be added (bitwise OR) actual flags. With B, a null " "checksum is left untouched (unless B is added as well), " "and for updates resulting in a null checksum the value is set to " "B instead. Flag B indicates the checksum " "is to be computed against a pseudo-header." msgstr "" "Повторно вычисляет контрольную сумму заголовка 4-го уровня (например, TCP, " "UDP или ICMP) из пакета, связанного с I\\&. Вычисление является " "поступательным, поэтому помощник должен знать предыдущее значение поля " "заголовка, которое было изменено (I), новое значение этого поля " "(I) и количество байт (2 или 4) этого поля, хранящиеся в младших четырёх " "битах I\\&. Или же можно сохранить различие между предыдущим и новым " "значениями поля заголовка в I, установив I и четыре младших бита " "I равными 0. В обоих способах в I задаётся расположение " "контрольной суммы IP внутри пакета. В дополнении размера поля в I " "можно добавить (побитовым ИЛИ) нужные флаги. При указании " "B контрольная сумма null остаётся неизменяемой (если " "также не указан B), а чтобы обновить результат в " "контрольной сумме null нужно задать значение B. Флаг " "B задаёт, что контрольная сумма будет вычислена повторно " "на уровне псевдо-заголовка." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u32 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, u32 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "This special helper is used to trigger a \"tail call\", or in other " #| "words, to jump into another eBPF program. The same stack frame is used " #| "(but values on stack and in registers for the caller are not accessible " #| "to the callee). This mechanism allows for program chaining, either for " #| "raising the maximum number of available eBPF instructions, or to execute " #| "given programs in conditional blocks. For security reasons, there is an " #| "upper limit to the number of successive tail calls that can be performed." msgid "" "This special helper is used to trigger a \"tail call\", or in other words, " "to jump into another eBPF program. The same stack frame is used (but values " "on stack and in registers for the caller are not accessible to the callee). " "This mechanism allows for program chaining, either for raising the maximum " "number of available eBPF instructions, or to execute given programs in " "conditional blocks. For security reasons, there is an upper limit to the " "number of successive tail calls that can be performed." msgstr "" "Это специальный помощник используется для активации «хвостового вызова», " "иначе говоря, прыжка в другую программу eBPF. Используется тот же кадр стека " "(но значения в стеке и в регистрах вызывающего недоступны вызываемому). Этот " "механизм позволяет образовывать цепочки программ, или для превышения " "максимального количества доступных инструкций eBPF, или для выполнения " "заданной программы в блоках условий. Из соображений безопасности существует " "верхний предел количества последовательных хвостовых вызовов, которые можно " "выполнить." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Upon call of this helper, the program attempts to jump into a program " "referenced at index I in I, a special map of type " "B, and passes I, a pointer to the context." msgstr "" "При вызове из помощника программы пытается прыгнуть в программу согласно " "индексу I в I, специальной карте с типом " "B, и передать I, указатель на контекст." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "If the call succeeds, the kernel immediately runs the first instruction " #| "of the new program. This is not a function call, and it never returns to " #| "the previous program. If the call fails, then the helper has no effect, " #| "and the caller continues to run its subsequent instructions. A call can " #| "fail if the destination program for the jump does not exist (i.e. " #| "I is superior to the number of entries in I), or " #| "if the maximum number of tail calls has been reached for this chain of " #| "programs. This limit is defined in the kernel by the macro " #| "B (not accessible to user space), which is currently " #| "set to 32." msgid "" "If the call succeeds, the kernel immediately runs the first instruction of " "the new program. This is not a function call, and it never returns to the " "previous program. If the call fails, then the helper has no effect, and the " "caller continues to run its subsequent instructions. A call can fail if the " "destination program for the jump does not exist (i.e. I is superior " "to the number of entries in I), or if the maximum number of " "tail calls has been reached for this chain of programs. This limit is " "defined in the kernel by the macro B (not accessible to " "user space), which is currently set to 33." msgstr "" "Если вызов произошёл без ошибок, то ядро сразу выполняет первую инструкцию " "новой программы. Это не вызов функции и возврата к старой программе никогда " "не происходит. Если при вызове возникла ошибка, то помощник ничего не делает " "и вызывающий продолжает выполнение со следующей инструкции. Вызов может " "завершиться ошибкой, если прыжок указывает на несуществующую программу (т. " "е. значение I превышает количество элементов I), или " "если в этой цепочке программ достигнуто максимальное количество хвостовых " "вызовов. Данный предел определён в ядре макросом B " "(недоступен в пользовательском пространстве) и в данный момент равен 32." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Clone and redirect the packet associated to I to another net device of " "index I\\&. Both ingress and egress interfaces can be used for " "redirection. The B value in I is used to make the " "distinction (ingress path is selected if the flag is present, egress path " "otherwise). This is the only flag supported for now." msgstr "" "Клонирует и перенаправляет пакет, связанный с I, в другое сетевое " "устройство с индексом I\\&. Для перенаправления можно использовать " "как входящий так и исходящий интерфейсы. В качестве отличительного признака " "в I используется значение B (выбирается входящий путь, " "если флаг указан, в противном случае — исходящий). В настоящее время " "поддерживается только этот флаг." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "In comparison with B() helper, B() has the " "associated cost of duplicating the packet buffer, but this can be executed " "out of the eBPF program. Conversely, B() is more efficient, " "but it is handled through an action code where the redirection happens only " "after the eBPF program has returned." msgstr "" "По сравнению с помощником B(), работа B() " "добавляет накладные расходы по созданию копии пакетного буфера, но это можно " "выполнить вне программы eBPF. В свою очередь B() эффективнее, " "но вызывается в коде действия, где перенаправление возникает только после " "возврата из программы eBPF." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "0 on success, or a negative error in case of failure. Positive error " "indicates a potential drop or congestion in the target device. The " "particular positive error codes are not defined." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get the current pid and tgid." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "A 64-bit integer containing the current tgid and pid, and created as such: " "IB<-Etgid EE 32 |> IB<-Epid>\\&." msgstr "" "64-битное целое, содержащее текущий tgid и pid, создаваемое как: " "IB<-Etgid EE 32 |> IB<-Epid>\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get the current uid and gid." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "A 64-bit integer containing the current GID and UID, and created as such: " "I BE 32 |> I\\&." msgstr "" "4-битное целое, содержащее текущий GID и UID, создаваемое как: " "I BE 32 |> I\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<)>" msgid "BIB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Copy the B attribute of the current task into I of I" "\\&. The B attribute contains the name of the executable (excluding " "the path) for the current task. The I must be strictly " "positive. On success, the helper makes sure that the I is NUL-" "terminated. On failure, it is filled with zeroes." msgstr "" "Копирует атрибут B текущей задачи в I размером I\\&. " "Атрибут B содержит имя исполняемого файла (без пути) текущей задачи. " "Значение I должно быть положительным. При успешном выполнении " "помощник проверяет, что I заканчивается NUL. При ошибке заполняется " "нулями." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Retrieve the classid for the current task, i.e. for the net_cls cgroup to " "which I belongs." msgstr "" "Возвращает classid текущей задачи, т. е. net_cls cgroup, которой принадлежит " "I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "This helper can be used on TC egress path, but not on ingress." msgstr "" "Этот помощник можно использовать на исходящих путях TC, но не на входящих." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The net_cls cgroup provides an interface to tag network packets based on " #| "a user-provided identifier for all traffic coming from the tasks " #| "belonging to the related cgroup. See also the related kernel " #| "documentation, available from the Linux sources in file I\\&." msgid "" "The net_cls cgroup provides an interface to tag network packets based on a " "user-provided identifier for all traffic coming from the tasks belonging to " "the related cgroup. See also the related kernel documentation, available " "from the Linux sources in file I\\&." msgstr "" "net_cls cgroup предоставляет интерфейс для маркировки сетевых пакетов на " "основе пользовательского идентификатора для всего трафика, который поступает " "от задач, принадлежащих соответствующей cgroup. Смотрите также " "соответствующую документацию ядра в файле исходного кода Linux " "I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The Linux kernel has two versions for cgroups: there are cgroups v1 and " "cgroups v2. Both are available to users, who can use a mixture of them, but " "note that the net_cls cgroup is for cgroup v1 only. This makes it " "incompatible with BPF programs run on cgroups, which is a cgroup-v2-only " "feature (a socket can only hold data for one version of cgroups at a time)." msgstr "" "В ядре Linux есть две версии cgroups: cgroups v1 и cgroups v2. Они обе " "доступны пользователям, их можно использовать одновременно, но заметим, что " "net_cls cgroup есть только для cgroup v1. Это приводит к несовместимости с " "программами BPF, выполняющимися на cgroups, которые используют только cgroup " "v2 (сокет может хранить данные только для одной версии cgroups одновременно)." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "This helper is only available is the kernel was compiled with the " #| "B configuration option set to \"B\" or to " #| "\"B\"." msgid "" "This helper is only available is the kernel was compiled with the " "B configuration option set to \"B\" or to " "\"B\"." msgstr "" "Этот помощник доступен только, если ядро скомпилировано с параметром " "настройки B равным \"B\" или \"B\"." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The classid, or 0 for the default unconfigured classid." msgstr "classid или 0 по умолчанию для ненастроенного classid." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, __be16 >IB<, u16 >IB<)>" msgid "BIB<, __be16 >IB<, u16 >IB<)>" msgstr "BIB<, __be16 >IB<, u16 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Push a I (VLAN tag control information) of protocol I " "to the packet associated to I, then update the checksum. Note that if " "I is different from B and B, it is " "considered to be B\\&." msgstr "" "Добавляет I (тег управляющей информации VLAN) протокола " "I в пакет, связанный с I, а затем обновить контрольную " "сумму. Заметим, что если I отличается от B и " "B, то будет считаться, что указан B\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Pop a VLAN header from the packet associated to I\\&." msgstr "Удаляет заголовок VLAN из пакета, связанного с I\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_tunnel_key *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, struct bpf_tunnel_key *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_tunnel_key *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get tunnel metadata. This helper takes a pointer I to an empty B of B, that will be filled with tunnel metadata for the " "packet associated to I\\&. The I can be set to " "B, which indicates that the tunnel is based on IPv6 " "protocol instead of IPv4." msgstr "" "Возвращает метаданные туннеля. Этому помощнику передаётся указатель I " "на пустую B размером B, которая будет заполнена " "метаданными туннеля для пакета, связанного с I\\&. В I можно " "указать значение B, которое показывает, что туннель " "основан на протоколе IPv6, а не на IPv4." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "The B is an object that generalizes the principal " #| "parameters used by various tunneling protocols into a single struct. This " #| "way, it can be used to easily make a decision based on the contents of " #| "the encapsulation header, \"summarized\" in this struct. In particular, " #| "it holds the IP address of the remote end (IPv4 or IPv6, depending on the " #| "case) in IB<-Eremote_ipv4> or IB<-Eremote_ipv6>\\&. " #| "Also, this struct exposes the IB<-Etunnel_id>, which is " #| "generally mapped to a VNI (Virtual Network Identifier), making it " #| "programmable together with the B() helper." msgid "" "The B is an object that generalizes the principal " "parameters used by various tunneling protocols into a single struct. This " "way, it can be used to easily make a decision based on the contents of the " "encapsulation header, \"summarized\" in this struct. In particular, it holds " "the IP address of the remote end (IPv4 or IPv6, depending on the case) in " "IB<-Eremote_ipv4> or IB<-Eremote_ipv6>\\&. Also, this " "struct exposes the IB<-Etunnel_id>, which is generally mapped to a " "VNI (Virtual Network Identifier), making it programmable together with the " "B() helper." msgstr "" "Объект B сводит основные параметры, используемые " "различными туннельными протоколами, в одну структуру. Он позволяет легко " "принимать решение на основе содержимого инкапсулированного заголовка, " "«обобщённого» в этой структуре. В частности, он содержит IP-адрес ответной " "стороны (IPv4 или IPv6) в IB<-Eremote_ipv4> или IB<-" "Eremote_ipv6>\\&. Также, эта структура предоставляет IB<-" "Etunnel_id>, обычно отображаемый в VNI (идентификатор виртуальной сети, " "Virtual Network Identifier), который можно использовать программировании с " "помощью помощника B()." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Let\\(aqs imagine that the following code is part of a program attached " #| "to the TC ingress interface, on one end of a GRE tunnel, and is supposed " #| "to filter out all messages coming from remote ends with IPv4 address " #| "other than 10.0.0.1:" msgid "" "Let\\(aqs imagine that the following code is part of a program attached to " "the TC ingress interface, on one end of a GRE tunnel, and is supposed to " "filter out all messages coming from remote ends with IPv4 address other than " "10.0.0.1:" msgstr "" "Представим, что следующий код — часть программы, присоединённой к входящему " "интерфейсу TC, туннель GRE и что нужно фильтровать все сообщения, приходящие " "с ответной стороны, у которых адрес IPv4 не равен 10.0.0.1:" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "int ret;\n" #| "struct bpf_tunnel_key key = {};\n" msgid "" "int ret;\n" "struct bpf_tunnel_key key = {};\n" msgstr "" "int ret;\n" "struct bpf_tunnel_key key = {};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "" "ret = bpf_skb_get_tunnel_key(skb, &key, sizeof(key), 0);\n" "if (ret E 0)\n" " return TC_ACT_SHOT; // drop packet\n" msgstr "" "ret = bpf_skb_get_tunnel_key(skb, &key, sizeof(key), 0);\n" "if (ret E 0)\n" " return TC_ACT_SHOT; // отбрасываем пакет\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "" "if (key.remote_ipv4 != 0x0a000001)\n" " return TC_ACT_SHOT; // drop packet\n" msgstr "" "if (key.remote_ipv4 != 0x0a000001)\n" " return TC_ACT_SHOT; // отбрасываем пакет\n" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "return TC_ACT_OK; // accept packet\n" msgid "return TC_ACT_OK; // accept packet\n" msgstr "return TC_ACT_OK; // пропускаем пакет\n" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "This interface can also be used with all encapsulation devices that can " #| "operate in \"collect metadata\" mode: instead of having one network " #| "device per specific configuration, the \"collect metadata\" mode only " #| "requires a single device where the configuration can be extracted from " #| "this helper." msgid "" "This interface can also be used with all encapsulation devices that can " "operate in \"collect metadata\" mode: instead of having one network device " "per specific configuration, the \"collect metadata\" mode only requires a " "single device where the configuration can be extracted from this helper." msgstr "" "Также этот интерфейс можно использовать для всех устройств инкапсуляции, " "которые могут работать в режиме «сбора метаданных»: вместо одного сетевого " "устройства для каждой специфической конфигурации, в режиме «сбора " "метаданных» требуется только одно устройство, конфигурацию которого можно " "извлечь из этого заголовка." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This can be used together with various tunnels such as VXLan, Geneve, GRE or " "IP in IP (IPIP)." msgstr "" "Его можно использовать вместе с различными туннелями, такими как VXLan, " "Geneve, GRE или IP в IP (IPIP)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_tunnel_key *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, struct bpf_tunnel_key *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_tunnel_key *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Populate tunnel metadata for packet associated to I The tunnel " "metadata is set to the contents of I, of I\\&. The I can " "be set to a combination of the following values:" msgstr "" "Заполняет метаданные туннеля в пакете, связанном с I. Метаданные " "туннеля представляют собой набор значений I и I\\&. В I " "можно указать комбинацию следующих значений:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Indicate that the tunnel is based on IPv6 protocol instead of IPv4." msgstr "Задаёт, что туннель основан на протоколе IPv6, а не IPv4." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For IPv4 packets, add a flag to tunnel metadata indicating that checksum " "computation should be skipped and checksum set to zeroes." msgstr "" "Для пакетов IPv4 добавление этого флага в метаданные туннеля указывает, что " "не нужно вычислять контрольную сумму и присвоить ей значение ноль." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Add a flag to tunnel metadata indicating that the packet should not be " "fragmented." msgstr "" "Добавление этого флага в метаданные туннеля указывает, что пакет не должен " "фрагментироваться." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Add a flag to tunnel metadata indicating that a sequence number should be " "added to tunnel header before sending the packet. This flag was added for " "GRE encapsulation, but might be used with other protocols as well in the " "future." msgstr "" "Добавление этого флага в метаданные туннеля указывает, что перед отправкой " "пакета в туннельный заголовок нужно добавить порядковый номер. Этот флаг был " "добавлен для протокола GRE, но в будущем может использоваться и для других." #. type: TP #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Add a flag to tunnel metadata indicating that the packet should not be " #| "fragmented." msgid "" "Add a flag to tunnel metadata indicating that no tunnel key should be set in " "the resulting tunnel header." msgstr "" "Добавление этого флага в метаданные туннеля указывает, что пакет не должен " "фрагментироваться." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Here is a typical usage on the transmit path:" msgstr "Обычное использование в пути передачи:" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "struct bpf_tunnel_key key;\n" #| " populate key ...\n" #| "bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0);\n" #| "bpf_clone_redirect(skb, vxlan_dev_ifindex, 0);\n" msgid "" "struct bpf_tunnel_key key;\n" " populate key ...\n" "bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0);\n" "bpf_clone_redirect(skb, vxlan_dev_ifindex, 0);\n" msgstr "" "struct bpf_tunnel_key key;\n" " заполняем ключ …\n" "bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0);\n" "bpf_clone_redirect(skb, vxlan_dev_ifindex, 0);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "See also the description of the B() helper for " "additional information." msgstr "Также смотрите описание помощника B()." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Read the value of a perf event counter. This helper relies on a I of " "type B\\&. The nature of the perf event " "counter is selected when I is updated with perf event file descriptors. " "The I is an array whose size is the number of available CPUs, and each " "cell contains a value relative to one CPU. The value to retrieve is " "indicated by I, that contains the index of the CPU to look up, masked " "with B\\&. Alternatively, I can be set to " "B to indicate that the value for the current CPU should " "be retrieved." msgstr "" "Читает значение счётчика событий perf. Этот помощник использует I с " "типом B\\&. Источник счётчика событий perf " "выбирается при обновлении I через файловые дескрипторы событий perf. " "Значение I представляет собой массив, размер которого равен количеству " "доступных ЦП, а каждая ячейка содержит значение для соответствующего ЦП. " "Получаемое значение задаётся в I, которое содержит индекс искомого ЦП " "с наложенной маской B\\&. Или же I можно присвоить " "B, которое показывает, что нужно получать значение для " "текущего ЦП." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Note that before Linux 4.13, only hardware perf event can be retrieved." msgstr "" "Заметим, что в до Linux 4.13 можно быть получать только аппаратные события " "perf." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Also, be aware that the newer helper B() is " "recommended over B() in general. The latter has some " "ABI quirks where error and counter value are used as a return code (which is " "wrong to do since ranges may overlap). This issue is fixed with " "B(), which at the same time provides more " "features over the B() interface. Please refer to the " "description of B() for details." msgstr "" "Кроме того, вместо B() рекомендуется использовать новый " "помощник B(). В старом имеются некоторые " "странности в ABI, например в качестве возвращаемого кода используется и " "значение ошибки и счётчика (что неправильно, так как эти диапазоны могут " "перекрываться). Эта проблема исправлена в B(), а " "также представляется больше возможностей по сравнению с интерфейсом " "B(). Дополнительную информацию смотрите в описании " "B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The value of the perf event counter read from the map, or a negative error " "code in case of failure." msgstr "" "Значение счётчика событий perf читается из карты, или отрицательный код " "ошибки при невозможности." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Redirect the packet to another net device of index I\\&. This " "helper is somewhat similar to B(), except that the " "packet is not cloned, which provides increased performance." msgstr "" "Перенаправляет пакет в другое сетевое устройство с индексом I\\&. " "Этот помощник похож на B(), но пакет не клонируется, что " "увеличивает производительность." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Except for XDP, both ingress and egress interfaces can be used for " "redirection. The B value in I is used to make the " "distinction (ingress path is selected if the flag is present, egress path " "otherwise). Currently, XDP only supports redirection to the egress " "interface, and accepts no flag at all." msgstr "" "Не считая XDP, для перенаправления можно использовать и входящий и исходящий " "интерфейсы. Значение B в I используется для " "направления (если флаг установлен, то выбирается входящий путь, в противном " "случае исходящий). В настоящее время, для XDP поддерживается перенаправление " "только в исходящий интерфейс, и флаг вообще не учитывается." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The same effect can be attained with the more generic " #| "B(), which requires specific maps to be used but offers " #| "better performance." msgid "" "The same effect can also be attained with the more generic " "B(), which uses a BPF map to store the redirect target " "instead of providing it directly to the helper." msgstr "" "Это действие можно выполнить с помощью большее общего B(), " "для которого требуются специальные карты, но достигается лучшая " "производительность." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For XDP, the helper returns B on success or B on " "error. For other program types, the values are B on success " "or B on error." msgstr "" "Для XDP при успешном выполнении помощник возвращает B и " "B при ошибке. Для других типов программ при успешном выполнении " "возвращается B и B при ошибке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Retrieve the realm or the route, that is to say the B field of " #| "the destination for the I\\&. The indentifier retrieved is a user-" #| "provided tag, similar to the one used with the net_cls cgroup (see " #| "description for B() helper), but here this tag is " #| "held by a route (a destination entry), not by a task." msgid "" "Retrieve the realm or the route, that is to say the B field of the " "destination for the I\\&. The identifier retrieved is a user-provided " "tag, similar to the one used with the net_cls cgroup (see description for " "B() helper), but here this tag is held by a route (a " "destination entry), not by a task." msgstr "" "Находит область (realm) или маршрут, то есть поле B назначения для " "I\\&. Найденный идентификатор представляет собой пользовательскую " "метку, похожую на используемые в net_cls cgroup (смотрите описание помощника " "B()), но здесь эта метка хранится в маршруте " "(элементе назначения), а не в задаче." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Retrieving this identifier works with the clsact TC egress hook (see also " "B), or alternatively on conventional classful egress qdiscs, but " "not on TC ingress path. In case of clsact TC egress hook, this has the " "advantage that, internally, the destination entry has not been dropped yet " "in the transmit path. Therefore, the destination entry does not need to be " "artificially held via B() for a classful qdisc until the " "I is freed." msgstr "" "Поиск этого идентификатора работает с исходящим перехватчиком (hook) clsact " "TC (смотрите также B) или общеупотребительными классовыми " "исходящими qdisc, но не на входящих путях TC. В случае с исходящим " "перехватчиком clsact TC имеется преимущество, так как внутри элемент " "назначения ещё не был отброшен в пути передачи. Поэтому не нужно " "искусственно хранить элемент назначения через B(), как в " "classful qdisc, до тех пор, пока не освобождён I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is available only if the kernel was compiled with " "B configuration option." msgstr "" "Этот помощник доступен только, если ядро скомпилировано с параметром " "настройки B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The realm of the route for the packet associated to I, or 0 if none was " "found." msgstr "" "Область маршрута для пакета, связанного с I или 0, если не найдена." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u64 >IB<, void *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, u64 >IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u64 >IB<, void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Write raw I blob into a special BPF perf event held by I of type " "B\\&. This perf event must have the following " "attributes: B as B, B as " "B, and B as B\\&." msgstr "" "Записывает неструктурированные кусок I в специальное событие BPF perf, " "хранящееся в I с типом B\\&. Это событие " "perf должно иметь следующие атрибуты: B для B, " "B для B и B для B" "\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The I are used to indicate the index in I for which the value " "must be put, masked with B\\&. Alternatively, I " "can be set to B to indicate that the index of the current " "CPU core should be used." msgstr "" "Значение I используется для указания индекса в I, по которому " "должно быть записано значение с наложенной маской B\\&. " "Или же в I можно задать B для указания того, что " "должен использоваться индекс текущего ядра ЦП." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The value to write, of I, is passed through eBPF stack and pointed by " "I\\&." msgstr "" "Записываемое значение размером I передаётся через стек eBPF и на него " "указывает I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The context of the program I needs also be passed to the helper." msgstr "Помощнику также требуется передать контекст программы I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "On user space, a program willing to read the values needs to call " "B() on the perf event (either for one or for all CPUs) and " "to store the file descriptor into the I\\&. This must be done before " "the eBPF program can send data into it. An example is available in file " "I in the Linux kernel source tree (the eBPF " "program counterpart is in I)." msgstr "" "В пользовательском пространстве программе, которая будет читать значения, " "нужно вызвать B() при событии perf (или для одного или для " "всех ЦП) и сохранить файловый дескриптор в I\\&. Это нужно сделать до " "того как программа eBPF может послать в него данные. Пример показан в файле " "I из дерева исходного кода ядра Linux " "(программа eBPF приведена в файле I)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B() achieves better performance than " "B() for sharing data with user space, and is much better " "suitable for streaming data from eBPF programs." msgstr "" "У B() большая производительность чем у " "B() для обмена данными с пользовательским пространством и " "он больше подходит для передачи потока данных из программ eBPF." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Note that this helper is not restricted to tracing use cases and can be used " "with programs attached to TC or XDP as well, where it allows for passing " "data to user space listeners. Data can be:" msgstr "" "Заметим, что этот помощник не ограничен в применении только трассировкой и " "может использоваться также с программами, подключаемыми к TC или XDP, где " "позволяет передавать данные слушателям в пользовательском пространстве. " "Данными могут быть:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Only custom structs," msgstr "Только выборочные структуры," #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Only the packet payload, or" msgstr "Только пакетная полезная нагрузка или" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A combination of both." msgstr "оба сразу." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper was provided as an easy way to load data from a packet. It can " "be used to load I bytes from I from the packet associated to " "I, into the buffer pointed by I\\&." msgstr "" "Предназначен для облегчения загрузки данных из пакета. Он загружает I " "байт с адреса I из пакета, связанного с I, в буфер, на который " "указывает I\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Since Linux 4.7, usage of this helper has mostly been replaced by " #| "\"direct packet access\", enabling packet data to be manipulated with " #| "IB<-Edata> and IB<-Edata_end> pointing respectively to " #| "the first byte of packet data and to the byte after the last byte of " #| "packet data. However, it remains useful if one wishes to read large " #| "quantities of data at once from a packet into the eBPF stack." msgid "" "Since Linux 4.7, usage of this helper has mostly been replaced by \"direct " "packet access\", enabling packet data to be manipulated with IB<-" "Edata> and IB<-Edata_end> pointing respectively to the first " "byte of packet data and to the byte after the last byte of packet data. " "However, it remains useful if one wishes to read large quantities of data at " "once from a packet into the eBPF stack." msgstr "" "Начиная с Linux 4.7, использование этого помощника, большей частью заменено " "«прямым доступом к пакету», который позволяет управлять данными пакета через " "IB<-Edata> и IB<-Edata_end>, указывающими на первый байт " "данных пакета и байт, находящийся после последнего байта пакета данных, " "соответственно. Однако, помощник всё ещё полезен, если нужно прочитать " "большое количество данных за раз из пакета в стек eBPF." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Walk a user or a kernel stack and return its id. To achieve this, the helper " "needs I, which is a pointer to the context on which the tracing program " "is executed, and a pointer to a I of type B" "\\&." msgstr "" "Проходит по пользовательскому стеку или стеку ядра и возвращает его id. Для " "этого помощнику нужен I — указатель на контекст, в котором выполняется " "трассирующая программа, и указатель на I с типом " "B\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The last argument, I, holds the number of stack frames to skip (from " "0 to 255), masked with B\\&. The next bits can be " "used to set a combination of the following flags:" msgstr "" "В последнем параметре, I, хранится пропускаемое количество кадров " "стека (от 0 до 255) с наложенной маской B\\&. " "Следующие биты можно использовать для задания комбинации следующих флагов:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Collect a user space stack instead of a kernel stack." msgstr "Проходить по стеку пользовательского пространства, а не по стеку ядра." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Compare stacks by hash only." msgstr "Сравнивать стеки только по хешу." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If two different stacks hash into the same I, discard the old one." msgstr "" "Если два разных хеша стеков указывают на один I, отбросить старый." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The stack id retrieved is a 32 bit long integer handle which can be further " "combined with other data (including other stack ids) and used as a key into " "maps. This can be useful for generating a variety of graphs (such as flame " "graphs or off-cpu graphs)." msgstr "" "Возвращаемый id стека представляет собой 32-битное длинное целое, которое в " "дальнейшем можно объединить с другими данными (включая id других стеков) и " "используется как ключ к картам. Он может быть полезен для генерации " "различных графиков (например, flame или off-cpu)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For walking a stack, this helper is an improvement over B(), " "which can be used with unrolled loops but is not efficient and consumes a " "lot of eBPF instructions. Instead, B() can collect up to " "B both kernel and user frames. Note that this limit " "can be controlled with the B program, and that it should be manually " "increased in order to profile long user stacks (such as stacks for Java " "programs). To do so, use:" msgstr "" "Для прохода по стеку этот помощник производительнее B(), " "который можно использовать с развёрнутыми циклами, но это не эффективно и " "потребляет много инструкций eBPF. Напротив, B() может " "проходить до B кадров ядра и пользовательского стека. " "Заметим, что это ограничение можно изменить программой B, и его " "нужно вручную увеличивать при профилировании длинных пользовательских стеков " "(например, от программ Java). Для этого выполните:" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "# sysctl kernel.perf_event_max_stack=Enew valueE\n" msgid "# sysctl kernel.perf_event_max_stack=Enew valueE\n" msgstr "# sysctl kernel.perf_event_max_stack=Eновое значениеE\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The positive or null stack id on success, or a negative error in case of " "failure." msgstr "" "При успешном выполнении возвращает положительный или null id стека и " "отрицательное значение при ошибке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, u32 >IB<, __be32 *>IB<, u32 >IB<, __wsum >IB<)>" msgstr "BIB<, u32 >IB<, __be32 *>IB<, u32 >IB<, __wsum >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Compute a checksum difference, from the raw buffer pointed by I, of " "length I (that must be a multiple of 4), towards the raw buffer " "pointed by I, of size I (same remark). An optional I can " "be added to the value (this can be cascaded, the seed may come from a " "previous call to the helper)." msgstr "" "Сравнивает контрольную сумму различия неструктурированного буфера, на " "который указывает I и имеет размер I (должен быть кратен " "4), с неструктурированным буфером, на который указывает I и имеет размер " "I (тоже примечание). К значению можно добавить необязательный " "I (каскадируется, затравка может поступать из предыдущего вызова " "помощника)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "This is flexible enough to be used in several ways:" msgstr "Может использоваться несколькими способами:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "With I == 0, I E 0 and I set to checksum, it " "can be used when pushing new data." msgstr "" "Если I == 0, I E 0 и I равно контрольной сумме " "— при заталкивании новых данных." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "With I E 0, I == 0 and I set to checksum, it " "can be used when removing data from a packet." msgstr "" "Если I E 0, I == 0 и I равно контрольной сумме " "— при удалении данных из пакета." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "With I E 0, I E 0 and I set to 0, it can " "be used to compute a diff. Note that I and I do not need " "to be equal." msgstr "" "Если I E 0, I E 0 и I равно 0 — вычисляет " "разницу. Заметим, что I и I могут быть не равны." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper can be used in combination with B() and " "B(), to which one can feed in the difference computed " "with B()." msgstr "" "Этот помощник можно использовать совместно с B() и " "B(), которым можно передавать различие, вычисленное " "B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The checksum result, or a negative error code in case of failure." msgstr "Результат контрольной суммы или отрицательный код ошибки." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u8 *>IB<, u32 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, u8 *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Retrieve tunnel options metadata for the packet associated to I, and " "store the raw tunnel option data to the buffer I of I\\&." msgstr "" "Возвращает метаданные параметров туннеля для пакета, связанного с I, и " "сохраняет неструктурированные данные параметров туннеля в буфер I " "размером I\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "This helper can be used with encapsulation devices that can operate in " #| "\"collect metadata\" mode (please refer to the related note in the " #| "description of B() for more details). A " #| "particular example where this can be used is in combination with the " #| "Geneve encapsulation protocol, where it allows for pushing (with " #| "B() helper) and retrieving arbitrary TLVs (Type-" #| "Length-Value headers) from the eBPF program. This allows for full " #| "customization of these headers." msgid "" "This helper can be used with encapsulation devices that can operate in " "\"collect metadata\" mode (please refer to the related note in the " "description of B() for more details). A particular " "example where this can be used is in combination with the Geneve " "encapsulation protocol, where it allows for pushing (with " "B() helper) and retrieving arbitrary TLVs (Type-" "Length-Value headers) from the eBPF program. This allows for full " "customization of these headers." msgstr "" "Этот помощник можно использовать с устройствами инкапсуляции, которые могут " "работать в режиме «сбора метаданных» (подробности приведены в замечании к " "B()). В качестве примера можно привести совместное " "использование с протоколом инкапсуляции Geneve, где может вталкивать (с " "помощью помощника B()) и получать произвольные TLV " "(заголовки Тип-Длина-Значение) из программы eBPF. Таким способом можно " "изменять эти заголовки полностью." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The size of the option data retrieved." msgstr "Размер возвращаемых данных." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u8 *>IB<, u32 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, u8 *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Set tunnel options metadata for the packet associated to I to the " "option data contained in the raw buffer I of I\\&." msgstr "" "Изменяет метаданные параметров туннеля для пакета, связанного с I на " "данные параметров из неструктурированного буфера I размером I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "See also the description of the B() helper for " "additional information." msgstr "Также смотрите описание помощника B()." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, __be16 >IB<, u64 >IB<)>" msgid "BIB<, __be16 >IB<, u64 >IB<)>" msgstr "BIB<, __be16 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Change the protocol of the I to I\\&. Currently supported are " "transition from IPv4 to IPv6, and from IPv6 to IPv4. The helper takes care " "of the groundwork for the transition, including resizing the socket buffer. " "The eBPF program is expected to fill the new headers, if any, via " "B() and to recompute the checksums with " "B() and B(). The main case for " "this helper is to perform NAT64 operations out of an eBPF program." msgstr "" "Изменяет протокол в I на I\\&. Пока поддерживается переход с " "IPv4 на IPv6 и с IPv6 на IPv4. Этот помощник делает всю черновую работу, " "включая изменение размера сокетного буфера. Программе eBPF нужно заполнить " "новые заголовки, если есть, с помощью B() и пересчитать " "контрольные суммы с помощью B() и " "B(). Основным предназначением этого помощника является " "выполнение операций NAT64 вне программы eBPF." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Internally, the GSO type is marked as dodgy so that headers are checked and " "segments are recalculated by the GSO/GRO engine. The size for GSO target is " "adapted as well." msgstr "" "Внутри, тип GSO помечается как подозрительный, из-за чего механизм GSO/GRO " "проверяется эти заголовки и повторно вычисляет сегменты. Также " "подстраивается размер цели GSO." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "All values for I are reserved for future usage, and must be left at " "zero." msgstr "" "Все значения I зарезервированы для использования в будущем и должны " "быть равны нулю." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<)>" msgid "BIB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Change the packet type for the packet associated to I\\&. This comes " "down to setting IB<-Epkt_type> to I, except the eBPF program " "does not have a write access to IB<-Epkt_type> beside this helper. " "Using a helper here allows for graceful handling of errors." msgstr "" "Изменяет тип пакета у пакета, связанного с I\\&. При этом только " "IB<-Epkt_type> присваивается I, если программа eBPF не имеет " "прав записи в IB<-Epkt_type> вне этого помощника. При таком " "использовании помощник позволяет правильно обработать ошибки." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The major use case is to change incoming I in a " "programmatic way instead of having to recirculate via B(..., " "B), for example." msgstr "" "В основном, он применяется для изменения входящего I программным методом, а не, например, с помощью перезаписи " "через B(..., B)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Note that I only allows certain values. At this time, they are:" msgstr "" "Заметим, что I может быть равен только определённым значениям. В " "настоящее время это:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Packet is for us." msgstr "Пакет для нас." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Send packet to all." msgstr "Послать пакет всем." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Send packet to group." msgstr "Послать пакет группе." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Send packet to someone else." msgstr "Послать пакет кому-то ещё." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u32 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, u32 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Check whether I is a descendant of the cgroup2 held by I of type " "B, at I\\&." msgstr "" "Проверяет, является ли I потомком cgroup2, хранящейся в I с типом " "B с индексом I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The return value depends on the result of the test, and can be:" msgstr "Возвращаемое значение зависит от результата проверки и может быть:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "0, if the I failed the cgroup2 descendant test." msgstr "0, если I не прошло проверку причастности к cgroup2." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "1, if the I succeeded the cgroup2 descendant test." msgstr "1, если I прошло проверку причастности к cgroup2." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A negative error code, if an error occurred." msgstr "Отрицательный код ошибки при её возникновении." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Retrieve the hash of the packet, IB<-Ehash>\\&. If it is not set, " "in particular if the hash was cleared due to mangling, recompute this hash. " "Later accesses to the hash can be done directly with IB<-Ehash>\\&." msgstr "" "Возвращает хеш пакета, IB<-Ehash>\\&. Если он отсутствует, " "например, если хеш очищен при искажении (mangling), то это хеш вычисляется " "заново. В последствии к хешу можно обращаться непосредственно, через " "IB<-Ehash>\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Calling B(), changing a packet prototype with " "B(), or calling B() with the " "B are actions susceptible to clear the hash and to " "trigger a new computation for the next call to B()." msgstr "" "Вызов B(), изменение прототипа пакета с помощью " "B(), или вызов B() с " "B приводят к очистке хеша и активируют новое " "вычисление при следующем вызове B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The 32-bit hash." msgstr "32-битный хеш." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "A pointer to the current task struct." msgid "Get the current task." msgstr "Указатель на структуру текущей задачи." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A pointer to the current task struct." msgstr "Указатель на структуру текущей задачи." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, u32 >IB<)>" msgid "BIB<, const void *>IB<, u32 >IB<)>" msgstr "BIB<, const void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Attempt in a safe way to write I bytes from the buffer I to I " "in memory. It only works for threads that are in user context, and I " "must be a valid user space address." msgstr "" "Пытается безопасным способом записать I байт из буфера I в память " "I. Это работает только для нитей в пользовательском контексте и I " "должен быть корректным адресом пользовательского пространства." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper should not be used to implement any kind of security mechanism " "because of TOC-TOU attacks, but rather to debug, divert, and manipulate " "execution of semi-cooperative processes." msgstr "" "Этот помощник не нужно использовать для реализации какого-либо механизма " "безопасности в следствии атак TOC-TOU, а только для отладки, отклонения и " "управления выполнением частично сотрудничающих процессов." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Keep in mind that this feature is meant for experiments, and it has a risk " "of crashing the system and running programs. Therefore, when an eBPF " "program using this helper is attached, a warning including PID and process " "name is printed to kernel logs." msgstr "" "Учтите, что это свойство является экспериментальным и может обрушить систему " "и выполняющиеся программы. Поэтому когда присоединяется программа eBPF, " "использующая этот помощник, в журнал ядра печатается предупреждение с PID и " "именем процесса." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<)>" msgid "BIB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Check whether the probe is being run is the context of a given subset of the " "cgroup2 hierarchy. The cgroup2 to test is held by I of type " "B, at I\\&." msgstr "" "Проверяет, выполняется ли тест в контексте заданного поднабора иерархии " "cgroup2. Тестируемый cgroup2 задаётся в I, имеет тип " "B и индекс I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "0, if the I task belongs to the cgroup2." msgid "1, if current task belongs to the cgroup2." msgstr "0, если задача I принадлежит cgroup2." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "1, if the I task does not belong to the cgroup2." msgid "0, if current task does not belong to the cgroup2." msgstr "1, если задача I не принадлежит cgroup2." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Resize (trim or grow) the packet associated to I to the new I\\&. " "The I are reserved for future usage, and must be left at zero." msgstr "" "Изменяет размер (обрезает или расширяет) пакета, связанного с I, на " "новый I\\&. Значения I зарезервированы для использования в " "будущем и должны быть равны нулю." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The basic idea is that the helper performs the needed work to change the " "size of the packet, then the eBPF program rewrites the rest via helpers like " "B(), B(), " "B() and others. This helper is a slow path utility " "intended for replies with control messages. And because it is targeted for " "slow path, the helper itself can afford to be slow: it implicitly " "linearizes, unclones and drops offloads from the I\\&." msgstr "" "По замыслу, помощник выполняет необходимую работу по изменению размера " "пакет, затем программа eBPF перезаписывает остальное через помощников " "B(), B(), B() " "и других. Этот помощник является инструментом для медленного пути и " "предназначен для ответов управляющими сообщениями. Из-за нацелевания на " "медленный путь, сам помощник можно было делать медленным: он неявным образом " "преобразует к линейному виду, извлекает копии и удаляет нагрузку из I" "\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<)>" msgid "BIB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Pull in non-linear data in case the I is non-linear and not all of " #| "I are part of the linear section. Make I bytes from I " #| "readable and writable. If a zero value is passed for I, then the " #| "whole length of the I is pulled." msgid "" "Pull in non-linear data in case the I is non-linear and not all of " "I are part of the linear section. Make I bytes from I " "readable and writable. If a zero value is passed for I, then all bytes " "in the linear part of I will be made readable and writable." msgstr "" "Стягивает в нелинейные данные, если I является нелинейной и не вся " "длина I является частью линейного раздела. Делает I байт из I " "доступными для чтения и записи. Если I равно нулю, то I " "стягивается полностью." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is only needed for reading and writing with direct packet access." msgstr "Этот помощник необходим только для чтения и записи в пакет напрямую." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For direct packet access, testing that offsets to access are within packet " "boundaries (test on IB<-Edata_end>) is susceptible to fail if " "offsets are invalid, or if the requested data is in non-linear parts of the " "I\\&. On failure the program can just bail out, or in the case of a non-" "linear buffer, use a helper to make the data available. The " "B() helper is a first solution to access the data. " "Another one consists in using B to pull in once the non-" "linear parts, then retesting and eventually access the data." msgstr "" "При прямом доступе к пакету тест доступа по этим смещениям внутри границ " "пакета (до IB<-Edata_end>) завершится ошибкой, если смещения " "некорректны, или если запрашиваемые данные находятся в нелинейной части " "I\\&. При ошибке программа может просто завершить работу или, в случае " "нелинейного буфера, использовать помощник, чтобы сделать данные доступными. " "Помощник B() — первое средство для доступа к данным. " "Также можно использовать B для стягивания нелинейных " "частей в одну, а затем повторить тест и получить доступ к данным." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "At the same time, this also makes sure the I is uncloned, which is a " "necessary condition for direct write. As this needs to be an invariant for " "the write part only, the verifier detects writes and adds a prologue that is " "calling B to effectively unclone the I from the " "very beginning in case it is indeed cloned." msgstr "" "Также проверяется, что I не клонирована, это является необходимым " "условием прямой записи. Поскольку постоянство должно быть инвариантом только " "для записи, верификатор обнаруживает действие записи и добавляет пролог, " "который вызывает B для эффективного расклонирования " "I в самом начале, если есть действительно клонирование." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, __wsum >IB<)>" msgstr "BIB<, __wsum >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Add the checksum I into IB<-Ecsum> in case the driver has " "supplied a checksum for the entire packet into that field. Return an error " "otherwise. This helper is intended to be used in combination with " "B(), in particular when the checksum needs to be updated " "after data has been written into the packet through direct packet access." msgstr "" "Добавляет контрольную сумму I в IB<-Ecsum>, если драйвер " "вставлял контрольную сумму для всего пакета в этом поле. В противном случае " "возвращается ошибка. Этот помощник предназначен для совместной работы с " "B(), в случае, когда контрольную сумму нужно обновить после " "прямой записи в пакет." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The checksum on success, or a negative error code in case of failure." msgstr "" "При успешном выполнении — контрольная сумма или отрицательный код ошибки." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Invalidate the current IB<-Ehash>\\&. It can be used after mangling " "on headers through direct packet access, in order to indicate that the hash " "is outdated and to trigger a recalculation the next time the kernel tries to " "access this hash or when the B() helper is called." msgstr "" "Делает текущий IB<-Ehash> недействительным. Это можно использовать " "после искажения (mangling) заголовков через прямой доступ к пакету, чтобы " "показать, что хэш устарел и активировать пересчёт в следующий раз, когда " "ядро попытается обратиться к этому хэшу или когда будет вызван помощник " "B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "void." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Return the id of the current NUMA node. The primary use case for this helper " "is the selection of sockets for the local NUMA node, when the program is " "attached to sockets using the B option (see also " "B), but the helper is also available to other eBPF program types, " "similarly to B()." msgstr "" "Возвращает id текущего узла NUMA. Основным предназначением помощника " "является выбор сокетов локального узла NUMA, когда программа присоединяется " "к сокетам посредством параметра B (смотрите также " "B), но помощник доступен и другим типам программ eBPF, например " "B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The id of current NUMA node." msgstr "ID текущего узла NUMA." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Grows headroom of packet associated to I and adjusts the offset of the " "MAC header accordingly, adding I bytes of space. It automatically " "extends and reallocates memory as required." msgstr "" "Увеличивает место под заголовок пакета, связанного с I и делает " "соответствующее смещение заголовка MAC, добавляя I байт пространства. " "Автоматически расширяет и переразмещает память как нужно." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper can be used on a layer 3 I to push a MAC header for " "redirection into a layer 2 device." msgstr "" "Этот помощник также можно использовать в I на уровне 3, чтобы " "затолкнуть заголовок MAC для перенаправления в устройство уровня 2." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<)>" msgid "BIB<, int >IB<)>" msgstr "BIB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Adjust (move) IB<-Edata> by I bytes. Note that it is " "possible to use a negative value for I\\&. This helper can be used to " "prepare the packet for pushing or popping headers." msgstr "" "Подгоняет (перемещает) IB<-Edata> на I байт. Заметим, что " "можно использовать отрицательное значение I\\&. Этот помощник можно " "использовать при подготовке пакета к вталкиванию и выталкиванию заголовков." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<)>" msgstr "BIB<, int >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Copy a NUL terminated string from an unsafe kernel address I to " "I\\&. See B() for more details." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Generally, use B() or " "B() instead." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "On success, the strictly positive length of the string, including the " "trailing NUL character. On error, a negative value." msgstr "" "При успешном выполнении — только положительная длина строки, включая " "конечный символ NUL. При ошибке — отрицательное значение." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "If the B pointed by I has a known socket, retrieve " #| "the cookie (generated by the kernel) of this socket. If no cookie has " #| "been set yet, generate a new cookie. Once generated, the socket cookie " #| "remains stable for the life of the socket. This helper can be useful for " #| "monitoring per socket networking traffic statistics as it provides a " #| "unique socket identifier per namespace." msgid "" "If the B pointed by I has a known socket, retrieve the " "cookie (generated by the kernel) of this socket. If no cookie has been set " "yet, generate a new cookie. Once generated, the socket cookie remains stable " "for the life of the socket. This helper can be useful for monitoring per " "socket networking traffic statistics as it provides a global socket " "identifier that can be assumed unique." msgstr "" "Если B, указывающая на I, содержит известный сокет, то " "возвращает куки (cookie, генерируется ядром) сокета. Если куки ещё не " "назначена, то генерируется новая куки. После генерации куки сокета не " "меняется на всём протяжении жизни сокета. Этот помощник полезен для слежения " "за статистикой сетевого трафика отдельных сокетов, так как предоставляет " "уникальный идентификатор сокета в каждом пространстве имён." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "A 8-byte long non-decreasing number on success, or 0 if the socket field " #| "is missing inside I\\&." msgid "" "A 8-byte long unique number on success, or 0 if the socket field is missing " "inside I\\&." msgstr "" "При успешном выполнении — 8-байтовое длинное неуменьшающееся число, или 0, " "если в I отсутствует поле сокета." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Equivalent to bpf_get_socket_cookie() helper that accepts I, but " #| "gets socket from B contex." msgid "" "Equivalent to bpf_get_socket_cookie() helper that accepts I, but gets " "socket from B context." msgstr "" "Эквивалентен помощнику bpf_get_socket_cookie(), имеющему параметр I, " "вместо которого принимает сокет из контекста B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "A 8-byte long non-decreasing number." msgid "A 8-byte long unique number." msgstr "При успешном выполнении — 8-байтовое длинное неуменьшающееся число." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Equivalent to bpf_get_socket_cookie() helper that accepts I, but " #| "gets socket from B contex." msgid "" "Equivalent to B() helper that accepts I, but " "gets socket from B context." msgstr "" "Эквивалентен помощнику bpf_get_socket_cookie(), имеющему параметр I, " "вместо которого принимает сокет из контекста B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Equivalent to bpf_get_socket_cookie() helper that accepts I, but " #| "gets socket from B contex." msgid "" "Equivalent to B() helper that accepts I, but gets " "socket from a BTF B\\&. This helper also works for sleepable " "programs." msgstr "" "Эквивалентен помощнику bpf_get_socket_cookie(), имеющему параметр I, " "вместо которого принимает сокет из контекста B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A 8-byte long unique number or 0 if I is NULL." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "Pop a VLAN header from the packet associated to I\\&." msgid "Get the owner UID of the socked associated to I\\&." msgstr "Удаляет заголовок VLAN из пакета, связанного с I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The owner UID of the socket associated to I\\&. If the socket is " "B, or if it is not a full socket (i.e. if it is a time-wait or a " "request socket instead), B value is returned (note that " "B might also be the actual UID value for the socket)." msgstr "" "Возвращает UID владельца сокета, связанного с I\\&. Если значение " "сокета равно B, или если это не полный сокет (т. е., если это сокет " "time-wait или request), то возвращает значение B (заметим, что " "B также может действующим UID значением сокета)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<)>" msgid "BIB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Set the full hash for I (set the field IB<-Ehash>) to value " "I\\&." msgstr "" "Присваивает значение I полному хэшу I (поле IB<-Ehash>)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "0" msgstr "0" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<, int >IB<, char *>IB<, int >IB<)>" msgid "BIB<, int >IB<, int >IB<, void *>IB<, int >IB<)>" msgstr "BIB<, int >IB<, int >IB<, char *>IB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Emulate a call to B on the socket associated to I, " "which must be a full socket. The I at which the option resides and " "the name I of the option must be specified, see B " "for more information. The option value of length I is pointed by " "I\\&." msgstr "" "Эмулирует вызов B для сокета, связанного с I, " "который должен быть полным сокетом. Должны быть заданы уровень I, на " "котором располагается параметр, и и имя I, подробности смотрите в " "B. Значение параметра I задаётся в I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "The I argument should be specified as one of the following:" msgid "I should be one of the following:" msgstr "В аргументе I должно быть указано одно из:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B for B\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "B for B, " "B and B\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper actually implements a subset of B\\&. It supports " "the following Is:" msgstr "" "В действительности этот помощник реализует поднабор B\\&. Он " "поддерживает следующие уровни I:" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "B, which supports the following Is: B, " #| "B, B, B, B, " #| "B\\&." msgid "" "B, which supports the following Is: B, " "B, B, B, B, " "B, B, B, B, " "B, B, B\\&." msgstr "" "B, который поддерживает следующие I: B, " "B, B, B, B, " "B\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "B, which supports the following Is: " #| "B, B, B\\&." msgid "" "B, which supports the following Is: B, " "B, B, B, B, " "B, B, B, B, " "B, B, B, B, " "B, B, B\\&." msgstr "" "B, который поддерживает следующие I: " "B, B, B\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B, which supports I B\\&." msgstr "B, который поддерживает I B\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "B, which supports I B\\&." msgid "" "B, which supports the following Is: B, " "B\\&." msgstr "B, который поддерживает I B\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, s32 >IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, s32 >IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, s32 >IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Grow or shrink the room for data in the packet associated to I by " "I, and according to the selected I\\&." msgstr "" "Расширяет или сужает место под данные в пакете, связанном с I, на " "I и в соответствии с выбранным режимом I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "By default, the helper will reset any offloaded checksum indicator of the " "skb to CHECKSUM_NONE. This can be avoided by the following flag:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B: Do not reset offloaded checksum data of the " "skb to CHECKSUM_NONE." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "There is a single supported mode at this time:" msgid "There are two supported modes at this time:" msgstr "На данный момент поддерживается только один режим:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "B: Adjust room at the network layer (room space is " #| "added or removed below the layer 3 header)." msgid "" "B: Adjust room at the mac layer (room space is added or " "removed between the layer 2 and layer 3 headers)." msgstr "" "B: изменить пространство на сетевом уровне (пространство " "добавляется или удаляется после заголовка 3 уровня)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "B: Adjust room at the network layer (room space is " #| "added or removed below the layer 3 header)." msgid "" "B: Adjust room at the network layer (room space is added " "or removed between the layer 3 and layer 4 headers)." msgstr "" "B: изменить пространство на сетевом уровне (пространство " "добавляется или удаляется после заголовка 3 уровня)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "The following map types are supported:" msgid "The following flags are supported at this time:" msgstr "Поддерживаются следующие типы карт:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B: Do not adjust gso_size. Adjusting mss in this " "way is not allowed for datagrams." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B, B: Any new " "space is reserved to hold a tunnel header. Configure skb offsets and other " "fields accordingly." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B, B: Use with " "ENCAP_L3 flags to further specify the tunnel type." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B(I): Use with ENCAP_L3/L4 flags to further " "specify the tunnel type; I is the length of the inner MAC header." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B: Use with BPF_F_ADJ_ROOM_ENCAP_L2 flag to " "further specify the L2 type as Ethernet." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "B, B: Indicate " "the new IP header version after decapsulating the outer IP header. Used when " "the inner and outer IP versions are different." msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u64 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Redirect the packet to the endpoint referenced by I at index I\\&. " "Depending on its type, this I can contain references to net devices " "(for forwarding packets through other ports), or to CPUs (for redirecting " "XDP frames to another CPU; but this is only implemented for native XDP (with " "driver support) as of this writing)." msgstr "" "Перенаправляет пакет в конечную точку, на которую указывает I в I. " "В зависимости от её типа, в I могут содержаться ссылки на сетевые " "устройства (для пересылки пакетов через другие порты), или ЦП (для " "перенаправления кадров XDP в другой ЦП; на момент написания это реализовано " "только для родных XDP (с поддержкой драйверов))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The lower two bits of I are used as the return code if the map lookup " "fails. This is so that the return value can be one of the XDP program return " "codes up to B, as chosen by the caller. The higher bits of I " "can be set to BPF_F_BROADCAST or BPF_F_EXCLUDE_INGRESS as defined below." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "With BPF_F_BROADCAST the packet will be broadcasted to all the interfaces in " "the map, with BPF_F_EXCLUDE_INGRESS the ingress interface will be excluded " "when do broadcasting." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "See also B(), which only supports redirecting to an ifindex, " "but doesn\\(aqt require a map to do so." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B on success, or the value of the two lower bits of the " "I argument on error." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Redirect the packet to the socket referenced by I (of type " "B) at index I\\&. Both ingress and egress " "interfaces can be used for redirection. The B value in " "I is used to make the distinction (ingress path is selected if the " "flag is present, egress path otherwise). This is the only flag supported for " "now." msgstr "" "Перенаправляет пакет в сокет, на который указывает I в I (тип " "B). Для перенаправления могут использоваться как " "входящий так и исходящий интерфейсы. В качестве отличительного признака в " "I используется значение B (выбирается входящий путь, " "если флаг указан, в противном случае — исходящий). В настоящее время " "поддерживается только этот флаг." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B on success, or B on error." msgstr "При успешном выполнении — B, B — при ошибке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Add an entry to, or update a I referencing sockets. The I is " "used as a new value for the entry associated to I\\&. I is one " "of:" msgstr "" "Добавляет или обновляет элемент, ссылающийся на сокет, в I. В качестве " "нового значение элемента, связанного с I, используется I. " "Значением I может быть одно из:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If the I has eBPF programs (parser and verdict), those will be " "inherited by the socket being added. If the socket is already attached to " "eBPF programs, this results in an error." msgstr "" "Если I содержит программы eBPF (анализатор и решение), то они будут " "наследоваться сокетом, который добавляется. Если сокет уже присоединён к " "программам eBPF, то возвращается ошибка." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<)>" msgid "BIB<, int >IB<)>" msgstr "BIB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Adjust the address pointed by IB<-Edata_meta> by I (which " "can be positive or negative). Note that this operation modifies the address " "stored in IB<-Edata>, so the latter must be loaded only after " "the helper has been called." msgstr "" "Изменяет адрес, указанный в IB<-Edata_meta>, на значение " "I (положительное или отрицательное). Заметим, что эта операция " "изменяет адрес, хранящийся в IB<-Edata>, поэтому последний " "должен быть загружен только после того, как был вызван помощник." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The use of IB<-Edata_meta> is optional and programs are not " "required to use it. The rationale is that when the packet is processed with " "XDP (e.g. as DoS filter), it is possible to push further meta data along " "with it before passing to the stack, and to give the guarantee that an " "ingress eBPF program attached as a TC classifier on the same device can pick " "this up for further post-processing. Since TC works with socket buffers, it " "remains possible to set from XDP the B or B pointers, or " "other pointers for the socket buffer. Having this scratch space generic and " "programmable allows for more flexibility as the user is free to store " "whatever meta data they need." msgstr "" "Использование поля IB<-Edata_meta> необязательно и программам " "оно не требуется. Когда пакет обрабатывается с помощью XDP (например, " "фильтром DoS), перед передачей в стек вместе с ним возможно втолкнуть " "дополнительные метаданные и гарантируется, что входящая программа eBPF, " "подключённая как классификатор TC к тому же устройству, сможет подобрать их " "для дальнейшей пост-обработки. Так как TC работает с буферами сокетов, " "остаётся возможность задать из XDP указатели B или B, или " "другие указатели для буфера сокета. Такое рабочее программируемое и " "универсальное пространство предоставляет большую гибкость, поскольку " "пользователь может хранить любые метаданных какие захочет." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<, struct bpf_perf_event_value *>IB<, u32 >IB<)>" msgid "BIB<, u64 >IB<, struct bpf_perf_event_value *>IB<, u32 >IB<)>" msgstr "BIB<, u64 >IB<, struct bpf_perf_event_value *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Read the value of a perf event counter, and store it into I of size " "I\\&. This helper relies on a I of type " "B\\&. The nature of the perf event counter is " "selected when I is updated with perf event file descriptors. The I " "is an array whose size is the number of available CPUs, and each cell " "contains a value relative to one CPU. The value to retrieve is indicated by " "I, that contains the index of the CPU to look up, masked with " "B\\&. Alternatively, I can be set to " "B to indicate that the value for the current CPU should " "be retrieved." msgstr "" "Читает значение счётчика событий perf и сохраняет его в I размером " "I\\&. Этот помощник использует I с типом " "B\\&. Источник счётчика событий perf " "выбирается при обновлении I через файловые дескрипторы событий perf. " "Значение I представляет собой массив, размер которого равен количеству " "доступных ЦП, а каждая ячейка содержит значение для соответствующего ЦП. " "Получаемое значение задаётся в I, которое содержит индекс искомого ЦП " "с наложенной маской B\\&. Или же I можно присвоить " "B, которое показывает, что нужно получать значение для " "текущего ЦП." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper behaves in a way close to B() helper, save " "that instead of just returning the value observed, it fills the I " "structure. This allows for additional data to be retrieved: in particular, " "the enabled and running times (in IB<-Eenabled> and IB<-" "Erunning>, respectively) are copied. In general, " "B() is recommended over B(), " "which has some ABI issues and provides fewer functionalities." msgstr "" "Этот помощник работает почти также как B(), но не " "возвращает значение, а помещает его в структуру I. Это позволяет " "получать дополнительные данные,в частности, копируется время включения и " "выполнения (в IB<-Eenabled> иIB<-Erunning>, " "соответственно). В общем, рекомендуется использовать " "B() вместо B(), у которого " "есть проблемы с ABI и который имеет меньше возможностей." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "These values are interesting, because hardware PMU (Performance Monitoring " "Unit) counters are limited resources. When there are more PMU based perf " "events opened than available counters, kernel will multiplex these events so " "each event gets certain percentage (but not all) of the PMU time. In case " "that multiplexing happens, the number of samples or counter value will not " "reflect the case compared to when no multiplexing occurs. This makes " "comparison between different runs difficult. Typically, the counter value " "should be normalized before comparing to other experiments. The usual " "normalization is done as follows." msgstr "" "Эти значения существенны, так как аппаратные счётчики PMU (Performance " "Monitoring Unit) — ограниченный ресурс. Когда открыто больше PMU (на основе " "событий perf), чем доступно счётчиков, ядро будет мультиплексировать эти " "события; при этом каждое событие получает определённый процент (но не всё) " "времени PMU. Если возникает мультиплексирование, количество выборок или " "значение счетчика не будет отражать происходящее, по сравнению, если бы " "мультиплексирования не было. Это затрудняет сравнение между несколькими " "запусками. Обычно, значение счётчика нужно нормализовать перед сравнением с " "другими экспериментами. Это выполняется следующим образом:" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "normalized_counter = counter * t_enabled / t_running\n" msgid "normalized_counter = counter * t_enabled / t_running\n" msgstr "normalized_counter = counter * t_enabled / t_running\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Where t_enabled is the time enabled for event and t_running is the time " #| "running for event since last normalization. The enabled and running times " #| "are accumulated since the perf event open. To achieve scaling factor " #| "between two invocations of an eBPF program, users can can use CPU id as " #| "the key (which is typical for perf array usage model) to remember the " #| "previous value and do the calculation inside the eBPF program." msgid "" "Where t_enabled is the time enabled for event and t_running is the time " "running for event since last normalization. The enabled and running times " "are accumulated since the perf event open. To achieve scaling factor between " "two invocations of an eBPF program, users can use CPU id as the key (which " "is typical for perf array usage model) to remember the previous value and do " "the calculation inside the eBPF program." msgstr "" "Где t_enabled — время включения события и t_running — время выполнения " "события, начиная с последней нормализации. Времена включения и выполнения " "накапливаются с момента открытия события perf. Для получения масштабирующего " "множителя между двумя вызовами программы eBPF пользователь может " "использовать ID ЦП в качестве ключа (типично при использовании массива perf) " "для запоминания предыдущего значения и выполнить вычисление внутри программы " "eBPF." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_perf_event_value *>IB<, u32 >IB<)>" msgid "BIB<, struct bpf_perf_event_value *>IB<, u32 >IB<)>" msgstr "BIB<, struct bpf_perf_event_value *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "For en eBPF program attached to a perf event, retrieve the value of the " #| "event counter associated to I and store it in the structure pointed " #| "by I and of size I\\&. Enabled and running times are also " #| "stored in the structure (see description of helper " #| "B() for more details)." msgid "" "For an eBPF program attached to a perf event, retrieve the value of the " "event counter associated to I and store it in the structure pointed by " "I and of size I\\&. Enabled and running times are also stored " "in the structure (see description of helper B() " "for more details)." msgstr "" "Для программы eBPF, присоединённой к событию perf, возвращает значение " "счётчика события, связанного с I, и записывает его в структуру, на " "которую указывает I и размер I\\&. Время включения и " "выполнения также записываются в структуру (смотрите описание помощника " "B())." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<, int >IB<, char *>IB<, int >IB<)>" msgid "BIB<, int >IB<, int >IB<, void *>IB<, int >IB<)>" msgstr "BIB<, int >IB<, int >IB<, char *>IB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Emulate a call to B on the socket associated to I, " "which must be a full socket. The I at which the option resides and " "the name I of the option must be specified, see B " "for more information. The retrieved value is stored in the structure " "pointed by I and of length I\\&." msgstr "" "Эмулирует вызов B для сокета, связанного с I, " "который должен быть полным сокетом. Должны быть заданы уровень I, на " "котором располагается параметр, и и имя I, подробности смотрите в " "B. Возвращаемое значение записывается в структуру, на которую " "указывает I, и имеющая размер I\\&." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "This helper actually implements a subset of B\\&. It supports " "the same set of Is that is supported by the B() " "helper. The exceptions are B is B() only and " "B is B() only." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Used for error injection, this helper uses kprobes to override the return " "value of the probed function, and to set it to I\\&. The first argument " "is the context I on which the kprobe works." msgstr "" "Используется для вставки ошибки; этот помощник использует kprobes для " "перезаписи возвращаемого значения тестируемой (probed) функции и изменяет её " "на I\\&. С первым аргументом — контекст I — работает kprobe." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "This helper works by setting setting the PC (program counter) to an " #| "override function which is run in place of the original probed function. " #| "This means the probed function is not run at all. The replacement " #| "function just returns with the required value." msgid "" "This helper works by setting the PC (program counter) to an override " "function which is run in place of the original probed function. This means " "the probed function is not run at all. The replacement function just returns " "with the required value." msgstr "" "Этот помощник изменяет PC (программный счётчик) на перезаписываемую функцию, " "которая выполняется вместо изначальной тестируемой функции. Это означает, " "что тестируемая функция вообще не выполняется. Заменяющая функция просто " "возвращает требуемое значение." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper has security implications, and thus is subject to restrictions. " "It is only available if the kernel was compiled with the " "B configuration option, and in this case it only " "works on functions tagged with B in the kernel code." msgstr "" "Этот помощник является потенциальным нарушителем безопасности и поэтому " "подвергнут ограничениям. Он доступен только, если ядро скомпилировано с " "параметром настройки B и при этом работает " "только с функциями, помеченными B в коде ядре." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Also, the helper is only available for the architectures having the " "CONFIG_FUNCTION_ERROR_INJECTION option. As of this writing, x86 architecture " "is the only one to support this feature." msgstr "" "Также помощник доступен только на архитектурах, имеющих параметр " "CONFIG_FUNCTION_ERROR_INJECTION. На момент написания справки, только " "архитектура x86 поддерживает данное свойство." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<)>" msgid "BIB<, int >IB<)>" msgstr "BIB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Attempt to set the value of the B field for the full " "TCP socket associated to I to I\\&." msgstr "" "Пытается присвоить значение I полю B для " "полного сокета TCP, связанного с I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The primary use of this field is to determine if there should be calls to " "eBPF programs of type B at various points in the TCP " "code. A program of the same type can change its value, per connection and as " "necessary, when the connection is established. This field is directly " "accessible for reading, but this helper must be used for updates in order to " "return an error if an eBPF program tries to set a callback that is not " "supported in the current kernel." msgstr "" "Основным предназначением этого поля является определение, вызывать ли " "программы eBPF с типом B в различных случаях из кода " "TCP. Программа такого типа может менять это значение для каждого соединения, " "если нужно, после установления соединения. Это поле доступно для прямого " "чтения, но данный помощник нужно использовать, чтобы получить ошибку " "обновления, если программа eBPF пытается назначить обратный вызов, который " "не поддерживается в текущем ядре." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "I is a flag array which can combine these flags:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B (retransmission time out)" msgstr "B (истекло время повторной передачи)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B (retransmission)" msgstr "B (повторная передача)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B (TCP state change)" msgstr "B (изменение состояния TCP)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "B (retransmission)" msgid "B (every RTT)" msgstr "B (повторная передача)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Therefore, this function can be used to clear a callback flag by setting the " "appropriate bit to zero. e.g. to disable the RTO callback:" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<)>" msgid "B" msgstr "BIB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Bbpf_sock_ops_cb_flags & ~BPF_SOCK_OPS_RTO_CB_FLAG)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Here are some examples of where one could call such eBPF program:" msgstr "Вот некоторые примеры, когда может вызываться такая программа eBPF:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "When RTO fires." msgstr "При возникновении RTO." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "When a packet is retransmitted." msgstr "При повторной посылке пакета." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "When the connection terminates." msgstr "При завершении соединения." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "When a packet is sent." msgstr "При посылке пакета." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "When a packet is received." msgstr "При получении пакета." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Code B<-EINVAL> if the socket is not a full TCP socket; otherwise, a " "positive number containing the bits that could not be set is returned (which " "comes down to 0 if all bits were set as required)." msgstr "" "Код B<-EINVAL>, если сокет не является полным сокетом TCP; в противном " "случае возвращается положительное число, содержащее биты, которые не могут " "быть установлены (то есть 0, если установлены все требуемые биты)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is used in programs implementing policies at the socket level. " "If the message I is allowed to pass (i.e. if the verdict eBPF program " "returns B), redirect it to the socket referenced by I (of type " "B) at index I\\&. Both ingress and egress " "interfaces can be used for redirection. The B value in " "I is used to make the distinction (ingress path is selected if the " "flag is present, egress path otherwise). This is the only flag supported for " "now." msgstr "" "Этот помощник используется в программах, которые описывают политики на " "уровне сокета. Если сообщению I разрешено проходить дальше (т. е., если " "решающая программа eBPF вернула B), то оно перенаправляется в " "сокет, на который указывает индекс II в I (с типом " "B). Для перенаправления можно использовать как " "входящий так и исходящий интерфейсы. В качестве отличительного признака в " "I используется значение B (выбирается входящий путь, " "если флаг указан, в противном случае — исходящий). В настоящее время " "поддерживается только этот флаг." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<)>" msgid "BIB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For socket policies, apply the verdict of the eBPF program to the next " "I (number of bytes) of message I\\&." msgstr "" "Для политик сокетов; выносит решение программе eBPF о следующих I " "(количество байт) сообщения I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "For example, this helper can be used in the following cases:" msgstr "Например, этот помощник можно использовать в следующих случаях:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "A single B() or B() system call contains multiple logical " "messages that the eBPF program is supposed to read and for which it should " "apply a verdict." msgstr "" "Одиночный системный вызов B() или B() содержит несколько " "логических сообщений, которые программа eBPF хочет прочитать и для которых " "нужно принять решение." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "An eBPF program only cares to read the first I of a I\\&. If the " "message has a large payload, then setting up and calling the eBPF program " "repeatedly for all bytes, even though the verdict is already known, would " "create unnecessary overhead." msgstr "" "Программа eBPF заботится о чтении только первых I из I\\&. Если " "сообщение содержит больше полезной нагрузки, то для всех байт приходится " "настраиваить параметры и вызывать программу eBPF в цикле, хотя решение уже " "известно, что приводит к ненужным затратам." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "When called from within an eBPF program, the helper sets a counter internal " "to the BPF infrastructure, that is used to apply the last verdict to the " "next I\\&. If I is smaller than the current data being " "processed from a B() or B() system call, the first " "I will be sent and the eBPF program will be re-run with the pointer " "for start of data pointing to byte number I B<+ 1>\\&. If I is " "larger than the current data being processed, then the eBPF verdict will be " "applied to multiple B() or B() calls until I are " "consumed." msgstr "" "При вызове из программы eBPF, помощник настраивает внутренний счётчик в " "инфраструктуре BPF, который используется для выборки последнего решения для " "следующих I\\&. Если значение I меньше, чем текущих данных, " "полученных из системного вызова B() или B(), то будут " "посланы первые I и программа eBPF выполнится повторно с указателем на " "начало данных, описывающим байт номер I B<+ 1>\\&. Если значение " "I больше текущих обрабатываемых данных, то следующее решение eBPF " "будет применено к нескольких вызовам B() или B(), пока не " "израсходуются все I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Note that if a socket closes with the internal counter holding a non-zero " "value, this is not a problem because data is not being buffered for I " "and is sent as it is received." msgstr "" "Заметим, что если сокет закрыт с значением внутреннего счётчика отличным от " "нуля, то это не проблема, так как данные не буферизуются для I и " "пошлются сразу при получении." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<)>" msgid "BIB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For socket policies, prevent the execution of the verdict eBPF program for " "message I until I (byte number) have been accumulated." msgstr "" "Для политик сокетов; предотвращает выполнение программы eBPF, выносящей " "решение для сообщения I до тех пор, пока не наберётся количество байт " "I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This can be used when one needs a specific number of bytes before a verdict " "can be assigned, even if the data spans multiple B() or " "B() calls. The extreme case would be a user calling B() " "repeatedly with 1-byte long message segments. Obviously, this is bad for " "performance, but it is still valid. If the eBPF program needs I bytes " "to validate a header, this helper can be used to prevent the eBPF program to " "be called again until I have been accumulated." msgstr "" "Это можно использовать, когда для принятия решения нужно определённое " "количество байт, даже если данные распределены между несколькими вызовами " "B() или B(). Можно представить крайний случай, когда " "пользователь вызывает B() несколько раз разбивания сообщение по 1 " "байту. Очевидно, что это плохо сказывается на производительности, хотя и " "работает. Если программе eBPF для проверки заголовка нужно I байт, то " "помощник можно использовать для задержки вызова программы eBPF до тех пор, " "пока не будет накоплено нужное количество I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For socket policies, pull in non-linear data from user space for I and " "set pointers IB<-Edata> and IB<-Edata_end> to I and " "I bytes offsets into I, respectively." msgstr "" "Для политик сокетов; вытягивает нелинейные данные в I из " "пользовательского пространства и изменяет указатели IB<-Edata> и " "IB<-Edata_end> на I и I байтового смещения в I, " "соответственно." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If a program of type B is run on a I it can only " "parse data that the (B, B) pointers have already consumed. " "For B() hooks this is likely the first scatterlist element. But for " "calls relying on the B handler (e.g. B()) this will be " "the range (B<0>, B<0>) because the data is shared with user space and by " "default the objective is to avoid allowing user space to modify data while " "(or after) eBPF verdict is being decided. This helper can be used to pull in " "data and to set the start and end pointer to given values. Data will be " "copied if necessary (i.e. if data was not linear and if start and end " "pointers do not point to the same chunk)." msgstr "" "Если программа имеет тип B и выполняется для I, " "то она может обрабатывать только данные, для которых уже настроены указатели " "(B, B). Для перехватчиков B(), это, вероятно, " "первый элемент scatterlist. Но для вызовов полагающихся на обработчик " "B (например, B()), это будет диапазон (B<0>, B<0>), так " "как данные совместно используются с пространством пользователя и по " "умолчанию стремятся избегать разрешать пользовательскому пространству " "изменять данные во время (или после) принятия решения eBPF. Этот помощник " "можно использовать для вытягивания данных и настройки указателей начала и " "конца на заданные значения. Данные будут скопированы при необходимости (т. " "е., если данные нелинейные и если указатели начала и конца не указывают на " "ту же часть)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct sockaddr *>IB<, int >IB<)>" msgid "BIB<, struct sockaddr *>IB<, int >IB<)>" msgstr "BIB<, struct sockaddr *>IB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Bind the socket associated to I to the address pointed by I, of " "length I\\&. This allows for making outgoing connection from the " "desired IP address, which can be useful for example when all processes " "inside a cgroup should use one single IP address on a host that has multiple " "IP configured." msgstr "" "Привязывает сокет, связанный с I, с адресом, на который указывает " "I, с длиной I\\&. Это позволяет создавать исходящее " "соединение с желаемого IP-адреса, что может быть полезно, например, когда " "все процессы внутри cgroup должны использовать единый IP-адрес на узле с " "несколькими настроенными IP." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "This helper works for IPv4 and IPv6, TCP and UDP sockets. The domain " #| "(IB<-Esa_family>) must be B (or B). Looking " #| "for a free port to bind to can be expensive, therefore binding to port is " #| "not permitted by the helper: IB<-Esin_port> (or B, " #| "respectively) must be set to zero." msgid "" "This helper works for IPv4 and IPv6, TCP and UDP sockets. The domain " "(IB<-Esa_family>) must be B (or B). It\\(aqs " "advised to pass zero port (B or B) which triggers " "IP_BIND_ADDRESS_NO_PORT-like behavior and lets the kernel efficiently pick " "up an unused port as long as 4-tuple is unique. Passing non-zero port might " "lead to degraded performance." msgstr "" "Этот помощник работает с IPv4 и IPv6, сокетами TCP и UDP. Домен (IB<-" "Esa_family>) должен быть B (или B). Поиск свободного " "порта для привязки может быть затратным, поэтому помощник не разрешает " "привязку к порту: IB<-Esin_port> (или B, " "соответственно) должны быть равны нулю." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<)>" msgid "BIB<, int >IB<)>" msgstr "BIB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Adjust (move) IB<-Edata_end> by I bytes. It is only " #| "possible to shrink the packet as of this writing, therefore I must " #| "be a negative integer." msgid "" "Adjust (move) IB<-Edata_end> by I bytes. It is possible " "to both shrink and grow the packet tail. Shrink done via I being a " "negative integer." msgstr "" "Изменяет (перемещает) IB<-Edata_end> на I байт. Возможно " "только уменьшить пакет при записи, поэтому значение I должно быть " "отрицательным integer." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, struct bpf_xfrm_state *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, struct bpf_xfrm_state *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, struct bpf_xfrm_state *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Retrieve the XFRM state (IP transform framework, see also B) " #| "at I in XFRM \"security path\" for I\\&." msgid "" "Retrieve the XFRM state (IP transform framework, see also B) at " "I in XFRM \"security path\" for I\\&." msgstr "" "Получает состояние XFRM (инфраструктура преобразования IP, смотрите B) по I «пути безопасности» XFRM для I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The retrieved value is stored in the B pointed by " "I and of length I\\&." msgstr "" "Полученное состояние сохраняется в B, на который " "указывает I, и с длиной I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is available only if the kernel was compiled with B " "configuration option." msgstr "" "Этот помощник доступен только, если ядро скомпилировано с параметром " "настройки B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Return a user or a kernel stack in bpf program provided buffer. To achieve " "this, the helper needs I, which is a pointer to the context on which " "the tracing program is executed. To store the stacktrace, the bpf program " "provides I with a nonnegative I\\&." msgstr "" "Возвращает пользовательский и ядерный стек в буфер, предоставляемый " "программой bpf. Для этого помощнику требуется I — указатель на контекст " "выполнения трассирующей программы. Для сохранения stacktrace программа bpf " "предоставляет I с неотрицательным I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The last argument, I, holds the number of stack frames to skip (from " "0 to 255), masked with B\\&. The next bits can be " "used to set the following flags:" msgstr "" "В последнем параметре, I, хранится пропускаемое количество кадров " "стека (от 0 до 255) с наложенной маской B\\&. " "Следующие биты можно использовать для задания следующих флагов:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Collect buildid+offset instead of ips for user stack, only valid if " #| "B is also specified." msgid "" "Collect (build_id, file_offset) instead of ips for user stack, only valid if " "B is also specified." msgstr "" "Собирать buildid+смещение вместо ips пользовательского стека, доступен " "только, если также указан B." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "I is an offset relative to the beginning of the executable or " "shared object file backing the vma which the I falls in. It is I an " "offset relative to that object\\(aqs base address. Accordingly, it must be " "adjusted by adding (sh_addr - sh_offset), where sh_{addr,offset} correspond " "to the executable section containing I in the object, for " "comparisons to symbols\\(aq st_value to be valid." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B() can collect up to B both kernel and " "user frames, subject to sufficient large buffer size. Note that this limit " "can be controlled with the B program, and that it should be manually " "increased in order to profile long user stacks (such as stacks for Java " "programs). To do so, use:" msgstr "" "Помощник B() может собирать до B " "ядерных и пользовательских кадров, что требует значительно большего размера " "буфера. Заметим, что это ограничение можно изменять программой B, и " "что его нужно вручную увеличивать, если нужно отсматривать длинные " "пользовательские стеки (например, стеки программ Java). Для этого выполните:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "A non-negative value equal to or less than I on success, or a " #| "negative error in case of failure." msgid "" "The non-negative copied I length equal to or less than I on " "success, or a negative error in case of failure." msgstr "" "При успешном выполнении — неотрицательное значение, меньшее или равное " "I; при ошибке — отрицательный код." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<, u32 >IB<)>" msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, void *>IB<, u32 >IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is similar to B() in that it provides an " "easy way to load I bytes from I from the packet associated to " "I, into the buffer pointed by I\\&. The difference to " "B() is that a fifth argument I exists in " "order to select a base offset to start from. I can be one of:" msgstr "" "Этот помощник похож на B() тем, что предоставляет " "простой способ загрузки I байт из смещения I в пакете, " "связанном с I, в буфер, на который указывает I\\&. Отличие от " "B() в том, что имеется пятый аргумент I, " "позволяющий выбрать базовое начальное смещение. Значением I " "может быть одно из:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "Base offset to load data from is I\\(aqs mac header." msgid "Base offset to load data from is I\\(aqs mac header." msgstr "Базовое смещение для загрузки данных из заголовка mac I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "Base offset to load data from is I\\(aqs network header." msgid "Base offset to load data from is I\\(aqs network header." msgstr "Базовое смещение для загрузки данных из заголовка сети I." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "In general, \"direct packet access\" is the preferred method to access " #| "packet data, however, this helper is in particular useful in socket " #| "filters where IB<-Edata> does not always point to the start of " #| "the mac header and where \"direct packet access\" is not available." msgid "" "In general, \"direct packet access\" is the preferred method to access " "packet data, however, this helper is in particular useful in socket filters " "where IB<-Edata> does not always point to the start of the mac " "header and where \"direct packet access\" is not available." msgstr "" "В общем случае, «прямой доступ к пакету» является предпочтительным методом " "доступа к данным пакета, однако, этот помощник иногда полезен в сокетных " "фильтрах, где IB<-Edata> не всегда указывает на начало заголовка " "mac и «прямой доступ к пакету» недоступен." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_fib_lookup *>IB<, int >IB<, u32 >IB<)>" msgid "BIB<, struct bpf_fib_lookup *>IB<, int >IB<, u32 >IB<)>" msgstr "BIB<, struct bpf_fib_lookup *>IB<, int >IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Do FIB lookup in kernel tables using parameters in I\\&. If lookup " "is successful and result shows packet is to be forwarded, the neighbor " "tables are searched for the nexthop. If successful (ie., FIB lookup shows " "forwarding and nexthop is resolved), the nexthop address is returned in " "ipv4_dst or ipv6_dst based on family, smac is set to mac address of egress " "device, dmac is set to nexthop mac address, rt_metric is set to metric from " "route (IPv4/IPv6 only), and ifindex is set to the device index of the " "nexthop from the FIB lookup." msgstr "" "Выполняет поиск FIB в таблицах ядра по параметрам из I\\&. Если что-" "то найдено и результат отражает пакет, который будет пересылаться, то в " "соседних таблицах ищется следующий переход (nexthop). Если он найден (т. е., " "находка FIB пересылается и определён следующий переход), то в ipv4_dst или " "ipv6_dst возвращается адрес следующего перехода для семейств, в smac — адрес " "mac исходящего устройства, в dmac — адрес mac следующего перехода, в " "rt_metric — метрика из маршрута (только IPv4/IPv6) и в ifindex — индекс " "устройства следующего перехода из поиска FIB." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I argument is the size of the passed in struct. I argument can " "be a combination of one or more of the following values:" msgstr "" "В аргументе I указывается размер передаваемой структуры. В аргументе " "I может быть комбинация одного и более следующих значений:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Do a direct table lookup vs full lookup using FIB rules." msgstr "" "Выполнять прямой табличный поиск, а не полный поиск с помощью правил FIB." #. type: TP #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Used with BPF_FIB_LOOKUP_DIRECT. Use the routing table ID present in " "I-Etbid for the fib lookup." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Perform lookup from an egress perspective (default is ingress)." msgstr "Выполнять поиск с исходящей стороны (по умолчанию входящей)." #. type: TP #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Skip the neighbour table lookup. I-Edmac and I-Esmac " "will not be set as output. A common use case is to call " "B() after doing B()." msgstr "" #. type: TP #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Derive and set source IP addr in I-Eipv{4,6}_src for the " "nexthop. If the src addr cannot be derived, B " "is returned. In this case, I-Edmac and I-Esmac are " "not set either." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I is either B for XDP programs or B tc " "cls_act programs." msgstr "" "Для программ XDP тип I равен B, а для программ tc " "cls_act — B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "E 0 if any input argument is invalid" msgstr "E 0, если какой-то из входных параметров некорректен" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "0 on success (packet is forwarded, nexthop neighbor exists)" msgstr "" "При успешном выполнении возвращает 0 (пакет переслан, следующий переход " "существует)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "E 0 one of B codes explaining why the packet is not " "forwarded or needs assist from full stack" msgstr "" "Если E 0, то это один из кодов B, объясняющий почему " "пакет не переслан или требуется помощь из полного стека" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If lookup fails with BPF_FIB_LKUP_RET_FRAG_NEEDED, then the MTU was exceeded " "and output params-Emtu_result contains the MTU." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Add an entry to, or update a sockhash I referencing sockets. The " "I is used as a new value for the entry associated to I\\&. " "I is one of:" msgstr "" "Добавляет или обновляет элемент, ссылающийся на сокет, в sockhash I. В " "качестве нового значение элемента, связанного с I, используется " "I. Значением I может быть одно из:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is used in programs implementing policies at the socket level. " "If the message I is allowed to pass (i.e. if the verdict eBPF program " "returns B), redirect it to the socket referenced by I (of type " "B) using hash I\\&. Both ingress and egress " "interfaces can be used for redirection. The B value in " "I is used to make the distinction (ingress path is selected if the " "flag is present, egress path otherwise). This is the only flag supported for " "now." msgstr "" "Этот помощник используется в программах, которые описывают политики на " "уровне сокета. Если сообщению I разрешено проходить дальше (т. е., если " "решающая программа eBPF вернула B), то оно перенаправляется в " "сокет, на который указывает хэш I в I (с типом " "B). Для перенаправления можно использовать как " "входящий так и исходящий интерфейсы. В качестве отличительного признака в " "I используется значение B (выбирается входящий путь, " "если флаг указан, в противном случае — исходящий). В настоящее время " "поддерживается только этот флаг." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "This helper is used in programs implementing policies at the skb socket " #| "level. If the sk_buff I is allowed to pass (i.e. if the verdeict " #| "eBPF program returns B), redirect it to the socket referenced by " #| "I (of type B) using hash I\\&. Both " #| "ingress and egress interfaces can be used for redirection. The " #| "B value in I is used to make the distinction " #| "(ingress path is selected if the flag is present, egress otherwise). This " #| "is the only flag supported for now." msgid "" "This helper is used in programs implementing policies at the skb socket " "level. If the sk_buff I is allowed to pass (i.e. if the verdict eBPF " "program returns B), redirect it to the socket referenced by I " "(of type B) using hash I\\&. Both ingress and " "egress interfaces can be used for redirection. The B value in " "I is used to make the distinction (ingress path is selected if the " "flag is present, egress otherwise). This is the only flag supported for now." msgstr "" "Этот помощник используется в программах, которые описывают политики на " "уровне сокета skb. Если sk_buff I разрешено проходить дальше (т. е., " "если решающая программа eBPF вернула B), то оно перенаправляется в " "сокет, на который указывает хэш I в I (с типом " "B). Для перенаправления можно использовать как " "входящий так и исходящий интерфейсы. В качестве отличительного признака в " "I используется значение B (выбирается входящий путь, " "если флаг указан, в противном случае — исходящий). В настоящее время " "поддерживается только этот флаг." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Encapsulate the packet associated to I within a Layer 3 protocol " "header. This header is provided in the buffer at address I, with I " "its size in bytes. I indicates the protocol of the header and can be " "one of:" msgstr "" "Формирует пакет, связанный с I, с заголовком протокола уровня 3. Этот " "заголовок помещается в буфер по адресу I размером I байт. Значение " "I задаёт протокол заголовка и может быть одним из:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "IPv6 encapsulation with Segment Routing Header (B). " "I only contains the SRH, the IPv6 header is computed by the kernel." msgstr "" "Инкапсуляция IPv6 с заголовком посегментной маршрутизации (Segment Routing " "Header, B). В I содержится только SRH, заголовок " "IPv6 вычисляется ядром." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Only works if I contains an IPv6 packet. Insert a Segment Routing " "Header (B) inside the IPv6 header." msgstr "" "Работает только, если в I содержится пакет IPv6. Вставляет заголовок " "посегментной маршрутизации (Segment Routing Header, B) в " "заголовок IPv6." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "IP encapsulation (GRE/GUE/IPIP/etc). The outer header must be IPv4 or IPv6, " "followed by zero or more additional headers, up to B " "total bytes in all prepended headers. Please note that if " "B(I) is true, no more than two headers can be prepended, " "and the inner header, if present, should be either GRE or UDP/GUE." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B* types can be called by BPF programs of type " "B; B type can be called by bpf " "programs of types B and B\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Store I bytes from address I into the packet associated to " "I, at I\\&. Only the flags, tag and TLVs inside the outermost " "IPv6 Segment Routing Header can be modified through this helper." msgstr "" "Сохраняет I байт, начиная с адреса I в пакет, связанный с I, " "по смещению I\\&. С помощью этого помощника можно изменять только " "флаги, тег и TLV в самом внешнем заголовке IPv6 посегментной маршрутизации " "(Segment Routing Header)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, s32 >IB<)>" msgid "BIB<, u32 >IB<, s32 >IB<)>" msgstr "BIB<, u32 >IB<, s32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Adjust the size allocated to TLVs in the outermost IPv6 Segment Routing " "Header contained in the packet associated to I, at position I " "by I bytes. Only offsets after the segments are accepted. I " "can be as well positive (growing) as negative (shrinking)." msgstr "" "Изменяет размер пространства, выделенного для TLV в самом внешнем заголовке " "IPv6 посегментной маршрутизации из пакета, связанного с I в " "расположении I, на I байт. Допускаются только расположения " "после сегментов. Значение I может быть как положительным (для " "увеличения), так и отрицательным (для уменьшения)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Apply an IPv6 Segment Routing action of type I to the packet " "associated to I\\&. Each action takes a parameter contained at address " "I, and of length I bytes. I can be one of:" msgstr "" "Применяет действие с типом I посегментной маршрутизации IPv6 в " "пакету, связанному с I\\&. Каждое действие учитывает параметр, " "содержащейся по адресу I и длиной I байт. Значение " "I может быть одним из:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "End.X action: Endpoint with Layer-3 cross-connect. Type of I: " "B\\&." msgstr "" "Действие End.X: конечная точка (endpoint) с кроссированием на 3 уровне. Тип " "I: B\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "End.T action: Endpoint with specific IPv6 table lookup. Type of I: " "B\\&." msgstr "" "Действие End.T: конечная точка с заданной таблицей поиска IPv6. Тип " "I: B\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "End.B6 action: Endpoint bound to an SRv6 policy. Type of param: B\\&." msgid "" "End.B6 action: Endpoint bound to an SRv6 policy. Type of I: B\\&." msgstr "" "Действие End.B6: конечная точка привязана к политике SRv6. Тип параметра: " "B\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "End.B6.Encap action: Endpoint bound to an SRv6 encapsulation policy. " #| "Type of param: B\\&." msgid "" "End.B6.Encap action: Endpoint bound to an SRv6 encapsulation policy. Type " "of I: B\\&." msgstr "" "Действие End.B6.Encap: конечная точка привязана к политике инкапсуляции " "SRv6. Тип параметра: B\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is used in programs implementing IR decoding, to report a " "successfully decoded repeat key message. This delays the generation of a key " "up event for previously generated key down event." msgstr "" "Этот помощник используется в программах, реализующих декодирование IR, для " "сообщения об успешном декодировании сообщения о повторно нажатой клавише. Он " "задерживает генерацию события об отпускании клавиши для сгенериванного ранее " "события нажатия клавиши." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Some IR protocols like NEC have a special IR message for repeating last " "button, for when a button is held down." msgstr "" "В некоторых протоколах IR, например NEC, есть специальное сообщение IR для " "повтора последней клавиши, чтобы показать, что клавиша остаётся нажатой." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The I should point to the lirc sample as passed into the program." msgstr "" "Значение I должно указывать на выборку lirc, переданную программе." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "This helper is only available is the kernel was compiled with the " #| "B configuration option set to \"B\"." msgid "" "This helper is only available is the kernel was compiled with the " "B configuration option set to \"B\"." msgstr "" "Этот помощник доступен только, если ядро скомпилировано с параметром " "настройки B равным \"B\"." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<, u32 >IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is used in programs implementing IR decoding, to report a " "successfully decoded key press with I, I value in the " "given I\\&. The scancode will be translated to a keycode using the " "rc keymap, and reported as an input key down event. After a period a key up " "event is generated. This period can be extended by calling either " "B() again with the same values, or calling " "B()." msgstr "" "Этот помощник используется в программах, реализующих декодирование IR, для " "сообщения об успешном декодировании значения нажатой клавиши I, " "I в заданном I\\&. Скан-код будет преобразован в код " "клавиши с помощью карты клавиш rc, и записывается в виде входного события о " "нажатой клавише. После паузы генерируется событие об отпускании клавиши. " "Этот период может быть продлён повторным вызовом B() с теми " "же значениями или вызовом B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Some protocols include a toggle bit, in case the button was released and " "pressed again between consecutive scancodes." msgstr "" "Некоторые протоколы имеют бит переключения, который устанавливается, если " "клавиша была отпущена и нажата снова между последовательностью скан-кодов." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The I is the decoded protocol number (see B for " "some predefined values)." msgstr "" "Значение I это номер декодируемого протокола (предопределённые " "значение смотрите в B)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Return the cgroup v2 id of the socket associated with the I\\&. This " "is roughly similar to the B() helper for cgroup v1 " "by providing a tag resp. identifier that can be matched on or used for map " "lookups e.g. to implement policy. The cgroup v2 id of a given path in the " "hierarchy is exposed in user space through the f_handle API in order to get " "to the same 64-bit id." msgstr "" "Возвращает идентификатор cgroup v2 сокета, связанного с I\\&. Он, " "приблизительно, похож на помощник B() для cgroup v1, " "предоставляющий тег resp., который можно сравнивать или использовать для " "поиска в картах, например при реализации политики. Идентификатор cgroup v2 " "заданного пути в иерархии отражается в пользовательском пространстве через " "программный интерфейс f_handle, используемого для получения этого же 64-" "битного идентификатора." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper can be used on TC egress path, but not on ingress, and is " "available only if the kernel was compiled with the " "B configuration option." msgstr "" "Этот помощник можно использовать на выходящем пути TC, но не на входящем, и " "он доступен только, если ядро было скомпилировано с параметром настройки " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The id is returned or 0 in case the id could not be retrieved." msgstr "" "Возвращается идентификатор или 0, если идентификатор не может быть получен." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "A 64-bit integer containing the current cgroup id based on the cgroup " #| "within which the current task is running." msgid "" "Get the current cgroup id based on the cgroup within which the current task " "is running." msgstr "" "64-битное целое, содержащее идентификатор текущей cgroup, на основе cgroup, " "в которой выполняется текущая задача." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "A 64-bit integer containing the current cgroup id based on the cgroup within " "which the current task is running." msgstr "" "64-битное целое, содержащее идентификатор текущей cgroup, на основе cgroup, " "в которой выполняется текущая задача." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get the pointer to the local storage area. The type and the size of the " "local storage is defined by the I argument. The I meaning is " "specific for each map type, and has to be 0 for cgroup local storage." msgstr "" "Возвращает указатель на область локального хранилища. Тип и размер " "локального хранилища задаётся аргументом I. Значение I зависит " "от типа карты, и должно быть равно 0 для локального хранилища cgroup." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Depending on the BPF program type, a local storage area can be shared " "between multiple instances of the BPF program, running simultaneously." msgstr "" "В зависимости от типа программы BPF область локального хранилища может " "совместно использоваться несколькими работающими одновременно экземплярами " "программы BPF." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "A user should care about the synchronization by themself. For example, " #| "by using the B instruction to alter the shared data." msgid "" "A user should care about the synchronization by himself. For example, by " "using the B instructions to alter the shared data." msgstr "" "Пользователь самостоятельно должен решать вопросы синхронизации. Например, " "для изменения общих данных использовать инструкцию B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A pointer to the local storage area." msgstr "Указатель на область локального хранилища." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Select a B socket from a B " #| "I\\&. It checks the selected socket is matching the incoming " #| "request in the socket buffer." msgid "" "Select a B socket from a B " "I\\&. It checks the selected socket is matching the incoming request " "in the socket buffer." msgstr "" "Выбирает сокет B из B I\\&. " "Проверяется, что выбранный сокет совпадает с входящим запросом в буфере " "сокета." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, int >IB<)>" msgstr "BIB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Return id of cgroup v2 that is ancestor of cgroup associated with the I " "at the I\\&. The root cgroup is at I zero " "and each step down the hierarchy increments the level. If I " "== level of cgroup associated with I, then return value will be same as " "that of B()." msgstr "" "Возвращает идентификатор cgroup v2, которая является предком cgroup, " "связанной с I на уровне I\\&. Корневая cgroup " "расположена на уровне I равным нулю и каждый шаг вниз по " "иерархии увеличивает значение уровня. Если I == уровню " "cgroup, связанной с I, то возвращаемое значение будет равно " "возвращаемому B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The helper is useful to implement policies based on cgroups that are upper " "in hierarchy than immediate cgroup associated with I\\&." msgstr "" "Помощник полезен при реализации политик на основе cgroup, которые стоят в " "иерархии выше, чем непосредственная cgroup, связанная с I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The format of returned id and helper limitations are same as in " "B()." msgstr "" "Формат возвращаемого идентификатора и ограничения помощника такие же как у " "B()." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, struct bpf_sock_tuple *>IB<, u32 >IB<, u64 >IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_sock_tuple *>IB<, u32 >IB<, u64 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Look for TCP socket matching I, optionally in a child network " "namespace I\\&. The return value must be checked, and if non-B, " "released via B()." msgstr "" "Ищет сокет TCP, который совпадает с I, возможно, в дочернем сетевом " "пространстве имён I\\&. Возвращаемое значение нужно проверять и если " "оно не равно B, то освобождать с помощью B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The I should point to the context of the program, such as the skb or " "socket (depending on the hook in use). This is used to determine the base " "network namespace for the lookup." msgstr "" "Значение I должно указывать на контекст программы, например, на skb или " "сокета (в зависимости от используемого перехватчика (hook)). Оно " "используется для определения основного сетевого пространства имён, в котором " "нужно искать." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "I must be one of:" msgstr "Значение I должно быть одним из:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<-Eipv4)>" msgstr "BIB<-Eipv4)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Look for an IPv4 socket." msgstr "Искать сокет IPv4." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<-Eipv6)>" msgstr "BIB<-Eipv6)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Look for an IPv6 socket." msgstr "Искать сокет IPv6." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "If the I is a negative signed 32-bit integer, then the socket " #| "lookup table in the netns associated with the I will will be used. " #| "For the TC hooks, this is the netns of the device in the skb. For socket " #| "hooks, this is the netns of the socket. If I is any other signed " #| "32-bit value greater than or equal to zero then it specifies the ID of " #| "the netns relative to the netns associated with the I\\&. I " #| "values beyond the range of 32-bit integers are reserved for future use." msgid "" "If the I is a negative signed 32-bit integer, then the socket lookup " "table in the netns associated with the I will be used. For the TC " "hooks, this is the netns of the device in the skb. For socket hooks, this is " "the netns of the socket. If I is any other signed 32-bit value " "greater than or equal to zero then it specifies the ID of the netns relative " "to the netns associated with the I\\&. I values beyond the range " "of 32-bit integers are reserved for future use." msgstr "" "Если I — отрицательное знаковое 32-битное целое, то поиск будет " "производиться в таблице netns, связанной с I. Для перехватчиков TC, это " "будет netns устройства в skb. Для перехватчиков сокетов это будет netns " "сокета. Если I — любое другое знаковое 32-битное значение, большее " "или равное нулю, то им задаётся идентификатор netns, относительно netns, " "связанного с I\\&. Значения I вне диапазона 32-битных целых " "зарезервированы для использования в будущем." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is available only if the kernel was compiled with B " "configuration option." msgstr "" "Этот помощник доступен только, если ядро скомпилировано с параметром " "настройки B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Pointer to B, or B in case of failure. For " #| "sockets with reuseport option, the B result is from " #| "Bsocks>[] using the hash of the tuple." msgid "" "Pointer to B, or B in case of failure. For sockets " "with reuseport option, the B result is from IB<-" "Esocks>[] using the hash of the tuple." msgstr "" "Указатель на B, или B при ошибке. Для сокетов с " "параметром reuseport возвращается B из Bsocks>[] используя хэш кортежа (tuple)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, struct bpf_sock_tuple *>IB<, u32 >IB<, u64 >IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_sock_tuple *>IB<, u32 >IB<, u64 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Look for UDP socket matching I, optionally in a child network " "namespace I\\&. The return value must be checked, and if non-B, " "released via B()." msgstr "" "Ищет сокет UDP, который совпадает с I, возможно, в дочернем сетевом " "пространстве имён I\\&. Возвращаемое значение нужно проверять и если " "оно не равно B, то освобождать с помощью B()." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Release the reference held by I\\&. I must be a non-B " "pointer that was returned from B()." msgstr "" "Освобождает ссылку, удерживаемую I\\&. Значение I должно быть не-" "B указателем, который был получен из B()." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, u64 >IB<)>" msgid "BIB<, const void *>IB<, u64 >IB<)>" msgstr "BIB<, const void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Push an element I in I\\&. I is one of:" msgstr "" "Заталкивает элемент I в I\\&. В I может быть одно из:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "B If the queue/stack is full, the oldest element is removed to " #| "make room for this." msgid "" "If the queue/stack is full, the oldest element is removed to make room for " "this." msgstr "" "B Если очередь/стек полны, то самый старый элемент удаляется, " "освобождая место под указанный." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<)>" msgid "BIB<, void *>IB<)>" msgstr "BIB<, void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Pop an element from I\\&." msgstr "Выталкивает элемент из I\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<)>" msgid "BIB<, void *>IB<)>" msgstr "BIB<, void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get an element from I without removing it." msgstr "Возвращает элемент из I не удаляя." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For socket policies, insert I bytes into I at offset I\\&." msgstr "" "Для сокетных политик, вставляет I байт в I по смещению I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If a program of type B is run on a I it may want " "to insert metadata or options into the I\\&. This can later be read " "and used by any of the lower layer BPF hooks." msgstr "" "Если программа типа B выполняется для I, то в " "I можно вставлять метаданные или параметры. Позднее они могут быть " "прочитаны и использованы перехватчиком BPF на нижних уровнях." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper may fail if under memory pressure (a malloc fails) in these " "cases BPF programs will get an appropriate error and BPF programs will need " "to handle them." msgstr "" "Этот помощник может завершиться ошибкой при нехватке памяти (ошибка malloc); " "при этом программы BPF получат соответствующую ошибку и им её нужно " "обработать." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Will remove I bytes from a I starting at byte I\\&. " #| "This may result in B errors under certain situations if an " #| "allocation and copy are required due to a full ring buffer. However, the " #| "helper will try to avoid doing the allocation if possible. Other errors " #| "can occur if input parameters are invalid either due to I byte not " #| "being valid part of I payload and/or I value being to large." msgid "" "Will remove I bytes from a I starting at byte I\\&. This " "may result in B errors under certain situations if an allocation and " "copy are required due to a full ring buffer. However, the helper will try " "to avoid doing the allocation if possible. Other errors can occur if input " "parameters are invalid either due to I byte not being valid part of " "I payload and/or I value being to large." msgstr "" "Удаляет I байт из I, начиная с байта по адресу I\\&. В " "некоторых случаях может приводить к ошибкам B, если из-за " "заполненности кольцевого буфера требуется выделение и копирование. Однако, " "помощник, по возможности, будет пытаться избегать выделения. Также могут " "возникать ошибки из-за некорректных входных параметров: адрес I не " "относится к нагрузке I и/или слишком большое значение I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, s32 >IB<, s32 >IB<)>" msgid "BIB<, s32 >IB<, s32 >IB<)>" msgstr "BIB<, s32 >IB<, s32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is used in programs implementing IR decoding, to report a " "successfully decoded pointer movement." msgstr "" "Этот помощник используется в программах, реализующих декодирование IR, для " "сообщения об успешном декодировании перемещения указателя." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Acquire a spinlock represented by the pointer I, which is stored as " "part of a value of a map. Taking the lock allows to safely update the rest " "of the fields in that value. The spinlock can (and must) later be released " "with a call to B(I)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Spinlocks in BPF programs come with a number of restrictions and constraints:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B objects are only allowed inside maps of types " "B and B (this list could be extended " "in the future)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "BTF description of the map is mandatory." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The BPF program can take ONE lock at a time, since taking two or more could " "cause dead locks." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Only one B is allowed per map element." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "When the lock is taken, calls (either BPF to BPF or helpers) are not " "allowed." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The B and B instructions are not allowed inside a " "spinlock-ed region." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The BPF program MUST call B() to release the lock, on all " "execution paths, before it returns." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The BPF program can access B only via the " "B() and B() helpers. Loading or storing " "data into the B IB<;> field of a map is not " "allowed." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "To use the B() helper, the BTF description of the map value " "must be a struct and have B IB<;> field at " "the top level. Nested lock inside another struct is not allowed." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The B I field in a map value must be aligned on " "a multiple of 4 bytes in that value." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Syscall with command B does not copy the " "B field to user space." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Syscall with command B, or update from a BPF program, " "do not update the B field." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B cannot be on the stack or inside a networking packet (it " "can only be inside of a map values)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B is available to root only." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Tracing programs and socket filter programs cannot use B() " "due to insufficient preemption checks (but this may change in the future)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B is not allowed in inner maps of map-in-map." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Release the I previously locked by a call to B(I)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper gets a B pointer such that all the fields in " "this B can be accessed." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The positive or null stack id on success, or a negative error in case of " #| "failure." msgid "A B pointer on success, or B in case of failure." msgstr "" "При успешном выполнении возвращает положительный или null id стека и " "отрицательное значение при ошибке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper gets a B pointer from a B " "pointer." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The positive or null stack id on success, or a negative error in case of " #| "failure." msgid "" "A B pointer on success, or B in case of failure." msgstr "" "При успешном выполнении возвращает положительный или null id стека и " "отрицательное значение при ошибке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Set ECN (Explicit Congestion Notification) field of IP header to B " "(Congestion Encountered) if current value is B (ECN Capable Transport). " "Otherwise, do nothing. Works with IPv6 and IPv4." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "1 if the B flag is set (either by the current helper call or because it " "was already present), 0 if it is not set." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Return a B pointer in B state. " "B() is unnecessary and not allowed." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_sock_tuple *>IB<, u32 >IB<, u64 >IB<, u64 >IB<)>" msgid "BIB<, struct bpf_sock_tuple *>IB<, u32 >IB<, u64 >IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_sock_tuple *>IB<, u32 >IB<, u64 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This function is identical to B(), except that it also " "returns timewait or request sockets. Use B() or " "B() to access the full structure." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<, struct tcphdr *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Check whether I and I contain a valid SYN cookie ACK for the " "listening socket in I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I points to the start of the IPv4 or IPv6 header, while I " "contains B(B) or B(B)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I points to the start of the TCP header, while I contains the " "length of the TCP header (at least B(B))." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "0 if I and I are a valid SYN cookie ACK, or a negative error " "otherwise." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, char *>IB<, size_t >IB<, u64 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get name of sysctl in /proc/sys/ and copy it into provided by program buffer " "I of size I\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "The buffer is always NUL terminated, unless it\\(aqs zero-sized." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "If I is zero, full name (e.g. \"net/ipv4/tcp_mem\") is copied. Use " "B flag to copy base name only (e.g. \"tcp_mem\")." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Number of character copied (not including the trailing NUL)." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "B<-E2BIG> if the buffer wasn\\(aqt big enough (I will contain truncated " "name in this case)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct sockaddr *>IB<, int >IB<)>" msgid "BIB<, char *>IB<, size_t >IB<)>" msgstr "BIB<, struct sockaddr *>IB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get current value of sysctl as it is presented in /proc/sys (incl. newline, " "etc), and copy it as a string into provided by program buffer I of size " "I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The whole value is copied, no matter what file position user space issued e." "g. sys_read at." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EINVAL> if current value was unavailable, e.g. because sysctl is " "uninitialized and read returns -EIO for it." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct sockaddr *>IB<, int >IB<)>" msgid "BIB<, char *>IB<, size_t >IB<)>" msgstr "BIB<, struct sockaddr *>IB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get new value being written by user space to sysctl (before the actual write " "happens) and copy it as a string into provided by program buffer I of " "size I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "User space may write new value at file position E 0." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EINVAL> if sysctl is being read." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct sockaddr *>IB<, int >IB<)>" msgid "BIB<, const char *>IB<, size_t >IB<)>" msgstr "BIB<, struct sockaddr *>IB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Override new value being written by user space to sysctl with value provided " "by program in buffer I of size I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I should contain a string in same form as provided by user space on " "sysctl write." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "User space may write new value at file position E 0. To override the " "whole sysctl value file position should be set to zero." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "Success." msgid "0 on success." msgstr "Успешно." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-E2BIG> if the I is too big." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, size_t >IB<, u64 >IB<, long *>IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Convert the initial part of the string from buffer I of size I " "to a long integer according to the given base and save the result in I" "\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "The string may begin with an arbitrary amount of white space (as determined " "by B(3)) followed by a single optional \\(aqB<->\\(aq sign." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Five least significant bits of I encode base, other bits are " "currently unused." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Base must be either 8, 10, 16 or 0 to detect it automatically similar to " "user space B(3)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Number of characters consumed on success. Must be positive but no more than " "I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EINVAL> if no valid digits were found or unsupported base was provided." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "The resulting value was out of range." msgid "B<-ERANGE> if resulting value was out of range." msgstr "Полученное значение вне диапазона." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, size_t >IB<, u64 >IB<, unsigned long *>IB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Convert the initial part of the string from buffer I of size I " "to an unsigned long integer according to the given base and save the result " "in I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The string may begin with an arbitrary amount of white space (as determined " "by B(3))." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Base must be either 8, 10, 16 or 0 to detect it automatically similar to " "user space B(3)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get a bpf-local-storage from a I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Logically, it could be thought of getting the value from a I with I " "as the B\\&. From this perspective, the usage is not much different " "from B(I, B<&>I) except this helper enforces " "the key must be a full socket and the map must be a " "B also." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Underneath, the value is stored locally at I instead of the I\\&. " "The I is used as the bpf-local-storage \"type\". The bpf-local-storage " "\"type\" (i.e. the I) is searched against all bpf-local-storages " "residing at I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I is a kernel B pointer for LSM program. I is a " "B pointer for other program types." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "An optional I (B) can be used such that " "a new bpf-local-storage will be created if one does not exist. I can " "be used together with B to specify the initial " "value of a bpf-local-storage. If I is B, the new bpf-local-" "storage will be zero initialized." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A bpf-local-storage pointer is returned on success." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B if not found or there was an error in adding a new bpf-local-storage." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<)>" msgid "BIB<, void *>IB<)>" msgstr "BIB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Delete a bpf-local-storage from a I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-ENOENT> if the bpf-local-storage cannot be found. B<-EINVAL> if sk is " "not a fullsock (e.g. a request_sock)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B(2)" msgid "BIB<)>" msgstr "B(2)" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Send signal I to the process of the current task. The signal may be " "delivered to any of this process\\(aqs threads." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "0 on success or successfully queued." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EBUSY> if work queue under nmi is full." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "I was invalid." msgid "B<-EINVAL> if I is invalid." msgstr "Значение I некорректно." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EPERM> if no permission to send the I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EAGAIN> if bpf program can try again." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<, struct tcphdr *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Try to issue a SYN cookie for the packet with corresponding IP/TCP headers, " "I and I, on the listening socket in I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I points to the start of the TCP header, while I contains the " "length of the TCP header with options (at least B(B))." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "On success, lower 32 bits hold the generated SYN cookie in followed by 16 " "bits which hold the MSS value for that cookie, and the top 16 bits are " "unused." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "On failure, I will be set to one of the following:" msgid "On failure, the returned value is one of the following:" msgstr "При ошибке I присваиваются следующие значения:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EINVAL> SYN cookie cannot be issued due to error" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-ENOENT> SYN cookie should not be issued (no SYN flood)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EOPNOTSUPP> kernel configuration does not enable SYN cookies" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EPROTONOSUPPORT> IP packet version is not 4 or 6" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u64 >IB<, void *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, u64 >IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u64 >IB<, void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "The I argument is a pointer to a I." msgid "I is a pointer to in-kernel struct sk_buff." msgstr "" "Аргумент I представляет собой указатель на I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is similar to B() but restricted to " "raw_tracepoint bpf programs." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<)>" msgstr "BIB<, int >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "For tracing programs, safely attempt to read I bytes from address " #| "I and store the data in I\\&." msgid "" "Safely attempt to read I bytes from user space address I " "and store the data in I\\&." msgstr "" "Для программ трассировки; безопасно попытаться прочитать I байт по " "адресу I и сохранить данные в I\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<)>" msgstr "BIB<, int >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "For tracing programs, safely attempt to read I bytes from address " #| "I and store the data in I\\&." msgid "" "Safely attempt to read I bytes from kernel space address I " "and store the data in I\\&." msgstr "" "Для программ трассировки; безопасно попытаться прочитать I байт по " "адресу I и сохранить данные в I\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<)>" msgstr "BIB<, int >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Copy a NUL terminated string from an unsafe address I to " #| "I\\&. The I should include the terminating NUL byte. In case " #| "the string length is smaller than I, the target is not padded with " #| "further NUL bytes. If the string length is larger than I, just " #| "I-1 bytes are copied and the last byte is set to NUL." msgid "" "Copy a NUL terminated string from an unsafe user address I to " "I\\&. The I should include the terminating NUL byte. In case the " "string length is smaller than I, the target is not padded with further " "NUL bytes. If the string length is larger than I, just I-1 bytes " "are copied and the last byte is set to NUL." msgstr "" "Копирует строку с NUL в конце с опасного адреса I в I\\&. В " "значении I нужно учитывать конечный байт NUL. Если длина строки меньше " "I, то цель не дополняется байтами NUL. Если длина строки больше " "I, то копируется I-1 байт, а в последний байт записывается NUL." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "On success, the length of the copied string is returned. This makes this " #| "helper useful in tracing programs for reading strings, and more " #| "importantly to get its length at runtime. See the following snippet:" msgid "" "On success, returns the number of bytes that were written, including the " "terminal NUL. This makes this helper useful in tracing programs for reading " "strings, and more importantly to get its length at runtime. See the " "following snippet:" msgstr "" "При успешном выполнении возвращается длина скопированной строки. Это делает " "помощник полезным в трассирующих программах для чтения строк, и где важно " "получать её длину в время выполнения. Посмотрите следующий фрагмент:" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "SEC(\"kprobe/sys_open\")\n" #| "void bpf_sys_open(struct pt_regs *ctx)\n" #| " char buf[PATHLEN]; // PATHLEN is defined to 256\n" #| " int res = bpf_probe_read_str(buf, sizeof(buf),\n" #| " ctx-Edi);\n" msgid "" "SEC(\"kprobe/sys_open\")\n" "void bpf_sys_open(struct pt_regs *ctx)\n" "{\n" " char buf[PATHLEN]; // PATHLEN is defined to 256\n" " int res = bpf_probe_read_user_str(buf, sizeof(buf),\n" " ctx-Edi);\n" msgstr "" "SEC(\"kprobe/sys_open\")\n" "void bpf_sys_open(struct pt_regs *ctx)\n" " char buf[PATHLEN]; // PATHLEN равно 256\n" " int res = bpf_probe_read_str(buf, sizeof(buf),\n" " ctx-Edi);\n" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| " // Consume buf, for example push it to\n" #| " // userspace via bpf_perf_event_output(); we\n" #| " // can use res (the string length) as event\n" #| " // size, after checking its boundaries.\n" msgid "" " // Consume buf, for example push it to\n" " // userspace via bpf_perf_event_output(); we\n" " // can use res (the string length) as event\n" " // size, after checking its boundaries.\n" "}\n" msgstr "" " // Заполняем buf, например, для отдачи в\n" " // пространство пользователя через bpf_perf_event_output();\n" " // можно использовать res (длину строки) как размер\n" " // события после проверки её границ.\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "In comparison, using B helper here instead to read the " #| "string would require to estimate the length at compile time, and would " #| "often result in copying more memory than necessary." msgid "" "In comparison, using B() helper here instead to read " "the string would require to estimate the length at compile time, and would " "often result in copying more memory than necessary." msgstr "" "По сравнению с помощником B, ему бы здесь вместо чтения " "строки потребовалось вычислить длину во время компиляции и в результате " "скопировать больше памяти чем нужно." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Another useful use case is when parsing individual process arguments or " "individual environment variables navigating IB<-Emm-" "Earg_start> and IB<-Emm-Eenv_start>: using this helper " "and the return value, one can quickly iterate at the right offset of the " "memory area." msgstr "" "Другим полезным применением является разбор отдельных аргументов процесса " "или переменных окружения посредством прохода через IB<-Emm-" "Earg_start> и IB<-Emm-Eenv_start>: используя этот " "помощник и возвращаемое значение можно быстро обойти область памяти от " "правого смещения." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "On success, the strictly positive length of the string, including the " #| "trailing NUL character. On error, a negative value." msgid "" "On success, the strictly positive length of the output string, including the " "trailing NUL character. On error, a negative value." msgstr "" "При успешном выполнении — только положительная длина строки, включая " "конечный символ NUL. При ошибке — отрицательное значение." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<)>" msgstr "BIB<, int >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Copy a NUL terminated string from an unsafe kernel address I to " "I\\&. Same semantics as with B() apply." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Send out a tcp-ack. I is the in-kernel struct B\\&. " "I is the ack_seq to be sent out." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Send signal I to the thread corresponding to the current task." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Obtain the 64bit jiffies" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The 64 bit jiffies" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "For en eBPF program attached to a perf event, retrieve the value of the " #| "event counter associated to I and store it in the structure pointed " #| "by I and of size I\\&. Enabled and running times are also " #| "stored in the structure (see description of helper " #| "B() for more details)." msgid "" "For an eBPF program attached to a perf event, retrieve the branch records " "(B) associated to I and store it in the " "buffer pointed by I up to size I bytes." msgstr "" "Для программы eBPF, присоединённой к событию perf, возвращает значение " "счётчика события, связанного с I, и записывает его в структуру, на " "которую указывает I и размер I\\&. Время включения и " "выполнения также записываются в структуру (смотрите описание помощника " "B())." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The number of bytes written to the buffer, or a negative error in case of " #| "failure." msgid "" "On success, number of bytes written to I\\&. On error, a negative value." msgstr "Количество байт, записанных в буфер, или отрицательный номер ошибки." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The I can be set to B to instead " "return the number of bytes required to store all the branch entries. If this " "flag is set, I may be NULL." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EINVAL> if arguments invalid or B not a multiple of " "B(B)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-ENOENT> if architecture does not support branch records." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<, struct bpf_perf_event_value *>IB<, u32 >IB<)>" msgid "BIB<, u64 >IB<, struct bpf_pidns_info *>IB<, u32 >IB<)>" msgstr "BIB<, u64 >IB<, struct bpf_perf_event_value *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Returns 0 on success, values for I and I as seen from the current " "I will be returned in I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "0 on success, or a negative error in case of failure." msgid "0 on success, or one of the following in case of failure:" msgstr "При успешном выполнении 0 и отрицательное значение при ошибке." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "B<-EINVAL> if dev and inum supplied don\\(aqt match dev_t and inode number " "with nsfs of current task, or if dev conversion to dev_t lost high bits." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "B is the name of the current task." msgid "B<-ENOENT> if pidns does not exists for the current task." msgstr "B — имя текущей задачи." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u64 >IB<, void *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, u64 >IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u64 >IB<, void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "The I argument is a pointer to a I." msgid "I is a pointer to in-kernel struct xdp_buff." msgstr "" "Аргумент I представляет собой указатель на I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper is similar to B() but restricted to " "raw_tracepoint bpf programs." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Retrieve the cookie (generated by the kernel) of the network namespace the " "input I is associated with. The network namespace cookie remains stable " "for its lifetime and provides a global identifier that can be assumed " "unique. If I is NULL, then the helper returns the cookie for the " "initial network namespace. The cookie itself is very similar to that of " "B() helper, but for network namespaces instead of " "sockets." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "A 8-byte long non-decreasing number." msgid "A 8-byte long opaque number." msgstr "При успешном выполнении — 8-байтовое длинное неуменьшающееся число." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<)>" msgid "BIB<)>" msgstr "BIB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Return id of cgroup v2 that is ancestor of cgroup associated with the " #| "I at the I\\&. The root cgroup is at " #| "I zero and each step down the hierarchy increments the " #| "level. If I == level of cgroup associated with I, " #| "then return value will be same as that of B()." msgid "" "Return id of cgroup v2 that is ancestor of the cgroup associated with the " "current task at the I\\&. The root cgroup is at " "I zero and each step down the hierarchy increments the " "level. If I == level of cgroup associated with the current " "task, then return value will be the same as that of " "B()." msgstr "" "Возвращает идентификатор cgroup v2, которая является предком cgroup, " "связанной с I на уровне I\\&. Корневая cgroup " "расположена на уровне I равным нулю и каждый шаг вниз по " "иерархии увеличивает значение уровня. Если I == уровню " "cgroup, связанной с I, то возвращаемое значение будет равно " "возвращаемому B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The helper is useful to implement policies based on cgroups that are " #| "upper in hierarchy than immediate cgroup associated with I\\&." msgid "" "The helper is useful to implement policies based on cgroups that are upper " "in hierarchy than immediate cgroup associated with the current task." msgstr "" "Помощник полезен при реализации политик на основе cgroup, которые стоят в " "иерархии выше, чем непосредственная cgroup, связанная с I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The format of returned id and helper limitations are same as in " #| "B()." msgid "" "The format of returned id and helper limitations are same as in " "B()." msgstr "" "Формат возвращаемого идентификатора и ограничения помощника такие же как у " "B()." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Helper is overloaded depending on BPF program type. This description applies " "to B and B programs." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Assign the I to the I\\&. When combined with appropriate routing " "configuration to receive the packet towards the socket, will cause I to " "be delivered to the specified socket. Subsequent redirection of I via " "B(), B() or other methods outside of BPF " "may interfere with successful delivery to the socket." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "This operation is only valid from TC ingress path." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "The flags argument" msgid "The I argument must be zero." msgstr "Аргумент флагов" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "0 on success, or a negative error in case of failure." msgid "0 on success, or a negative error in case of failure:" msgstr "При успешном выполнении 0 и отрицательное значение при ошибке." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EINVAL> if specified I are not supported." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-ENOENT> if the socket is unavailable for assignment." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-ENETUNREACH> if the socket is unreachable (wrong netns)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EOPNOTSUPP> if the operation is not supported, for example a call from " "outside of TC ingress." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_sock *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Helper is overloaded depending on BPF program type. This description applies " "to B programs." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Select the I as a result of a socket lookup." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For the operation to succeed passed socket must be compatible with the " "packet description provided by the I object." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "L4 protocol (B or B) must be an exact match. While " "IP family (B or B) must be compatible, that is IPv6 " "sockets that are not v6-only can be selected for IPv4 packets." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Only TCP listeners and UDP unconnected sockets can be selected. I can " "also be NULL to reset any previous selection." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "The I argument must include one of the following values:" msgid "I argument can combination of following values:" msgstr "Аргумент I должен включать одно из следующих значений:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B to override the previous socket selection, " "potentially done by a BPF program that ran before us." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B to skip load-balancing within reuseport " "group for the socket being selected." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "On success Isk> will point to the selected socket." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "0 on success, or a negative error in case of failure." msgid "0 on success, or a negative errno in case of failure." msgstr "При успешном выполнении 0 и отрицательное значение при ошибке." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EAFNOSUPPORT> if socket family (Ifamily>) is not compatible with " "packet family (Ifamily>)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EEXIST> if socket has been already selected, potentially by another " "program, and B flag was not specified." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EINVAL> if unsupported flags were specified." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "B<-EPROTOTYPE> if socket L4 protocol (Iprotocol>) doesn\\(aqt match " "packet protocol (Iprotocol>)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-ESOCKTNOSUPPORT> if socket is not in allowed state (TCP listening or UDP " "unconnected)." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Return the time elapsed since system boot, in nanoseconds. Does include the " "time the system was suspended. See: B(B)" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<)>" msgid "BIB<, const char *>IB<, u32 >IB<, const void *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B() uses seq_file B() to print out the format " "string. The I represents the seq_file. The I and I are " "for the format string itself. The I and I are format string " "arguments. The I are a B array and corresponding format string " "values are stored in the array. For strings and pointers where pointees are " "accessed, only the pointer values are stored in the I array. The " "I is the size of I in bytes - must be a multiple of 8." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Formats B<%s>, B<%p{i,I}{4,6}> requires to read kernel memory. Reading " "kernel memory may fail due to either invalid address or valid address but " "requiring a major memory fault. If reading kernel memory fails, the string " "for B<%s> will be an empty string, and the ip address for B<%p{i,I}{4,6}> " "will be 0. Not returning error to bpf program is consistent with what " "B() does for now." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EBUSY> if per-CPU memory copy buffer is busy, can try again by returning " "1 from bpf program." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EINVAL> if arguments are invalid, or if I is invalid/unsupported." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-E2BIG> if I contains too many format specifiers." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EOVERFLOW> if an overflow happened: The same object will be tried again." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, u32 >IB<)>" msgid "BIB<, const void *>IB<, u32 >IB<)>" msgstr "BIB<, const void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B() uses seq_file B() to write the data. The I " "represents the seq_file. The I and I represent the data to write " "in bytes." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Return the cgroup v2 id of the socket I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I must be a non-B pointer to a socket, e.g. one returned from " "B(), B(), etc. The format of returned id " "is same as in B()." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "This helper is available only if the kernel was compiled with " #| "B configuration option." msgid "" "This helper is available only if the kernel was compiled with the " "B configuration option." msgstr "" "Этот помощник доступен только, если ядро скомпилировано с параметром " "настройки B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<)>" msgid "BIB<, int >IB<)>" msgstr "BIB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Return id of cgroup v2 that is ancestor of cgroup associated with the " #| "I at the I\\&. The root cgroup is at " #| "I zero and each step down the hierarchy increments the " #| "level. If I == level of cgroup associated with I, " #| "then return value will be same as that of B()." msgid "" "Return id of cgroup v2 that is ancestor of cgroup associated with the I " "at the I\\&. The root cgroup is at I zero " "and each step down the hierarchy increments the level. If I " "== level of cgroup associated with I, then return value will be same as " "that of B()." msgstr "" "Возвращает идентификатор cgroup v2, которая является предком cgroup, " "связанной с I на уровне I\\&. Корневая cgroup " "расположена на уровне I равным нулю и каждый шаг вниз по " "иерархии увеличивает значение уровня. Если I == уровню " "cgroup, связанной с I, то возвращаемое значение будет равно " "возвращаемому B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The helper is useful to implement policies based on cgroups that are " #| "upper in hierarchy than immediate cgroup associated with I\\&." msgid "" "The helper is useful to implement policies based on cgroups that are upper " "in hierarchy than immediate cgroup associated with I\\&." msgstr "" "Помощник полезен при реализации политик на основе cgroup, которые стоят в " "иерархии выше, чем непосредственная cgroup, связанная с I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The format of returned id and helper limitations are same as in " #| "B()." msgid "" "The format of returned id and helper limitations are same as in " "B()." msgstr "" "Формат возвращаемого идентификатора и ограничения помощника такие же как у " "B()." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, u64 >IB<, u64 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Copy I bytes from I into a ring buffer I\\&. If " "B is specified in I, no notification of new data " "availability is sent. If B is specified in I, " "notification of new data availability is sent unconditionally. If B<0> is " "specified in I, an adaptive notification of new data availability is " "sent." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "An adaptive notification is a notification sent whenever the user-space " "process has caught up and consumed all available payloads. In case the user-" "space process is still processing a previous payload, then no notification " "is needed as it will process the newly added payload automatically." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u64 >IB<, u64 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Reserve I bytes of payload in a ring buffer I\\&. I " "must be 0." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Valid pointer with I bytes of memory available; NULL, otherwise." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Submit reserved ring buffer sample, pointed to by I\\&. If " "B is specified in I, no notification of new data " "availability is sent. If B is specified in I, " "notification of new data availability is sent unconditionally. If B<0> is " "specified in I, an adaptive notification of new data availability is " "sent." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "See \\(aqbpf_ringbuf_output()\\(aq for the definition of adaptive " "notification." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "This function always succeeds." msgid "Nothing. Always succeeds." msgstr "Данная функция всегда завершается успешно." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Discard reserved ring buffer sample, pointed to by I\\&. If " "B is specified in I, no notification of new data " "availability is sent. If B is specified in I, " "notification of new data availability is sent unconditionally. If B<0> is " "specified in I, an adaptive notification of new data availability is " "sent." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Query various characteristics of provided ring buffer. What exactly is " "queries is determined by I:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B: Amount of data not yet consumed." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B: The size of ring buffer." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B: Consumer position (can wrap around)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B: Producer(s) position (can wrap around)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Data returned is just a momentary snapshot of actual values and could be " "inaccurate, so this facility should be used to power heuristics and for " "reporting, not to make 100% correct calculation." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Requested value, or 0, if I are not recognized." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Change the skbs checksum level by one layer up or down, or reset it entirely " "to none in order to have the stack perform checksum validation. The level is " "applicable to the following protocols: TCP, UDP, GRE, SCTP, FCOE. For " "example, a decap of | ETH | IP | UDP | GUE | IP | TCP | into | ETH | IP | " "TCP | through B() helper with passing in " "B flag would require one call to " "B() with B since the UDP header is " "removed. Similarly, an encap of the latter into the former could be " "accompanied by a helper call to B() with " "B if the skb is still intended to be processed in higher " "layers of the stack instead of just egressing at tc." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "There is a single supported mode at this time:" msgid "There are three supported level settings at this time:" msgstr "На данный момент поддерживается только один режим:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B: Increases skb-Ecsum_level for skbs with " "CHECKSUM_UNNECESSARY." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B: Decreases skb-Ecsum_level for skbs with " "CHECKSUM_UNNECESSARY." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B: Resets skb-Ecsum_level to 0 and sets " "CHECKSUM_NONE to force checksum validation by the stack." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B: No-op, returns the current skb-Ecsum_level." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "0 on success, or a negative error in case of failure. In the case of " "B, the current skb-Ecsum_level is returned or the " "error code -EACCES in case the skb is not subject to CHECKSUM_UNNECESSARY." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Dynamically cast a I pointer to a I pointer." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "I if casting is valid, or B otherwise." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Dynamically cast a I pointer to a I pointer." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Dynamically cast a I pointer to a I pointer." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Dynamically cast a I pointer to a I pointer." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Dynamically cast a I pointer to a I pointer." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Return a user or a kernel stack in bpf program provided buffer. To " #| "achieve this, the helper needs I, which is a pointer to the context " #| "on which the tracing program is executed. To store the stacktrace, the " #| "bpf program provides I with a nonnegative I\\&." msgid "" "Return a user or a kernel stack in bpf program provided buffer. Note: the " "user stack will only be populated if the I is the current task; all " "other tasks will return -EOPNOTSUPP. To achieve this, the helper needs " "I, which is a valid pointer to B\\&. To store the " "stacktrace, the bpf program provides I with a nonnegative I\\&." msgstr "" "Возвращает пользовательский и ядерный стек в буфер, предоставляемый " "программой bpf. Для этого помощнику требуется I — указатель на контекст " "выполнения трассирующей программы. Для сохранения stacktrace программа bpf " "предоставляет I с неотрицательным I\\&." #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "Collect a user space stack instead of a kernel stack." msgid "" "Collect a user space stack instead of a kernel stack. The I must be " "the current task." msgstr "Проходить по стеку пользовательского пространства, а не по стеку ядра." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Collect buildid+offset instead of ips for user stack, only valid if " "B is also specified." msgstr "" "Собирать buildid+смещение вместо ips пользовательского стека, доступен " "только, если также указан B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "B() can collect up to B both kernel " #| "and user frames, subject to sufficient large buffer size. Note that this " #| "limit can be controlled with the B program, and that it should be " #| "manually increased in order to profile long user stacks (such as stacks " #| "for Java programs). To do so, use:" msgid "" "B() can collect up to B both " "kernel and user frames, subject to sufficient large buffer size. Note that " "this limit can be controlled with the B program, and that it should " "be manually increased in order to profile long user stacks (such as stacks " "for Java programs). To do so, use:" msgstr "" "Помощник B() может собирать до B " "ядерных и пользовательских кадров, что требует значительно большего размера " "буфера. Заметим, что это ограничение можно изменять программой B, и " "что его нужно вручную увеличивать, если нужно отсматривать длинные " "пользовательские стеки (например, стеки программ Java). Для этого выполните:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Load header option. Support reading a particular TCP header option for bpf " "program (B)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If I is 0, it will search the option from the IB<-" "Eskb_data>\\&. The comment in B has details on " "what skb_data contains under different IB<-Eop>\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The first byte of the I specifies the kind that it wants to " "search." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "If the searching kind is an experimental kind (i.e. 253 or 254 according to " "RFC6994). It also needs to specify the \"magic\" which is either 2 bytes or " "4 bytes. It then also needs to specify the size of the magic by using the " "2nd byte which is \"kind-length\" of a TCP header option and the \"kind-" "length\" also includes the first 2 bytes \"kind\" and \"kind-length\" itself " "as a normal TCP header option also does." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For example, to search experimental kind 254 with 2 byte magic 0xeB9F, the " "searchby_res should be [ 254, 4, 0xeB, 0x9F, 0, 0, .... 0 ]." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "To search for the standard window scale option (3), the I " "should be [ 3, 0, 0, .... 0 ]. Note, kind-length must be 0 for regular " "option." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Searching for No-Op (0) and End-of-Option-List (1) are not supported." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I must be at least 2 bytes which is the minimal size of a header option." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "Supported hardware" msgid "Supported flags:" msgstr "Поддерживаемое оборудование" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B to search from the saved_syn packet or the just-" "received syn packet." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "E 0 when found, the header option is copied to I\\&. The " "return value is the total length copied. On failure, a negative error code " "is returned:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "E 0 if any input argument is invalid" msgid "B<-EINVAL> if a parameter is invalid." msgstr "E 0, если какой-то из входных параметров некорректен" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-ENOMSG> if the option is not found." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-ENOENT> if no syn packet is available when B is " "used." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-ENOSPC> if there is not enough space. Only I number of bytes are " "copied." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EFAULT> on failure to parse the header options in the packet." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EPERM> if the helper cannot be used under the current IB<-Eop>" "\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Store header option. The data will be copied from buffer I with " "length I to the TCP header." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The buffer I should have the whole option that includes the kind, kind-" "length, and the actual option data. The I must be at least kind-length " "long. The kind-length does not have to be 4 byte aligned. The kernel will " "take care of the padding and setting the 4 bytes aligned value to th-" "Edoff." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper will check for duplicated option by searching the same option in " "the outgoing skb." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper can only be called during B\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "0 on success, or a negative error in case of failure." msgid "0 on success, or negative error in case of failure:" msgstr "При успешном выполнении 0 и отрицательное значение при ошибке." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "I is invalid." msgid "B<-EINVAL> If param is invalid." msgstr "Неверное значение I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-ENOSPC> if there is not enough space in the header. Nothing has been " "written" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EEXIST> if the option already exists." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EFAULT> on failure to parse the existing header options." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Reserve I bytes for the bpf header option. The space will be used by " "B() later in B\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If B() is called multiple times, the total number of " "bytes will be reserved." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This helper can only be called during B\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-ENOSPC> if there is not enough space in the header." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get a bpf_local_storage from an I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Logically, it could be thought of as getting the value from a I with " "I as the B\\&. From this perspective, the usage is not much " "different from B(I, B<&>I) except this " "helper enforces the key must be an inode and the map must also be a " "B\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Underneath, the value is stored locally at I instead of the I" "\\&. The I is used as the bpf-local-storage \"type\". The bpf-local-" "storage \"type\" (i.e. the I) is searched against all bpf_local_storage " "residing at I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "An optional I (B) can be used such " "that a new bpf_local_storage will be created if one does not exist. " "I can be used together with B to " "specify the initial value of a bpf_local_storage. If I is B, " "the new bpf_local_storage will be zero initialized." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A bpf_local_storage pointer is returned on success." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B if not found or there was an error in adding a new bpf_local_storage." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<)>" msgid "BIB<, void *>IB<)>" msgstr "BIB<, void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Delete a bpf_local_storage from an I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-ENOENT> if the bpf_local_storage cannot be found." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, char *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Return full path for given B object, which needs to be the " "kernel BTF I object. The path is returned in the provided buffer " "I of size I and is zero terminated." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Read I bytes from user space address I and store the data in " "I\\&. This is a wrapper of B()." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, struct bpf_xfrm_state *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, struct btf_ptr *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, struct bpf_xfrm_state *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Use BTF to store a string representation of I-Eptr in I, using " "I-Etype_id. This value should specify the type that I-" "Eptr points to. LLVM __builtin_btf_type_id(type, 1) can be used to look " "up vmlinux BTF type ids. Traversing the data structure using BTF, the type " "information and values are stored in the first I - 1 bytes of " "I\\&. Safe copy of the pointer data is carried out to avoid kernel " "crashes during operation. Smaller types can use string space on the stack; " "larger programs can use map data to store the string representation." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The string can be subsequently shared with userspace via " "bpf_perf_event_output() or ring buffer interfaces. bpf_trace_printk() is to " "be avoided as it places too small a limit on string size to be useful." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "I is invalid." msgid "I is a combination of" msgstr "Значение I неверно." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "no formatting around type information" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "no struct/union member names/types" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "show raw (unobfuscated) pointer values; equivalent to printk specifier %px." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "show zero-valued struct/union members; they are not displayed by default" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "The number of bytes written to the buffer, or a negative error in case of " #| "failure." msgid "" "The number of bytes that were written (or would have been written if output " "had to be truncated due to string size), or a negative error in cases of " "failure." msgstr "Количество байт, записанных в буфер, или отрицательный номер ошибки." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, struct btf_ptr *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Use BTF to write to seq_write a string representation of I-Eptr, " "using I-Etype_id as per bpf_snprintf_btf(). I are identical " "to those used for bpf_snprintf_btf." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "0 on success, or a negative error in case of failure." msgid "0 on success or a negative error in case of failure." msgstr "При успешном выполнении 0 и отрицательное значение при ошибке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "See B() for the main description. This helper " "differs from B() in that the cgroup v1 net_cls class " "is retrieved only from the I\\(aqs associated socket instead of the " "current process." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_fib_lookup *>IB<, int >IB<, u32 >IB<)>" msgid "BIB<, struct bpf_redir_neigh *>IB<, int >IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_fib_lookup *>IB<, int >IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "Redirect the packet to another net device of index I\\&. This " #| "helper is somewhat similar to B(), except that the " #| "packet is not cloned, which provides increased performance." msgid "" "Redirect the packet to another net device of index I and fill in L2 " "addresses from neighboring subsystem. This helper is somewhat similar to " "B(), except that it populates L2 addresses as well, meaning, " "internally, the helper relies on the neighbor lookup for the L2 address of " "the nexthop." msgstr "" "Перенаправляет пакет в другое сетевое устройство с индексом I\\&. " "Этот помощник похож на B(), но пакет не клонируется, что " "увеличивает производительность." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "The helper will perform a FIB lookup based on the skb\\(aqs networking " "header to get the address of the next hop, unless this is supplied by the " "caller in the I argument. The I argument indicates the len of " "I and should be set to 0 if I is NULL." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The I argument is reserved and must be 0. The helper is currently " "only supported for tc BPF program types, and enabled for IPv4 and IPv6 " "protocols." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "B on success, or B on error." msgid "" "The helper returns B on success or B on error." msgstr "" "При успешном выполнении — B, B — при ошибке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, u32 >IB<)>" msgid "BIB<, u32 >IB<)>" msgstr "BIB<, const void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Take a pointer to a percpu ksym, I, and return a pointer to the " "percpu kernel variable on I\\&. A ksym is an extern variable decorated " "with \\(aq__ksym\\(aq. For ksym, there is a global var (either static or " "global) defined of the same name in the kernel. The ksym is percpu if the " "global var is percpu. The returned pointer points to the global percpu var " "on I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "bpf_per_cpu_ptr() has the same semantic as per_cpu_ptr() in the kernel, " "except that bpf_per_cpu_ptr() may return NULL. This happens if I is " "larger than nr_cpu_ids. The caller of bpf_per_cpu_ptr() must check the " "returned value." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "A pointer pointing to the kernel percpu variable on I, or NULL, if " "I is invalid." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Take a pointer to a percpu ksym, I, and return a pointer to the " "percpu kernel variable on this cpu. See the description of \\(aqksym\\(aq in " "B()." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "bpf_this_cpu_ptr() has the same semantic as this_cpu_ptr() in the kernel. " "Different from B(), it would never return NULL." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A pointer pointing to the kernel percpu variable on this cpu." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "Redirect the packet to another net device of index I\\&. This " #| "helper is somewhat similar to B(), except that the " #| "packet is not cloned, which provides increased performance." msgid "" "Redirect the packet to another net device of index I\\&. This " "helper is somewhat similar to B(), except that the redirection " "happens to the I\\(aq peer device and the netns switch takes place " "from ingress to ingress without going through the CPU\\(aqs backlog queue." msgstr "" "Перенаправляет пакет в другое сетевое устройство с индексом I\\&. " "Этот помощник похож на B(), но пакет не клонируется, что " "увеличивает производительность." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The I argument is reserved and must be 0. The helper is currently " "only supported for tc BPF program types at the ingress hook and for veth " "device types. The peer device must reside in a different network namespace." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" msgid "BIB<, struct task_struct *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get a bpf_local_storage from the I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Logically, it could be thought of as getting the value from a I with " "I as the B\\&. From this perspective, the usage is not much " "different from B(I, B<&>I) except this " "helper enforces the key must be a task_struct and the map must also be a " "B\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Underneath, the value is stored locally at I instead of the I" "\\&. The I is used as the bpf-local-storage \"type\". The bpf-local-" "storage \"type\" (i.e. the I) is searched against all bpf_local_storage " "residing at I\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<)>" msgid "BIB<, struct task_struct *>IB<)>" msgstr "BIB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Delete a bpf_local_storage from a I\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Return a BTF pointer to the \"current\" task. This pointer can also be used " "in helpers that accept an I of type I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "A pointer to the current task struct." msgid "Pointer to the current task." msgstr "Указатель на структуру текущей задачи." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Set or clear certain options on I:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B Set the secureexec bit which sets the B " "auxv for glibc. The bit is cleared if the flag is not specified." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EINVAL> if invalid I are passed, zero otherwise." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "Return the time elapsed since system boot, in nanoseconds." msgid "" "Return a coarse-grained version of the time elapsed since system boot, in " "nanoseconds. Does not include time the system was suspended." msgstr "Возвращает время, прошедшее с момента запуска системы, в наносекундах." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "See: B(B)" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Returns the stored IMA hash of the I (if it\\(aqs available). If the " "hash is larger than I, then only I bytes will be copied to I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The B is returned on success, B<-EOPNOTSUP> if IMA is disabled or " "B<-EINVAL> if invalid arguments are passed." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "If the given file represents a socket, returns the associated socket." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "A pointer to a struct socket on success or NULL if the file is not a socket." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u32 *>IB<, s32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Check packet size against exceeding MTU of net device (based on " "I). This helper will likely be used in combination with helpers " "that adjust/change the packet size." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The argument I can be used for querying with a planned size " "change. This allows to check MTU prior to changing packet ctx. Providing a " "I adjustment that is larger than the actual packet size (resulting " "in negative packet size) will in principle not exceed the MTU, which is why " "it is not considered a failure. Other BPF helpers are needed for performing " "the planned size change; therefore the responsibility for catching a " "negative packet size belongs in those helpers." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Specifying I zero means the MTU check is performed against the " "current net device. This is practical if this isn\\(aqt used prior to " "redirect." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "On input I must be a valid pointer, else verifier will reject BPF " "program. If the value I is initialized to zero then the ctx packet " "size is use. When value I is provided as input this specify the L3 " "length that the MTU check is done against. Remember XDP and TC length " "operate at L2, but this value is L3 as this correlate to MTU and IP-header " "tot_len values which are L3 (similar behavior as bpf_fib_lookup)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The Linux kernel route table can configure MTUs on a more specific per route " "level, which is not provided by this helper. For route level MTU checks use " "the B() helper." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "I is either B for XDP programs or B " #| "tc cls_act programs." msgid "" "I is either B for XDP programs or B for " "tc cls_act programs." msgstr "" "Для программ XDP тип I равен B, а для программ tc " "cls_act — B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "I argument is the size of the passed in struct. I argument " #| "can be a combination of one or more of the following values:" msgid "" "The I argument can be a combination of one or more of the following " "values:" msgstr "" "В аргументе I указывается размер передаваемой структуры. В аргументе " "I может быть комбинация одного и более следующих значений:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This flag will only works for I B\\&. If packet " "context contains extra packet segment buffers (often knows as GSO skb), then " "MTU check is harder to check at this point, because in transmit path it is " "possible for the skb packet to get re-segmented (depending on net device " "features). This could still be a MTU violation, so this flag enables " "performing MTU check against segments, with a different violation return " "code to tell it apart. Check cannot use len_diff." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "On return I pointer contains the MTU value of the net device. " "Remember the net device configured MTU is the L3 size, which is returned " "here and XDP and TC length operate at L2. Helper take this into account for " "you, but remember when using MTU value in your BPF-code." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "0 on success, and populate MTU value in I pointer." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "E 0 if any input argument is invalid" msgid "E 0 if any input argument is invalid (I not updated)" msgstr "E 0, если какой-то из входных параметров некорректен" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "MTU violations return positive values, but also populate MTU value in " "I pointer, as this can be needed for implementing PMTU handing:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For each element in B, call B function with B, " "B and other map-specific parameters. The B " "should be a static function and the B should be a pointer to " "the stack. The B is used to control certain aspects of the helper. " "Currently, the B must be 0." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The following are a list of supported map types and their respective " "expected callback signatures:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "BPF_MAP_TYPE_HASH, BPF_MAP_TYPE_PERCPU_HASH, BPF_MAP_TYPE_LRU_HASH, " "BPF_MAP_TYPE_LRU_PERCPU_HASH, BPF_MAP_TYPE_ARRAY, BPF_MAP_TYPE_PERCPU_ARRAY" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "long (*callback_fn)(struct bpf_map *map, const void *key, void *value, void " "*ctx);" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For per_cpu maps, the map_value is the value on the cpu where the bpf_prog " "is running." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If B return 0, the helper will continue to the next element. If " "return value is 1, the helper will skip the rest of elements and return. " "Other return values are not used now." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The number of traversed map elements for success, B<-EINVAL> for invalid " "B\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, const char *>IB<, u64 *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Outputs a string into the B buffer of size B based on a " "format string stored in a read-only map pointed by B\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Each format specifier in B corresponds to one u64 element in the " "B array. For strings and pointers where pointees are accessed, only " "the pointer values are stored in the I array. The I is the " "size of I in bytes - must be a multiple of 8." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Formats B<%s> and B<%p{i,I}{4,6}> require to read kernel memory. Reading " "kernel memory may fail due to either invalid address or valid address but " "requiring a major memory fault. If reading kernel memory fails, the string " "for B<%s> will be an empty string, and the ip address for B<%p{i,I}{4,6}> " "will be 0. Not returning error to bpf program is consistent with what " "B() does for now." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The strictly positive length of the formatted string, including the trailing " "zero character. If the return value is greater than B, B " "contains a truncated string, guaranteed to be zero-terminated except when " "B is 0." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Or B<-EBUSY> if the per-CPU memory copy buffer is busy." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, union bpf_attr *>IB<, unsigned int >IB<);>\n" msgid "BIB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, union bpf_attr *>IB<, unsigned int >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Execute bpf syscall with given arguments." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "A syscall result." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, int >IB<, u32 >IB<, int >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Find BTF type with given name and kind in vmlinux BTF or in module\\(aqs " "BTFs." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Returns btf_id and btf_obj_fd in lower and upper 32 bits." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Execute close syscall for given FD." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u64 >IB<)>" msgid "BIB<, struct bpf_map *>IB<, u64 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Initialize the timer. First 4 bits of I specify clockid. Only " "CLOCK_MONOTONIC, CLOCK_REALTIME, CLOCK_BOOTTIME are allowed. All other bits " "of I are reserved. The verifier will reject the program if I " "is not from the same I\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "0 on success. B<-EBUSY> if I is already initialized. B<-EINVAL> if " "invalid I are passed. B<-EPERM> if I is in a map that doesn" "\\(aqt have any user references. The user space should either hold a file " "descriptor to a map with timers or pin such map in bpffs. When map is " "unpinned or file descriptor is closed all timers in the map will be " "cancelled and freed." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<)>" msgid "BIB<, void *>IB<)>" msgstr "BIB<, void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Configure the timer to call I static function." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "0 on success. B<-EINVAL> if I was not initialized with " "bpf_timer_init() earlier. B<-EPERM> if I is in a map that doesn" "\\(aqt have any user references. The user space should either hold a file " "descriptor to a map with timers or pin such map in bpffs. When map is " "unpinned or file descriptor is closed all timers in the map will be " "cancelled and freed." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u64 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Set timer expiration N nanoseconds from the current time. The configured " "callback will be invoked in soft irq context on some cpu and will not repeat " "unless another bpf_timer_start() is made. In such case the next invocation " "can migrate to a different cpu. Since struct bpf_timer is a field inside " "map element the map owns the timer. The bpf_timer_set_callback() will " "increment refcnt of BPF program to make sure that callback_fn code stays " "valid. When user space reference to a map reaches zero all timers in a map " "are cancelled and corresponding program\\(aqs refcnts are decremented. This " "is done to make sure that Ctrl-C of a user process doesn\\(aqt leave any " "timers running. If map is pinned in bpffs the callback_fn can re-arm itself " "indefinitely. bpf_map_update/delete_elem() helpers and user space sys_bpf " "commands cancel and free the timer in the given map element. The map can " "contain timers that invoke callback_fn-s from different programs. The same " "callback_fn can serve different timers from different maps if key/value " "layout matches across maps. Every bpf_timer_set_callback() can have " "different callback_fn." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "I is invalid." msgid "I can be one of:" msgstr "Значение I неверно." #. type: TP #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Start the timer in absolute expire value instead of the default relative one." msgstr "" #. type: TP #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "Timer will be pinned to the CPU of the caller." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "0 on success. B<-EINVAL> if I was not initialized with " "bpf_timer_init() earlier or invalid I are passed." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Cancel the timer and wait for callback_fn to finish if it was running." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "0 if the timer was not active. 1 if the timer was active. B<-EINVAL> if " "I was not initialized with bpf_timer_init() earlier. B<-EDEADLK> if " "callback_fn tried to call bpf_timer_cancel() on its own timer which would " "have led to a deadlock otherwise." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get address of the traced function (for tracing and kprobe programs)." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "When called for kprobe program attached as uprobe it returns probe address " "for both entry and return uprobe." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Address of the traced function for kprobe. 0 for kprobes placed within the " "function (not at the entry). Address of the probe for uprobe and return " "uprobe." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get bpf_cookie value provided (optionally) during the program attachment. It " "might be different for each individual attachment, even if BPF program " "itself is the same. Expects BPF program context I as a first argument." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "The following program types are supported:" msgid "B" msgstr "Поддерживаются следующие типы программ:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "kprobe/uprobe;" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "tracepoint;" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "perf_event." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Value specified by user at BPF link creation/attachment time or 0, if it was " "not specified." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get the struct pt_regs associated with B\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "A pointer to the local storage area." msgid "A pointer to struct pt_regs." msgstr "Указатель на область локального хранилища." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get branch trace from hardware engines like Intel LBR. The hardware engine " "is stopped shortly after the helper is called. Therefore, the user need to " "filter branch entries based on the actual use case. To capture branch trace " "before the trigger point of the BPF program, the helper should be called at " "the beginning of the BPF program." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The data is stored as struct perf_branch_entry into output buffer I" "\\&. I is the size of I in bytes. I is reserved for " "now and must be zero." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "I is not 0." msgid "B<-EINVAL> if I is not zero." msgstr "Значение I не равно 0." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, ...)>" msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, ...)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Behaves like B() helper, but takes an array of u64 to " "format and can handle more format args as a result." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Arguments are to be used as in B() helper." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Dynamically cast a I pointer to a I pointer." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, int >IB<, int >IB<, u64 *>IB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get the address of a kernel symbol, returned in I\\&. I is set to " "0 if the symbol is not found." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "0 on success, or a negative error in case of failure." msgid "On success, zero. On error, a negative value." msgstr "При успешном выполнении 0 и отрицательное значение при ошибке." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EINVAL> if string I is not the same size as I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-ENOENT> if symbol is not found." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EPERM> if caller does not have permission to obtain kernel address." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u64 >IB<, void *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Find vma of I that contains I, call I function with " "I, I, and I\\&. The I should be a " "static function and the I should be a pointer to the stack. " "The I is used to control certain aspects of the helper. Currently, " "the I must be 0." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The expected callback signature is" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "long (*callback_fn)(struct task_struct *task, struct vm_area_struct *vma, " "void *callback_ctx);" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "0 on success. B<-ENOENT> if Imm> is NULL, or no vma contains " "I\\&. B<-EBUSY> if failed to try lock mmap_lock. B<-EINVAL> for " "invalid B\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "For B, call B function with B as the " "context parameter. The B should be a static function and the " "B should be a pointer to the stack. The B is used to " "control certain aspects of the helper. Currently, the B must be 0. " "Currently, nr_loops is limited to 1 EE 23 (~8 million) loops." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "long (*callback_fn)(u32 index, void *ctx);" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "where B is the current index in the loop. The index is zero-indexed." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If B returns 0, the helper will continue to the next loop. If " "return value is 1, the helper will skip the rest of the loops and return. " "Other return values are not used now, and will be rejected by the verifier." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The number of loops performed, B<-EINVAL> for invalid B, B<-E2BIG> if " "B exceeds the maximum number of loops." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, const char *>IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Do strncmp() between B and B\\&. B doesn\\(aqt need to be null-" "terminated and B is the maximum storage size of B\\&. B must " "be a read-only string." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "An integer less than, equal to, or greater than zero if the first B " "bytes of B is found to be less than, to match, or be greater than B" "\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, s32 >IB<, s32 >IB<)>" msgid "BIB<, u32 >IB<, u64 *>IB<)>" msgstr "BIB<, s32 >IB<, s32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get B-th argument register (zero based) of the traced function (for " "tracing programs) returned in B\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "0 on success. B<-EINVAL> if n E= argument register count of traced " "function." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 *>IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get return value of the traced function (for tracing programs) in B" "\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "0 on success. B<-EOPNOTSUPP> for tracing programs other than " "BPF_TRACE_FEXIT or BPF_MODIFY_RETURN." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Get number of registers of the traced function (for tracing programs) where " "function arguments are stored in these registers." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The number of argument registers of the traced function." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Get the BPF program\\(aqs return value that will be returned to the upper " "layers." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "This helper is currently supported by cgroup programs and only by the hooks " "where BPF program\\(aqs return value is returned to the userspace via errno." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "The BPF program\\(aqs return value." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<)>" msgid "BIB<)>" msgstr "BIB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Set the BPF program\\(aqs return value that will be returned to the upper " "layers." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Note that there is the following corner case where the program exports an " "error via bpf_set_retval but signals success via \\(aqreturn 1\\(aq:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "bpf_set_retval(-EPERM); return 1;" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "In this case, the BPF program\\(aqs return value will use helper\\(aqs -" "EPERM. This still holds true for cgroup/bind{4,6} which supports extra " "\\(aqreturn 3\\(aq success case." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, int >IB<)>" msgid "BIB<)>" msgstr "BIB<, int >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get the total size of a given xdp buff (linear and paged area)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "The total size of a given xdp buffer." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "This helper was provided as an easy way to load data from a packet. It " #| "can be used to load I bytes from I from the packet " #| "associated to I, into the buffer pointed by I\\&." msgid "" "This helper is provided as an easy way to load data from a xdp buffer. It " "can be used to load I bytes from I from the frame associated to " "I, into the buffer pointed by I\\&." msgstr "" "Предназначен для облегчения загрузки данных из пакета. Он загружает I " "байт с адреса I из пакета, связанного с I, в буфер, на который " "указывает I\\&." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<)>" msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Store I bytes from buffer I into the frame associated to " "I, at I\\&." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, const void *>IB<, struct task_struct *>IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Read I bytes from user space address I in I\\(aqs " "address space, and stores the data in I\\&. I is not used yet " "and is provided for future extensibility. This helper can only be used by " "sleepable programs." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "0 on success, or a negative error in case of failure." msgid "" "0 on success, or a negative error in case of failure. On error I buffer " "is zeroed out." msgstr "При успешном выполнении 0 и отрицательное значение при ошибке." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u8 *>IB<, u32 >IB<)>" msgid "BIB<, u64 >IB<, u32 >IB<)>" msgstr "BIB<, u8 *>IB<, u32 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Change the __sk_buff-Etstamp_type to I and set I to " "the __sk_buff-Etstamp together." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If there is no need to change the __sk_buff-Etstamp_type, the tstamp " "value can be directly written to __sk_buff-Etstamp instead." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "BPF_SKB_TSTAMP_DELIVERY_MONO is the only tstamp that will be kept during " "bpf_redirect_*(). A non zero I must be used with the " "BPF_SKB_TSTAMP_DELIVERY_MONO I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "A BPF_SKB_TSTAMP_UNSPEC I can only be used with a zero I" "\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Only IPv4 and IPv6 skb-Eprotocol are supported." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This function is most useful when it needs to set a mono delivery time to " "__sk_buff-Etstamp and then bpf_redirect_*() to the egress of an iface. " "For example, changing the (rcv) timestamp in __sk_buff-Etstamp at " "ingress to a mono delivery time and then bpf_redirect_*() to I<\\" "%sch_fq@phy-dev>\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "0 on success. B<-EINVAL> for invalid input B<-EOPNOTSUPP> for unsupported " "protocol" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, u32 >IB<)>" msgstr "BIB<, void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Returns a calculated IMA hash of the I\\&. If the hash is larger than " "I, then only I bytes will be copied to I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The B is returned on success, B<-EOPNOTSUP> if the hash " "calculation failed or B<-EINVAL> if invalid arguments are passed." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, size_t >IB<);>\n" msgid "BIB<, void *>IB<)>" msgstr "BIB<, size_t >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Exchange kptr at pointer I with I, and return the old value. " "I can be NULL, otherwise it must be a referenced pointer which will be " "released when this helper is called." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The old value of kptr (which can be NULL). The returned pointer if not NULL, " "is a reference which must be released using its corresponding release " "function, or moved into a BPF map before program exit." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<)>" msgid "BIB<, const void *>IB<, u32 >IB<)>" msgstr "BIB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "Perform a lookup in I for an entry associated to I\\&." msgid "" "Perform a lookup in I for an entry associated to I on I" "\\&." msgstr "Выполняет в I поиск записи, связанной с I\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "Map value associated to I, or B if no entry was found." msgid "" "Map value associated to I on I, or B if no entry was found " "or I is invalid." msgstr "" "Значение карты, связанное с I, или B, если запись не найдена." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Dynamically cast a I pointer to a I pointer." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<, struct bpf_dynptr *>IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "Get a dynptr to local memory I\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I must be a ptr to a map value. The maximum I supported is " "DYNPTR_MAX_SIZE. I is currently unused." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "0 on success, -E2BIG if the size exceeds DYNPTR_MAX_SIZE, -EINVAL if flags " "is not 0." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<, struct bpf_dynptr *>IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Reserve I bytes of payload in a ring buffer I through the " "dynptr interface. I must be 0." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Please note that a corresponding bpf_ringbuf_submit_dynptr or " "bpf_ringbuf_discard_dynptr must be called on I, even if the reservation " "fails. This is enforced by the verifier." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Submit reserved ring buffer sample, pointed to by I, through the " "dynptr interface. This is a no-op if the dynptr is invalid/null." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "For more information on I, please see \\(aqbpf_ringbuf_submit\\(aq." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u64 >IB<)>" msgid "BIB<, u64 >IB<)>" msgstr "BIB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Discard reserved ring buffer sample through the dynptr interface. This is a " "no-op if the dynptr is invalid/null." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "For more information on I, please see \\(aqbpf_ringbuf_discard\\(aq." msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, struct bpf_xfrm_state *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, const struct bpf_dynptr *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, struct bpf_xfrm_state *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Read I bytes from I into I, starting from I into " "I\\&. I is currently unused." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "0 on success, -E2BIG if I + I exceeds the length of I" "\\(aqs data, -EINVAL if I is an invalid dynptr or if I is not 0." msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "Write I bytes from I into I, starting from I into " "I\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "I must be 0 except for skb-type dynptrs." msgstr "" #. type: TP #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "All data slices of the dynptr are automatically invalidated after " "B(). This is because writing may pull the skb and change " "the underlying packet buffer." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "For I, please see the flags accepted by B()." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "0 on success, -E2BIG if I + I exceeds the length of I" "\\(aqs data, -EINVAL if I is an invalid dynptr or if I is a read-" "only dynptr or if I is not correct. For skb-type dynptrs, other " "errors correspond to errors returned by B()." msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "A pointer to the local storage area." msgid "Get a pointer to the underlying dynptr data." msgstr "Указатель на область локального хранилища." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I must be a statically known value. The returned data slice is " "invalidated whenever the dynptr is invalidated." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed msgid "" "skb and xdp type dynptrs may not use bpf_dynptr_data. They should instead " "use bpf_dynptr_slice and bpf_dynptr_slice_rdwr." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Pointer to the underlying dynptr data, NULL if the dynptr is read-only, if " "the dynptr is invalid, or if the offset and length is out of bounds." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u64 >IB<)>" msgid "BIB<, struct tcphdr *>IB<, u32 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Try to issue a SYN cookie for the packet with corresponding IPv4/TCP " "headers, I and I, without depending on a listening socket." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "I points to a removed identifier." msgid "I points to the IPv4 header." msgstr "Значение I указывает на удалённый идентификатор." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EINVAL> if I is invalid." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, struct bpf_map *>IB<, u64 >IB<)>" msgid "BIB<, struct tcphdr *>IB<, u32 >IB<)>" msgstr "BIB<, struct bpf_map *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Try to issue a SYN cookie for the packet with corresponding IPv6/TCP " "headers, I and I, without depending on a listening socket." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "I points to a removed identifier." msgid "I points to the IPv6 header." msgstr "Значение I указывает на удалённый идентификатор." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EPROTONOSUPPORT> if CONFIG_IPV6 is not builtin." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, struct tcphdr *>IB<)>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Check whether I and I contain a valid SYN cookie ACK without " "depending on a listening socket." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "I points to the TCP header." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "0 if I and I are a valid SYN cookie ACK." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "B<-EACCES> if the SYN cookie is not valid." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "BIB<, struct tcphdr *>IB<)>" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B" msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "A nonsettable system-wide clock derived from wall-clock time but ignoring " "leap seconds. This clock does not experience discontinuities and backwards " "jumps caused by NTP inserting leap seconds as CLOCK_REALTIME does." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "B(2)" msgid "See: B(B)" msgstr "B(2)" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" msgid "BIB<, void *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Drain samples from the specified user ring buffer, and invoke the provided " "callback for each such sample:" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "long (*callback_fn)(const struct bpf_dynptr *dynptr, void *ctx);" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "If B returns 0, the helper will continue to try and drain the " "next sample, up to a maximum of BPF_MAX_USER_RINGBUF_SAMPLES samples. If the " "return value is 1, the helper will skip the rest of the samples and return. " "Other return values are not used now, and will be rejected by the verifier." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The number of drained samples if no error was encountered while draining " "samples, or 0 if no samples were present in the ring buffer. If a user-space " "producer was epoll-waiting on this map, and at least one sample was drained, " "they will receive an event notification notifying them of available space in " "the ring buffer. If the BPF_RB_NO_WAKEUP flag is passed to this function, no " "wakeup notification will be sent. If the BPF_RB_FORCE_WAKEUP flag is passed, " "a wakeup notification will be sent even if no sample was drained." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EBUSY> if the ring buffer is contended, and another calling context was " "concurrently draining the ring buffer." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-EINVAL> if user-space is not properly tracking the ring buffer due to the " "producer position not being aligned to 8 bytes, a sample not being aligned " "to 8 bytes, or the producer position not matching the advertised length of a " "sample." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "B<-E2BIG> if user-space has tried to publish a sample which is larger than " "the size of the ring buffer, or which cannot fit within a struct bpf_dynptr." msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" msgid "BIB<, struct cgroup *>IB<, void *>IB<, u64 >IB<)>" msgstr "BIB<, const void *>IB<, const void *>IB<, u64 >IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "Get a bpf_local_storage from the I\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "Logically, it could be thought of as getting the value from a I with " "I as the B\\&. From this perspective, the usage is not much " "different from B(I, B<&>I) except this " "helper enforces the key must be a cgroup struct and the map must also be a " "B\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "" "In reality, the local-storage value is embedded directly inside of the " "I object itself, rather than being located in the " "B map. When the local-storage value is queried " "for some I on a I object, the kernel will perform an O(n) " "iteration over all of the live local-storage values for that I " "object until the local-storage value for the I is found." msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "BIB<, const void *>IB<)>" msgid "BIB<, struct cgroup *>IB<)>" msgstr "BIB<, const void *>IB<)>" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide opensuse-tumbleweed msgid "Delete a bpf_local_storage from a I\\&." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "ПРИМЕРЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Example usage for most of the eBPF helpers listed in this manual page are " "available within the Linux kernel sources, at the following locations:" msgstr "" "В этой справочной странице перечислены примеры использования большинства " "помощников eBPF, которые доступны в исходном коде ядра Linux:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "I" msgstr "I" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "I" msgstr "I" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "LICENSE" msgstr "ЛИЦЕНЗИЯ" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy #| msgid "" #| "eBPF programs can have an associated license, passed along with the " #| "bytecode instructions to the kernel when the programs are loaded. The " #| "format for that string is identical to the one in use for kernel modules " #| "(Dual licenses, such as \"Dual BSD/GPL\", may be used). Some helper " #| "functions are only accessible to programs that are compatible with the " #| "GNU Privacy License (GPL)." msgid "" "eBPF programs can have an associated license, passed along with the bytecode " "instructions to the kernel when the programs are loaded. The format for that " "string is identical to the one in use for kernel modules (Dual licenses, " "such as \"Dual BSD/GPL\", may be used). Some helper functions are only " "accessible to programs that are compatible with the GNU General Public " "License (GNU GPL)." msgstr "" "Программы eBPF могут иметь собственную лицензию, передаваемую вместе с " "инструкциями байткода в ядро при загрузке программы. Формат этой строки " "совпадает с используемым в модулях ядра (могут использоваться двойные " "лицензии, например «Dual BSD/GPL»). Некоторые вспомогательные функции " "доступны только программам, которые совместимы с GNU Privacy License (GPL)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "In order to use such helpers, the eBPF program must be loaded with the " "correct license string passed (via B) to the B() system call, and " "this generally translates into the C source code of the program containing a " "line similar to the following:" msgstr "" "Для использования таких помощников, программа eBPF должна загружаться с " "строкой правильной лицензии, передаваемой (через B) системный вызов " "B(); обычно, она транслируется из кода на C программы, содержащей " "подобную строку:" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "char ____license[] __attribute__((section(\"license\"), used)) = \"GPL\";\n" msgid "char ____license[] __attribute__((section(\"license\"), used)) = \"GPL\";\n" msgstr "char ____license[] __attribute__((section(\"license\"), used)) = \"GPL\";\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "IMPLEMENTATION" msgstr "РЕАЛИЗАЦИЯ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "This manual page is an effort to document the existing eBPF helper " "functions. But as of this writing, the BPF sub-system is under heavy " "development. New eBPF program or map types are added, along with new helper " "functions. Some helpers are occasionally made available for additional " "program types. So in spite of the efforts of the community, this page might " "not be up-to-date. If you want to check by yourself what helper functions " "exist in your kernel, or what types of programs they can support, here are " "some files among the kernel tree that you may be interested in:" msgstr "" "Эта справочная страница предназначена для описания существующих " "вспомогательных функций eBPF. В данный момент подсистема BPF часто меняется. " "Добавляются новые программы eBPF и типы карт, а также новые вспомогательные " "функции. Некоторые помощники иногда делают доступными дополнительные типы " "программ. Таким образом, несмотря на усилия сообщества, эта страница может " "уже устареть. Если вы хотите самостоятельно проверить, существует ли " "помощник в ядре, или какие типы программ они поддерживают, вот некоторые " "файлы дерева ядра, которые могут быть интересны:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I is the main BPF header. It contains the full " "list of all helper functions, as well as many other BPF definitions " "including most of the flags, structs or constants used by the helpers." msgstr "" "I — основной заголовочный файл BPF. Он содержит " "полный список всех вспомогательных функций, а также много других определений " "BPF, включая большинство флагов, структур или констант, используемых " "помощниками." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I contains the definition of most network-related helper " "functions, and the list of program types from which they can be used." msgstr "" "В I содержатся определения большинства вспомогательных " "функций, относящихся к сети, и список типов программ, в которых их можно " "использовать." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I is the equivalent for most tracing program-" "related helpers." msgstr "" "В I содержится большинство помощников, относящихся " "к трассирующим программам." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I contains the functions used to check that valid " "types of eBPF maps are used with a given helper function." msgstr "" "В I содержатся функции, используемые для проверки " "корректности типов карт eBPF для заданной вспомогательной функции." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "I directory contains other files in which additional helpers " "are defined (for cgroups, sockmaps, etc.)." msgstr "" "В каталоге I содержатся другие файлы, в которых определены " "дополнительные помощники (для cgroups, sockmaps и т. п.)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "The bpftool utility can be used to probe the availability of helper " "functions on the system (as well as supported program and map types, and a " "number of other parameters). To do so, run B (see " "B(8) for details). Add the B keyword to list " "features available to unprivileged users." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Compatibility between helper functions and program types can generally be " "found in the files where helper functions are defined. Look for the B objects and for functions returning them: these functions " "contain a list of helpers that a given program type can call. Note that the " "B label of the B used to filter helpers can call " "other functions, themselves allowing access to additional helpers. The " "requirement for GPL license is also in those B\\&." msgstr "" "Совместимость помощника и типа программы, обычно, можно определить из файлов " "определения помощников. Ищите объекты B и " "возвращающие их функции: эти функции содержат списки помощников, которые " "может вызывать определённый тип программы. Заметим, что метка B в " "B используется для фильтрации помощников, которые могут " "вызывать другие функции, тем самым сами обращающиеся к дополнительным " "помощникам. Требование лицензии GPL также описаны в этих B\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Compatibility between helper functions and map types can be found in the " "B() function in file I" "\\&." msgstr "" "Совместимость между вспомогательными функциями и типами карт можно найти в " "функции B() в файле I" "\\&." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed msgid "" "Helper functions that invalidate the checks on B and B " "pointers for network processing are listed in function " "B() in file I\\&." msgstr "" "Вспомогательные функции, не проверяющие указатели B и B при " "сетевой обработке, перечислены в функции B() в " "файле I\\&." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "СМОТРИТЕ ТАКЖЕ" #. Generated by docutils manpage writer. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: opensuse-tumbleweed #, fuzzy #| msgid "" #| "B(2), B(7), B(8), B(2), B(2), " #| "B(7), B(8)" msgid "" "B(2), B(8), B(7), B(8), B(2), " "B(2), B(7), B(8)" msgstr "" "B(2), B(7), B(8), B(2), B(2), " "B(7), B(8)" #. type: TH #: debian-bookworm #, no-wrap msgid "2022-09-26" msgstr "26 сентября 2022 г." #. type: TH #: debian-bookworm #, fuzzy, no-wrap #| msgid "Linux" msgid "Linux v6.1" msgstr "Linux" #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "The extended Berkeley Packet Filter (eBPF) subsystem consists in programs " #| "written in a pseudo-assembly language, then attached to one of the " #| "several kernel hooks and run in reaction of specific events. This " #| "framework differs from the older, \"classic\" BPF (or \"cBPF\") in " #| "several aspects, one of them being the ability to call special functions " #| "(or \"helpers\") from within a program. These functions are restricted " #| "to a white-list of helpers defined in the kernel." msgid "" "The extended Berkeley Packet Filter (eBPF) subsystem consists in programs " "written in a pseudo-assembly language, then attached to one of the several " "kernel hooks and run in reaction of specific events. This framework differs " "from the older, \\[dq]classic\\[dq] BPF (or \\[dq]cBPF\\[dq]) in several " "aspects, one of them being the ability to call special functions (or " "\\[dq]helpers\\[dq]) from within a program. These functions are restricted " "to a white-list of helpers defined in the kernel." msgstr "" "Расширенная подсистема пакетных фильтров Беркли (eBPF) представляет собой " "программы, написанные на псевдо-ассемблерном языке, которые прикрепляются к " "одному из перехватчиков ядра (hooks) и запускаются в ответ на определённые " "события. Эта инфраструктура отличается от старой, «классической» BPF " "(«cBPF»), некоторыми моментами, одним из которых является способность " "вызывать из программ специальные функции («помощники» helpers). Эти функции " "перечислены в белом списке помощников, который задаётся ядром." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "This helper is a \"printk()-like\" facility for debugging. It prints a " #| "message defined by format I (of size I) to file I from DebugFS, if available. It can take up to " #| "three additional B arguments (as an eBPF helpers, the total number " #| "of arguments is limited to five)." msgid "" "This helper is a \\[dq]printk()-like\\[dq] facility for debugging. It prints " "a message defined by format I (of size I) to file I from DebugFS, if available. It can take up to " "three additional B arguments (as an eBPF helpers, the total number of " "arguments is limited to five)." msgstr "" "Этот помощник подобен printk() и помогает в отладке. Он печатает сообщение, " "определяемое форматом I (размером I), в файл I из DebugFS, если есть. Принимает до трёх дополнительных " "аргументов B (как и для всех помощников eBPF, общее количество " "аргументов ограничено пятью)." #. type: Plain text #: debian-bookworm fedora-40 #, fuzzy #| msgid "" #| "Each time the helper is called, it appends a line to the trace. The " #| "format of the trace is customizable, and the exact output one will get " #| "depends on the options set in I " #| "(see also the I file under the same directory). However, it " #| "usually defaults to something like:" msgid "" "Each time the helper is called, it appends a line to the trace. Lines are " "discarded while I is open, use I to avoid this. The format of the trace is " "customizable, and the exact output one will get depends on the options set " "in I (see also the I file " "under the same directory). However, it usually defaults to something like:" msgstr "" "Каждый раз при вызове помощника, он добавляет строку в трассировку. Формат " "трассировки можно изменять, и конечный результат зависит от указанных в I параметров (также смотрите файл " "I в том же каталоге). Однако, при обычных настройках строка выглядит " "так:" #. type: Plain text #: debian-bookworm #, fuzzy, no-wrap #| msgid "telnet-470 [001] .N.. 419421.045894: 0x00000001: Eformatted msgE\n" msgid "" "^\".ft C$\n" "telnet-470 [001] .N.. 419421.045894: 0x00000001: Eformatted msgE\n" "^\".ft P$\n" msgstr "telnet-470 [001] .N.. 419421.045894: 0x00000001: Eformatted msgE\n" #. type: IP #: debian-bookworm #, no-wrap msgid "\\[bu]" msgstr "\\[bu]" #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "Also, note that B() is slow, and should only be used " #| "for debugging purposes. For this reason, a notice bloc (spanning several " #| "lines) is printed to kernel logs and states that the helper should not be " #| "used \"for production use\" the first time this helper is used (or more " #| "precisely, when B() buffers are allocated). For passing " #| "values to user space, perf events should be preferred." msgid "" "Also, note that B() is slow, and should only be used for " "debugging purposes. For this reason, a notice block (spanning several lines) " "is printed to kernel logs and states that the helper should not be used " "\\[dq]for production use\\[dq] the first time this helper is used (or more " "precisely, when B() buffers are allocated). For passing values " "to user space, perf events should be preferred." msgstr "" "Также заметим, что B() медленно работает и должна " "использоваться только в целях отладки. Поэтому при первом использовании " "(точнее, при выделении буферов B()) в журнал ядра печатается " "блок с уведомлением (охватывающем несколько строк), в котором говорится, что " "данный помощник не должен «использоваться в промышленной эксплуатации». Для " "передачи значений в пространство пользователя нужно использовать события " "perf." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "This special helper is used to trigger a \"tail call\", or in other " #| "words, to jump into another eBPF program. The same stack frame is used " #| "(but values on stack and in registers for the caller are not accessible " #| "to the callee). This mechanism allows for program chaining, either for " #| "raising the maximum number of available eBPF instructions, or to execute " #| "given programs in conditional blocks. For security reasons, there is an " #| "upper limit to the number of successive tail calls that can be performed." msgid "" "This special helper is used to trigger a \\[dq]tail call\\[dq], or in other " "words, to jump into another eBPF program. The same stack frame is used (but " "values on stack and in registers for the caller are not accessible to the " "callee). This mechanism allows for program chaining, either for raising the " "maximum number of available eBPF instructions, or to execute given programs " "in conditional blocks. For security reasons, there is an upper limit to the " "number of successive tail calls that can be performed." msgstr "" "Это специальный помощник используется для активации «хвостового вызова», " "иначе говоря, прыжка в другую программу eBPF. Используется тот же кадр стека " "(но значения в стеке и в регистрах вызывающего недоступны вызываемому). Этот " "механизм позволяет образовывать цепочки программ, или для превышения " "максимального количества доступных инструкций eBPF, или для выполнения " "заданной программы в блоках условий. Из соображений безопасности существует " "верхний предел количества последовательных хвостовых вызовов, которые можно " "выполнить." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "This helper is only available is the kernel was compiled with the " #| "B configuration option set to \"B\" or to " #| "\"B\"." msgid "" "This helper is only available is the kernel was compiled with the " "B configuration option set to \\[dq]B\\[dq] or " "to \\[dq]B\\[dq]." msgstr "" "Этот помощник доступен только, если ядро скомпилировано с параметром " "настройки B равным \"B\" или \"B\"." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "The B is an object that generalizes the principal " #| "parameters used by various tunneling protocols into a single struct. This " #| "way, it can be used to easily make a decision based on the contents of " #| "the encapsulation header, \"summarized\" in this struct. In particular, " #| "it holds the IP address of the remote end (IPv4 or IPv6, depending on the " #| "case) in IB<-Eremote_ipv4> or IB<-Eremote_ipv6>\\&. " #| "Also, this struct exposes the IB<-Etunnel_id>, which is " #| "generally mapped to a VNI (Virtual Network Identifier), making it " #| "programmable together with the B() helper." msgid "" "The B is an object that generalizes the principal " "parameters used by various tunneling protocols into a single struct. This " "way, it can be used to easily make a decision based on the contents of the " "encapsulation header, \\[dq]summarized\\[dq] in this struct. In particular, " "it holds the IP address of the remote end (IPv4 or IPv6, depending on the " "case) in IB<-Eremote_ipv4> or IB<-Eremote_ipv6>\\&. Also, " "this struct exposes the IB<-Etunnel_id>, which is generally mapped " "to a VNI (Virtual Network Identifier), making it programmable together with " "the B() helper." msgstr "" "Объект B сводит основные параметры, используемые " "различными туннельными протоколами, в одну структуру. Он позволяет легко " "принимать решение на основе содержимого инкапсулированного заголовка, " "«обобщённого» в этой структуре. В частности, он содержит IP-адрес ответной " "стороны (IPv4 или IPv6) в IB<-Eremote_ipv4> или IB<-" "Eremote_ipv6>\\&. Также, эта структура предоставляет IB<-" "Etunnel_id>, обычно отображаемый в VNI (идентификатор виртуальной сети, " "Virtual Network Identifier), который можно использовать программировании с " "помощью помощника B()." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "Let\\(aqs imagine that the following code is part of a program attached " #| "to the TC ingress interface, on one end of a GRE tunnel, and is supposed " #| "to filter out all messages coming from remote ends with IPv4 address " #| "other than 10.0.0.1:" msgid "" "Let\\[aq]s imagine that the following code is part of a program attached to " "the TC ingress interface, on one end of a GRE tunnel, and is supposed to " "filter out all messages coming from remote ends with IPv4 address other than " "10.0.0.1:" msgstr "" "Представим, что следующий код — часть программы, присоединённой к входящему " "интерфейсу TC, туннель GRE и что нужно фильтровать все сообщения, приходящие " "с ответной стороны, у которых адрес IPv4 не равен 10.0.0.1:" #. type: Plain text #: debian-bookworm fedora-40 #, fuzzy, no-wrap #| msgid "" #| "int ret;\n" #| "struct bpf_tunnel_key key = {};\n" msgid "" "^\".ft C$\n" "int ret;\n" "struct bpf_tunnel_key key = {};\n" msgstr "" "int ret;\n" "struct bpf_tunnel_key key = {};\n" #. type: Plain text #: debian-bookworm fedora-40 #, fuzzy, no-wrap #| msgid "return TC_ACT_OK; // accept packet\n" msgid "" "return TC_ACT_OK; // accept packet\n" "^\".ft P$\n" msgstr "return TC_ACT_OK; // пропускаем пакет\n" #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "This interface can also be used with all encapsulation devices that can " #| "operate in \"collect metadata\" mode: instead of having one network " #| "device per specific configuration, the \"collect metadata\" mode only " #| "requires a single device where the configuration can be extracted from " #| "this helper." msgid "" "This interface can also be used with all encapsulation devices that can " "operate in \\[dq]collect metadata\\[dq] mode: instead of having one network " "device per specific configuration, the \\[dq]collect metadata\\[dq] mode " "only requires a single device where the configuration can be extracted from " "this helper." msgstr "" "Также этот интерфейс можно использовать для всех устройств инкапсуляции, " "которые могут работать в режиме «сбора метаданных»: вместо одного сетевого " "устройства для каждой специфической конфигурации, в режиме «сбора " "метаданных» требуется только одно устройство, конфигурацию которого можно " "извлечь из этого заголовка." #. type: Plain text #: debian-bookworm fedora-40 #, fuzzy, no-wrap #| msgid "" #| "struct bpf_tunnel_key key;\n" #| " populate key ...\n" #| "bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0);\n" #| "bpf_clone_redirect(skb, vxlan_dev_ifindex, 0);\n" msgid "" "^\".ft C$\n" "struct bpf_tunnel_key key;\n" " populate key ...\n" "bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0);\n" "bpf_clone_redirect(skb, vxlan_dev_ifindex, 0);\n" "^\".ft P$\n" msgstr "" "struct bpf_tunnel_key key;\n" " заполняем ключ …\n" "bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0);\n" "bpf_clone_redirect(skb, vxlan_dev_ifindex, 0);\n" #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "Since Linux 4.7, usage of this helper has mostly been replaced by " #| "\"direct packet access\", enabling packet data to be manipulated with " #| "IB<-Edata> and IB<-Edata_end> pointing respectively to " #| "the first byte of packet data and to the byte after the last byte of " #| "packet data. However, it remains useful if one wishes to read large " #| "quantities of data at once from a packet into the eBPF stack." msgid "" "Since Linux 4.7, usage of this helper has mostly been replaced by " "\\[dq]direct packet access\\[dq], enabling packet data to be manipulated " "with IB<-Edata> and IB<-Edata_end> pointing respectively " "to the first byte of packet data and to the byte after the last byte of " "packet data. However, it remains useful if one wishes to read large " "quantities of data at once from a packet into the eBPF stack." msgstr "" "Начиная с Linux 4.7, использование этого помощника, большей частью заменено " "«прямым доступом к пакету», который позволяет управлять данными пакета через " "IB<-Edata> и IB<-Edata_end>, указывающими на первый байт " "данных пакета и байт, находящийся после последнего байта пакета данных, " "соответственно. Однако, помощник всё ещё полезен, если нужно прочитать " "большое количество данных за раз из пакета в стек eBPF." #. type: Plain text #: debian-bookworm fedora-40 #, fuzzy, no-wrap #| msgid "# sysctl kernel.perf_event_max_stack=Enew valueE\n" msgid "" "^\".ft C$\n" "# sysctl kernel.perf_event_max_stack=Enew valueE\n" "^\".ft P$\n" msgstr "# sysctl kernel.perf_event_max_stack=Eновое значениеE\n" #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "This helper can be used with encapsulation devices that can operate in " #| "\"collect metadata\" mode (please refer to the related note in the " #| "description of B() for more details). A " #| "particular example where this can be used is in combination with the " #| "Geneve encapsulation protocol, where it allows for pushing (with " #| "B() helper) and retrieving arbitrary TLVs (Type-" #| "Length-Value headers) from the eBPF program. This allows for full " #| "customization of these headers." msgid "" "This helper can be used with encapsulation devices that can operate in " "\\[dq]collect metadata\\[dq] mode (please refer to the related note in the " "description of B() for more details). A particular " "example where this can be used is in combination with the Geneve " "encapsulation protocol, where it allows for pushing (with " "B() helper) and retrieving arbitrary TLVs (Type-" "Length-Value headers) from the eBPF program. This allows for full " "customization of these headers." msgstr "" "Этот помощник можно использовать с устройствами инкапсуляции, которые могут " "работать в режиме «сбора метаданных» (подробности приведены в замечании к " "B()). В качестве примера можно привести совместное " "использование с протоколом инкапсуляции Geneve, где может вталкивать (с " "помощью помощника B()) и получать произвольные TLV " "(заголовки Тип-Длина-Значение) из программы eBPF. Таким способом можно " "изменять эти заголовки полностью." #. type: Plain text #: debian-bookworm fedora-40 msgid "" "B for B and " "B\\&." msgstr "" #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "B, which supports the following Is: B, " #| "B, B, B, B, " #| "B\\&." msgid "" "B, which supports the following Is: B, " "B, B, B, B, " "B, B, B\\&." msgstr "" "B, который поддерживает следующие I: B, " "B, B, B, B, " "B\\&." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "B, which supports the following Is: " #| "B, B, B\\&." msgid "" "B, which supports the following Is: B, " "B, B, B, B, " "B, B, B, B, " "B\\&." msgstr "" "B, который поддерживает следующие I: " "B, B, B\\&." #. type: Plain text #: debian-bookworm msgid "B, which supports I B\\&." msgstr "B, который поддерживает I B\\&." #. type: TP #: debian-bookworm #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: debian-bookworm msgid "" "See also B(), which only supports redirecting to an ifindex, " "but doesn\\[aq]t require a map to do so." msgstr "" #. type: Plain text #: debian-bookworm fedora-40 #, fuzzy, no-wrap #| msgid "normalized_counter = counter * t_enabled / t_running\n" msgid "" "^\".ft C$\n" "normalized_counter = counter * t_enabled / t_running\n" "^\".ft P$\n" msgstr "normalized_counter = counter * t_enabled / t_running\n" #. type: Plain text #: debian-bookworm fedora-40 msgid "" "For en eBPF program attached to a perf event, retrieve the value of the " "event counter associated to I and store it in the structure pointed by " "I and of size I\\&. Enabled and running times are also stored " "in the structure (see description of helper B() " "for more details)." msgstr "" "Для программы eBPF, присоединённой к событию perf, возвращает значение " "счётчика события, связанного с I, и записывает его в структуру, на " "которую указывает I и размер I\\&. Время включения и " "выполнения также записываются в структуру (смотрите описание помощника " "B())." #. type: Plain text #: debian-bookworm msgid "" "This helper actually implements a subset of B\\&. It supports " "the following Is:" msgstr "" "В действительности этот помощник реализует поднабор B\\&. Он " "поддерживает следующие уровни I:" #. type: Plain text #: debian-bookworm msgid "B, which supports I B\\&." msgstr "B, который поддерживает I B\\&." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "This helper works for IPv4 and IPv6, TCP and UDP sockets. The domain " #| "(IB<-Esa_family>) must be B (or B). Looking " #| "for a free port to bind to can be expensive, therefore binding to port is " #| "not permitted by the helper: IB<-Esin_port> (or B, " #| "respectively) must be set to zero." msgid "" "This helper works for IPv4 and IPv6, TCP and UDP sockets. The domain " "(IB<-Esa_family>) must be B (or B). It\\[aq]s " "advised to pass zero port (B or B) which triggers " "IP_BIND_ADDRESS_NO_PORT-like behavior and lets the kernel efficiently pick " "up an unused port as long as 4-tuple is unique. Passing non-zero port might " "lead to degraded performance." msgstr "" "Этот помощник работает с IPv4 и IPv6, сокетами TCP и UDP. Домен (IB<-" "Esa_family>) должен быть B (или B). Поиск свободного " "порта для привязки может быть затратным, поэтому помощник не разрешает " "привязку к порту: IB<-Esin_port> (или B, " "соответственно) должны быть равны нулю." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "Retrieve the XFRM state (IP transform framework, see also B) " #| "at I in XFRM \"security path\" for I\\&." msgid "" "Retrieve the XFRM state (IP transform framework, see also B) at " "I in XFRM \\[dq]security path\\[dq] for I\\&." msgstr "" "Получает состояние XFRM (инфраструктура преобразования IP, смотрите B) по I «пути безопасности» XFRM для I\\&." #. type: Plain text #: debian-bookworm msgid "" "I is an offset relative to the beginning of the executable or " "shared object file backing the vma which the I falls in. It is I an " "offset relative to that object\\[aq]s base address. Accordingly, it must be " "adjusted by adding (sh_addr - sh_offset), where sh_{addr,offset} correspond " "to the executable section containing I in the object, for " "comparisons to symbols\\[aq] st_value to be valid." msgstr "" #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "Base offset to load data from is I\\(aqs mac header." msgid "Base offset to load data from is I\\[aq]s mac header." msgstr "Базовое смещение для загрузки данных из заголовка mac I." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "Base offset to load data from is I\\(aqs network header." msgid "Base offset to load data from is I\\[aq]s network header." msgstr "Базовое смещение для загрузки данных из заголовка сети I." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "In general, \"direct packet access\" is the preferred method to access " #| "packet data, however, this helper is in particular useful in socket " #| "filters where IB<-Edata> does not always point to the start of " #| "the mac header and where \"direct packet access\" is not available." msgid "" "In general, \\[dq]direct packet access\\[dq] is the preferred method to " "access packet data, however, this helper is in particular useful in socket " "filters where IB<-Edata> does not always point to the start of the " "mac header and where \\[dq]direct packet access\\[dq] is not available." msgstr "" "В общем случае, «прямой доступ к пакету» является предпочтительным методом " "доступа к данным пакета, однако, этот помощник иногда полезен в сокетных " "фильтрах, где IB<-Edata> не всегда указывает на начало заголовка " "mac и «прямой доступ к пакету» недоступен." #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "This helper is only available is the kernel was compiled with the " #| "B configuration option set to \"B\"." msgid "" "This helper is only available is the kernel was compiled with the " "B configuration option set to \\[dq]B\\[dq]." msgstr "" "Этот помощник доступен только, если ядро скомпилировано с параметром " "настройки B равным \"B\"." #. type: Plain text #: debian-bookworm msgid "The buffer is always NUL terminated, unless it\\[aq]s zero-sized." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "If I is zero, full name (e.g. \\[dq]net/ipv4/tcp_mem\\[dq]) is " "copied. Use B flag to copy base name only (e.g. " "\\[dq]tcp_mem\\[dq])." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "B<-E2BIG> if the buffer wasn\\[aq]t big enough (I will contain " "truncated name in this case)." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The string may begin with an arbitrary amount of white space (as determined " "by B(3)) followed by a single optional \\[aq]B<->\\[aq] sign." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Underneath, the value is stored locally at I instead of the I\\&. " "The I is used as the bpf-local-storage \\[dq]type\\[dq]. The bpf-local-" "storage \\[dq]type\\[dq] (i.e. the I) is searched against all bpf-local-" "storages residing at I\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Send signal I to the process of the current task. The signal may be " "delivered to any of this process\\[aq]s threads." msgstr "" #. type: Plain text #: debian-bookworm #, fuzzy, no-wrap #| msgid "" #| "SEC(\"kprobe/sys_open\")\n" #| "void bpf_sys_open(struct pt_regs *ctx)\n" #| " char buf[PATHLEN]; // PATHLEN is defined to 256\n" #| " int res = bpf_probe_read_str(buf, sizeof(buf),\n" #| " ctx-Edi);\n" msgid "" "^\".ft C$\n" "SEC(\\[dq]kprobe/sys_open\\[dq])\n" "void bpf_sys_open(struct pt_regs *ctx)\n" "{\n" " char buf[PATHLEN]; // PATHLEN is defined to 256\n" " int res = bpf_probe_read_user_str(buf, sizeof(buf),\n" " ctx-Edi);\n" msgstr "" "SEC(\"kprobe/sys_open\")\n" "void bpf_sys_open(struct pt_regs *ctx)\n" " char buf[PATHLEN]; // PATHLEN равно 256\n" " int res = bpf_probe_read_str(buf, sizeof(buf),\n" " ctx-Edi);\n" #. type: Plain text #: debian-bookworm fedora-40 #, fuzzy, no-wrap #| msgid "" #| " // Consume buf, for example push it to\n" #| " // userspace via bpf_perf_event_output(); we\n" #| " // can use res (the string length) as event\n" #| " // size, after checking its boundaries.\n" msgid "" " // Consume buf, for example push it to\n" " // userspace via bpf_perf_event_output(); we\n" " // can use res (the string length) as event\n" " // size, after checking its boundaries.\n" "}\n" "^\".ft P$\n" msgstr "" " // Заполняем buf, например, для отдачи в\n" " // пространство пользователя через bpf_perf_event_output();\n" " // можно использовать res (длину строки) как размер\n" " // события после проверки её границ.\n" #. type: Plain text #: debian-bookworm msgid "" "B<-EINVAL> if dev and inum supplied don\\[aq]t match dev_t and inode number " "with nsfs of current task, or if dev conversion to dev_t lost high bits." msgstr "" #. type: Plain text #: debian-bookworm fedora-40 msgid "B<-ESOCKTNOSUPPORT> if the socket type is not supported (reuseport)." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "B<-EPROTOTYPE> if socket L4 protocol (Iprotocol>) doesn\\[aq]t " "match packet protocol (Iprotocol>)." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "See \\[aq]bpf_ringbuf_output()\\[aq] for the definition of adaptive " "notification." msgstr "" #. type: Plain text #: debian-bookworm fedora-40 #, fuzzy #| msgid "" #| "Return a user or a kernel stack in bpf program provided buffer. To " #| "achieve this, the helper needs I, which is a pointer to the context " #| "on which the tracing program is executed. To store the stacktrace, the " #| "bpf program provides I with a nonnegative I\\&." msgid "" "Return a user or a kernel stack in bpf program provided buffer. To achieve " "this, the helper needs I, which is a valid pointer to B\\&. To store the stacktrace, the bpf program provides I " "with a nonnegative I\\&." msgstr "" "Возвращает пользовательский и ядерный стек в буфер, предоставляемый " "программой bpf. Для этого помощнику требуется I — указатель на контекст " "выполнения трассирующей программы. Для сохранения stacktrace программа bpf " "предоставляет I с неотрицательным I\\&." #. type: Plain text #: debian-bookworm msgid "" "If the searching kind is an experimental kind (i.e. 253 or 254 according to " "RFC6994). It also needs to specify the \\[dq]magic\\[dq] which is either 2 " "bytes or 4 bytes. It then also needs to specify the size of the magic by " "using the 2nd byte which is \\[dq]kind-length\\[dq] of a TCP header option " "and the \\[dq]kind-length\\[dq] also includes the first 2 bytes \\[dq]kind" "\\[dq] and \\[dq]kind-length\\[dq] itself as a normal TCP header option also " "does." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Underneath, the value is stored locally at I instead of the I" "\\&. The I is used as the bpf-local-storage \\[dq]type\\[dq]. The bpf-" "local-storage \\[dq]type\\[dq] (i.e. the I) is searched against all " "bpf_local_storage residing at I\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "See B() for the main description. This helper " "differs from B() in that the cgroup v1 net_cls class " "is retrieved only from the I\\[aq]s associated socket instead of the " "current process." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The helper will perform a FIB lookup based on the skb\\[aq]s networking " "header to get the address of the next hop, unless this is supplied by the " "caller in the I argument. The I argument indicates the len of " "I and should be set to 0 if I is NULL." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Take a pointer to a percpu ksym, I, and return a pointer to the " "percpu kernel variable on I\\&. A ksym is an extern variable decorated " "with \\[aq]__ksym\\[aq]. For ksym, there is a global var (either static or " "global) defined of the same name in the kernel. The ksym is percpu if the " "global var is percpu. The returned pointer points to the global percpu var " "on I\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Take a pointer to a percpu ksym, I, and return a pointer to the " "percpu kernel variable on this cpu. See the description of \\[aq]ksym\\[aq] " "in B()." msgstr "" #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "Redirect the packet to another net device of index I\\&. This " #| "helper is somewhat similar to B(), except that the " #| "packet is not cloned, which provides increased performance." msgid "" "Redirect the packet to another net device of index I\\&. This " "helper is somewhat similar to B(), except that the redirection " "happens to the I\\[aq] peer device and the netns switch takes place " "from ingress to ingress without going through the CPU\\[aq]s backlog queue." msgstr "" "Перенаправляет пакет в другое сетевое устройство с индексом I\\&. " "Этот помощник похож на B(), но пакет не клонируется, что " "увеличивает производительность." #. type: Plain text #: debian-bookworm msgid "" "Underneath, the value is stored locally at I instead of the I" "\\&. The I is used as the bpf-local-storage \\[dq]type\\[dq]. The bpf-" "local-storage \\[dq]type\\[dq] (i.e. the I) is searched against all " "bpf_local_storage residing at I\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Return a BTF pointer to the \\[dq]current\\[dq] task. This pointer can also " "be used in helpers that accept an I of type I" "\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Returns the stored IMA hash of the I (if it\\[aq]s available). If " "the hash is larger than I, then only I bytes will be copied to " "I" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Specifying I zero means the MTU check is performed against the " "current net device. This is practical if this isn\\[aq]t used prior to " "redirect." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Find BTF type with given name and kind in vmlinux BTF or in module\\[aq]s " "BTFs." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "0 on success. B<-EBUSY> if I is already initialized. B<-EINVAL> if " "invalid I are passed. B<-EPERM> if I is in a map that doesn" "\\[aq]t have any user references. The user space should either hold a file " "descriptor to a map with timers or pin such map in bpffs. When map is " "unpinned or file descriptor is closed all timers in the map will be " "cancelled and freed." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "0 on success. B<-EINVAL> if I was not initialized with " "bpf_timer_init() earlier. B<-EPERM> if I is in a map that doesn" "\\[aq]t have any user references. The user space should either hold a file " "descriptor to a map with timers or pin such map in bpffs. When map is " "unpinned or file descriptor is closed all timers in the map will be " "cancelled and freed." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Set timer expiration N nanoseconds from the current time. The configured " "callback will be invoked in soft irq context on some cpu and will not repeat " "unless another bpf_timer_start() is made. In such case the next invocation " "can migrate to a different cpu. Since struct bpf_timer is a field inside " "map element the map owns the timer. The bpf_timer_set_callback() will " "increment refcnt of BPF program to make sure that callback_fn code stays " "valid. When user space reference to a map reaches zero all timers in a map " "are cancelled and corresponding program\\[aq]s refcnts are decremented. This " "is done to make sure that Ctrl-C of a user process doesn\\[aq]t leave any " "timers running. If map is pinned in bpffs the callback_fn can re-arm itself " "indefinitely. bpf_map_update/delete_elem() helpers and user space sys_bpf " "commands cancel and free the timer in the given map element. The map can " "contain timers that invoke callback_fn-s from different programs. The same " "callback_fn can serve different timers from different maps if key/value " "layout matches across maps. Every bpf_timer_set_callback() can have " "different callback_fn." msgstr "" #. type: Plain text #: debian-bookworm fedora-40 msgid "" "Address of the traced function. 0 for kprobes placed within the function " "(not at the entry)." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Do strncmp() between B and B\\&. B doesn\\[aq]t need to be null-" "terminated and B is the maximum storage size of B\\&. B must " "be a read-only string." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Get the BPF program\\[aq]s return value that will be returned to the upper " "layers." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "This helper is currently supported by cgroup programs and only by the hooks " "where BPF program\\[aq]s return value is returned to the userspace via errno." msgstr "" #. type: Plain text #: debian-bookworm msgid "The BPF program\\[aq]s return value." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Set the BPF program\\[aq]s return value that will be returned to the upper " "layers." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Note that there is the following corner case where the program exports an " "error via bpf_set_retval but signals success via \\[aq]return 1\\[aq]:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "In this case, the BPF program\\[aq]s return value will use helper\\[aq]s -" "EPERM. This still holds true for cgroup/bind{4,6} which supports extra " "\\[aq]return 3\\[aq] success case." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Read I bytes from user space address I in I\\[aq]s " "address space, and stores the data in I\\&. I is not used yet " "and is provided for future extensibility. This helper can only be used by " "sleepable programs." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "For more information on I, please see \\[aq]bpf_ringbuf_submit\\[aq]." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "For more information on I, please see \\[aq]bpf_ringbuf_discard\\[aq]." msgstr "" #. type: TP #: debian-bookworm #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, struct bpf_xfrm_state *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, struct bpf_dynptr *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, struct bpf_xfrm_state *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: debian-bookworm msgid "" "0 on success, -E2BIG if I + I exceeds the length of I" "\\[aq]s data, -EINVAL if I is an invalid dynptr or if I is not 0." msgstr "" #. type: TP #: debian-bookworm #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, void *>IB<, u32 >IB<, u64 >IB<)>" msgstr "BIB<, u32 >IB<, const void *>IB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: debian-bookworm fedora-40 msgid "" "Write I bytes from I into I, starting from I into " "I\\&. I is currently unused." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "0 on success, -E2BIG if I + I exceeds the length of I" "\\[aq]s data, -EINVAL if I is an invalid dynptr or if I is a read-" "only dynptr or if I is not 0." msgstr "" #. type: TP #: debian-bookworm #, fuzzy, no-wrap #| msgid "BIB<, u32 >IB<, u64 >IB<)>" msgid "BIB<, u32 >IB<, u32 >IB<)>" msgstr "BIB<, u32 >IB<, u64 >IB<)>" #. type: Plain text #: debian-bookworm msgid "long (*callback_fn)(struct bpf_dynptr *dynptr, void *ctx);" msgstr "" #. type: Plain text #: debian-bookworm #, fuzzy #| msgid "" #| "eBPF programs can have an associated license, passed along with the " #| "bytecode instructions to the kernel when the programs are loaded. The " #| "format for that string is identical to the one in use for kernel modules " #| "(Dual licenses, such as \"Dual BSD/GPL\", may be used). Some helper " #| "functions are only accessible to programs that are compatible with the " #| "GNU Privacy License (GPL)." msgid "" "eBPF programs can have an associated license, passed along with the bytecode " "instructions to the kernel when the programs are loaded. The format for that " "string is identical to the one in use for kernel modules (Dual licenses, " "such as \\[dq]Dual BSD/GPL\\[dq], may be used). Some helper functions are " "only accessible to programs that are compatible with the GNU Privacy License " "(GPL)." msgstr "" "Программы eBPF могут иметь собственную лицензию, передаваемую вместе с " "инструкциями байткода в ядро при загрузке программы. Формат этой строки " "совпадает с используемым в модулях ядра (могут использоваться двойные " "лицензии, например «Dual BSD/GPL»). Некоторые вспомогательные функции " "доступны только программам, которые совместимы с GNU Privacy License (GPL)." #. type: Plain text #: debian-bookworm #, fuzzy, no-wrap #| msgid "char ____license[] __attribute__((section(\"license\"), used)) = \"GPL\";\n" msgid "" "^\".ft C$\n" "char ____license[] __attribute__((section(\\[dq]license\\[dq]), used)) = \\[dq]GPL\\[dq];\n" "^\".ft P$\n" msgstr "char ____license[] __attribute__((section(\"license\"), used)) = \"GPL\";\n" #. type: TH #: fedora-40 #, no-wrap msgid "2023-04-11" msgstr "11 апреля 2023 г." #. type: TH #: fedora-40 #, fuzzy, no-wrap #| msgid "Linux" msgid "Linux v6.2" msgstr "Linux" #. type: Plain text #: fedora-40 #, fuzzy #| msgid "" #| "This helper is a \"printk()-like\" facility for debugging. It prints a " #| "message defined by format I (of size I) to file I from DebugFS, if available. It can take up to " #| "three additional B arguments (as an eBPF helpers, the total number " #| "of arguments is limited to five)." msgid "" "This helper is a \"printk()-like\" facility for debugging. It prints a " "message defined by format I (of size I) to file I from DebugFS, if available. It can take up to " "three additional B arguments (as an eBPF helpers, the total number of " "arguments is limited to five)." msgstr "" "Этот помощник подобен printk() и помогает в отладке. Он печатает сообщение, " "определяемое форматом I (размером I), в файл I из DebugFS, если есть. Принимает до трёх дополнительных " "аргументов B (как и для всех помощников eBPF, общее количество " "аргументов ограничено пятью)." #. type: Plain text #: fedora-40 #, fuzzy, no-wrap #| msgid "telnet-470 [001] .N.. 419421.045894: 0x00000001: Eformatted msgE\n" msgid "" "^\".ft C$\n" "telnet-470 [001] .N.. 419421.045894: 0x00000001: EfmtE\n" "^\".ft P$\n" msgstr "telnet-470 [001] .N.. 419421.045894: 0x00000001: Eformatted msgE\n" #. type: Plain text #: fedora-40 #, fuzzy #| msgid "Bformatted msgE> is the message formatted with I\\&." msgid "BfmtE> is the message formatted with I\\&." msgstr "" "Bformatted msgE> — сообщение, отформатированное согласно I\\&." #. type: Plain text #: fedora-40 #, fuzzy, no-wrap #| msgid "" #| "SEC(\"kprobe/sys_open\")\n" #| "void bpf_sys_open(struct pt_regs *ctx)\n" #| " char buf[PATHLEN]; // PATHLEN is defined to 256\n" #| " int res = bpf_probe_read_str(buf, sizeof(buf),\n" #| " ctx-Edi);\n" msgid "" "^\".ft C$\n" "SEC(\"kprobe/sys_open\")\n" "void bpf_sys_open(struct pt_regs *ctx)\n" "{\n" " char buf[PATHLEN]; // PATHLEN is defined to 256\n" " int res;\n" msgstr "" "SEC(\"kprobe/sys_open\")\n" "void bpf_sys_open(struct pt_regs *ctx)\n" " char buf[PATHLEN]; // PATHLEN равно 256\n" " int res = bpf_probe_read_str(buf, sizeof(buf),\n" " ctx-Edi);\n" #. type: Plain text #: fedora-40 #, no-wrap msgid "" " res = bpf_probe_read_user_str(buf, sizeof(buf),\n" " ctx-Edi);\n" msgstr "" #. type: Plain text #: fedora-40 msgid "" "0 on success, -E2BIG if I + I exceeds the length of I" "\\(aqs data, -EINVAL if I is an invalid dynptr or if I is a read-" "only dynptr or if I is not 0." msgstr "" #. type: Plain text #: fedora-40 #, fuzzy #| msgid "" #| "eBPF programs can have an associated license, passed along with the " #| "bytecode instructions to the kernel when the programs are loaded. The " #| "format for that string is identical to the one in use for kernel modules " #| "(Dual licenses, such as \"Dual BSD/GPL\", may be used). Some helper " #| "functions are only accessible to programs that are compatible with the " #| "GNU Privacy License (GPL)." msgid "" "eBPF programs can have an associated license, passed along with the bytecode " "instructions to the kernel when the programs are loaded. The format for that " "string is identical to the one in use for kernel modules (Dual licenses, " "such as \"Dual BSD/GPL\", may be used). Some helper functions are only " "accessible to programs that are compatible with the GNU Privacy License " "(GPL)." msgstr "" "Программы eBPF могут иметь собственную лицензию, передаваемую вместе с " "инструкциями байткода в ядро при загрузке программы. Формат этой строки " "совпадает с используемым в модулях ядра (могут использоваться двойные " "лицензии, например «Dual BSD/GPL»). Некоторые вспомогательные функции " "доступны только программам, которые совместимы с GNU Privacy License (GPL)." #. type: Plain text #: fedora-40 #, fuzzy, no-wrap #| msgid "char ____license[] __attribute__((section(\"license\"), used)) = \"GPL\";\n" msgid "" "^\".ft C$\n" "char ____license[] __attribute__((section(\"license\"), used)) = \"GPL\";\n" "^\".ft P$\n" msgstr "char ____license[] __attribute__((section(\"license\"), used)) = \"GPL\";\n"