Lines Matching full:helper

15 helpersDocStart = 'Start of BPF helper function descriptions:'
46 class Helper(APIElement): class
48 An object representing the description of an eBPF helper function.
49 @proto: function prototype of the helper function
50 @desc: textual description of the helper function
51 @ret: description of the return value of the helper function
59 Break down helper function protocol into smaller chunks: return type,
87 list of eBPF helper functions. All the helpers that can be retrieved are
88 stored as Helper object, in the self.helpers() array.
113 return Helper(proto=proto, desc=desc, ret=ret)
245 'Could not find start of eBPF helper descriptions list')
248 helper = self.parse_helper()
249 self.helpers.append(helper)
250 proto = helper.proto_break_down()
262 'Could not find start of eBPF helper definition list')
281 for helper in self.helpers:
282 proto = helper.proto_break_down()
287 raise Exception("Helper %s is missing from enum bpf_func_id" % name)
294 …raise Exception("Helper %s comment order (#%d) must be aligned with its position (#%d) in enum bpf…
296 helper.enum_val = enum_val
311 Helper objects, and implement a way to print them in the desired fashion.
324 def print_one(self, helper): argument
346 # Function description is parsed until no helper is found (which can be due to
347 # misformatting). Hence, only print the first missing/misformatted helper/enum.
422 @parser: A HeaderParser with Helper objects to print to standard output
426 …self.elem_number_check(parser.desc_unique_helpers, parser.define_unique_helpers, 'helper', '__BPF_…
434 list of eBPF helper functions
459 Due to eBPF conventions, a helper can not have more than five arguments.
461 Internally, eBPF programs call directly into the compiled helper functions
497 as "Dual BSD/GPL", may be used). Some helper functions are only accessible to
512 This manual page is an effort to document the existing eBPF helper functions.
514 program or map types are added, along with new helper functions. Some helpers
517 check by yourself what helper functions exist in your kernel, or what types of
522 of all helper functions, as well as many other BPF definitions including most
524 * *net/core/filter.c* contains the definition of most network-related helper
529 of eBPF maps are used with a given helper function.
532 * The bpftool utility can be used to probe the availability of helper functions
538 Compatibility between helper functions and program types can generally be found
539 in the files where helper functions are defined. Look for the **struct
546 Compatibility between helper functions and map types can be found in the
549 Helper functions that invalidate the checks on **data** and **data_end**
566 def print_proto(self, helper): argument
571 proto = helper.proto_break_down()
592 def print_one(self, helper): argument
593 self.print_proto(helper)
594 self.print_elem(helper)
635 @parser: A HeaderParser with Helper objects to print to standard output
639 …self.elem_number_check(parser.desc_unique_helpers, parser.define_unique_helpers, 'helper', '__BPF_…
786 def print_one(self, helper): argument
787 proto = helper.proto_break_down()
796 if (helper.desc):
799 for line in re.sub('\n$', '', helper.desc, count=1).split('\n'):
802 if (helper.ret):
805 for line in helper.ret.rstrip().split('\n'):
828 print(') = (void *) %d;' % helper.enum_val)