Lines Matching full:helper

16 helpersDocStart = 'Start of BPF helper function descriptions:'
54 class Helper(APIElement): class
56 An object representing the description of an eBPF helper function.
57 @proto: function prototype of the helper function
58 @desc: textual description of the helper function
59 @ret: description of the return value of the helper function
68 Break down helper function protocol into smaller chunks: return type,
107 list of eBPF helper functions. All the helpers that can be retrieved are
108 stored as Helper object, in the self.helpers() array.
135 return Helper(proto=proto, desc=desc, ret=ret, attrs=attrs)
289 'Could not find start of eBPF helper descriptions list')
292 helper = self.parse_helper()
293 self.helpers.append(helper)
294 proto = helper.proto_break_down()
307 'Could not find start of eBPF helper definition list')
331 for helper in self.helpers:
332 proto = helper.proto_break_down()
338 raise Exception("Helper %s is missing from enum bpf_func_id" % name)
342 … raise Exception("Helper %s has multiple descriptions which are not grouped together" % name)
348 …raise Exception("Helper %s (ID %d) comment order (#%d) must be aligned with its position (#%d) in …
350 raise Exception("Helper %s has duplicated value %d" % (name, enum_val))
356 helper.enum_val = enum_val
372 Helper objects, and implement a way to print them in the desired fashion.
385 def print_one(self, helper): argument
407 # Function description is parsed until no helper is found (which can be due to
408 # misformatting). Hence, only print the first missing/misformatted helper/enum.
483 @parser: A HeaderParser with Helper objects to print to standard output
487 …self.elem_number_check(parser.desc_unique_helpers, parser.define_unique_helpers, 'helper', '___BPF…
495 list of eBPF helper functions
520 Due to eBPF conventions, a helper can not have more than five arguments.
522 Internally, eBPF programs call directly into the compiled helper functions
558 as "Dual BSD/GPL", may be used). Some helper functions are only accessible to
573 This manual page is an effort to document the existing eBPF helper functions.
575 program or map types are added, along with new helper functions. Some helpers
578 check by yourself what helper functions exist in your kernel, or what types of
583 of all helper functions, as well as many other BPF definitions including most
585 * *net/core/filter.c* contains the definition of most network-related helper
590 of eBPF maps are used with a given helper function.
593 * The bpftool utility can be used to probe the availability of helper functions
599 Compatibility between helper functions and program types can generally be found
600 in the files where helper functions are defined. Look for the **struct
607 Compatibility between helper functions and map types can be found in the
610 Helper functions that invalidate the checks on **data** and **data_end**
627 def print_proto(self, helper): argument
632 proto = helper.proto_break_down()
653 def print_one(self, helper): argument
654 self.print_proto(helper)
655 self.print_elem(helper)
696 @parser: A HeaderParser with Helper objects to print to standard output
700 …self.elem_number_check(parser.desc_unique_helpers, parser.define_unique_helpers, 'helper', '___BPF…
837 for helper in self.elements:
838 for attr in helper.attrs:
866 def print_one(self, helper): argument
867 proto = helper.proto_break_down()
876 if (helper.desc):
879 for line in re.sub('\n$', '', helper.desc, count=1).split('\n'):
882 if (helper.ret):
885 for line in helper.ret.rstrip().split('\n'):
890 if helper.attrs:
891 print('%s ' % (" ".join(helper.attrs)), end='')
911 print(') = (void *) %d;' % helper.enum_val)
918 @parser: A HeaderParser with Helper objects
926 "helper",
931 helper_dicts = [helper.to_dict() for helper in self.elements]