Lines Matching full:helper
43 class Helper(APIElement): class
45 An object representing the description of an eBPF helper function.
46 @proto: function prototype of the helper function
47 @desc: textual description of the helper function
48 @ret: description of the return value of the helper function
52 Break down helper function protocol into smaller chunks: return type,
80 list of eBPF helper functions. All the helpers that can be retrieved are
81 stored as Helper object, in the self.helpers() array.
101 return Helper(proto=proto, desc=desc, ret=ret)
134 # Helper can have empty description and we might be parsing another
157 # Helper can have empty retval and we might be parsing another
197 self.seek_to('* Start of BPF helper function descriptions:',
198 'Could not find start of eBPF helper descriptions list')
201 helper = self.parse_helper()
202 self.helpers.append(helper)
216 Helper objects, and implement a way to print them in the desired fashion.
229 def print_one(self, helper): argument
304 @parser: A HeaderParser with Helper objects to print to standard output
315 list of eBPF helper functions
338 Due to eBPF conventions, a helper can not have more than five arguments.
340 Internally, eBPF programs call directly into the compiled helper functions
371 as "Dual BSD/GPL", may be used). Some helper functions are only accessible to
386 This manual page is an effort to document the existing eBPF helper functions.
388 program or map types are added, along with new helper functions. Some helpers
391 check by yourself what helper functions exist in your kernel, or what types of
396 of all helper functions, as well as many other BPF definitions including most
398 * *net/core/filter.c* contains the definition of most network-related helper
403 of eBPF maps are used with a given helper function.
406 * The bpftool utility can be used to probe the availability of helper functions
412 Compatibility between helper functions and program types can generally be found
413 in the files where helper functions are defined. Look for the **struct
420 Compatibility between helper functions and map types can be found in the
423 Helper functions that invalidate the checks on **data** and **data_end**
440 def print_proto(self, helper): argument
445 proto = helper.proto_break_down()
466 def print_one(self, helper): argument
467 self.print_proto(helper)
468 self.print_elem(helper)
508 @parser: A HeaderParser with Helper objects to print to standard output
648 def print_one(self, helper): argument
649 proto = helper.proto_break_down()
658 if (helper.desc):
661 for line in re.sub('\n$', '', helper.desc, count=1).split('\n'):
664 if (helper.ret):
667 for line in helper.ret.rstrip().split('\n'):