Lines Matching full:helper

25 class Helper(object):  class
27 An object representing the description of an eBPF helper function.
28 @proto: function prototype of the helper function
29 @desc: textual description of the helper function
30 @ret: description of the return value of the helper function
39 Break down helper function protocol into smaller chunks: return type,
66 list of eBPF helper functions. All the helpers that can be retrieved are
67 stored as Helper object, in the self.helpers() array.
80 return Helper(proto=proto, desc=desc, ret=ret)
101 # Helper can have empty description and we might be parsing another
124 # Helper can have empty retval and we might be parsing another
144 # Advance to start of helper function descriptions.
145 offset = self.reader.read().find('* Start of BPF helper function descriptions:')
147 raise Exception('Could not find start of eBPF helper descriptions list')
155 helper = self.parse_helper()
156 self.helpers.append(helper)
167 Helper objects, and implement a way to print them in the desired fashion.
168 @helpers: array of Helper objects to print to standard output
179 def print_one(self, helper): argument
184 for helper in self.helpers:
185 self.print_one(helper)
193 @helpers: array of Helper objects to print to standard output
231 list of eBPF helper functions
254 Due to eBPF conventions, a helper can not have more than five arguments.
256 Internally, eBPF programs call directly into the compiled helper functions
286 as "Dual BSD/GPL", may be used). Some helper functions are only accessible to
301 This manual page is an effort to document the existing eBPF helper functions.
303 program or map types are added, along with new helper functions. Some helpers
306 check by yourself what helper functions exist in your kernel, or what types of
311 of all helper functions, as well as many other BPF definitions including most
313 * *net/core/filter.c* contains the definition of most network-related helper
318 of eBPF maps are used with a given helper function.
321 * The bpftool utility can be used to probe the availability of helper functions
327 Compatibility between helper functions and program types can generally be found
328 in the files where helper functions are defined. Look for the **struct
335 Compatibility between helper functions and map types can be found in the
338 Helper functions that invalidate the checks on **data** and **data_end**
355 def print_proto(self, helper): argument
360 proto = helper.proto_break_down()
381 def print_one(self, helper): argument
382 self.print_proto(helper)
384 if (helper.desc):
388 for line in re.sub('\n$', '', helper.desc, count=1).split('\n'):
391 if (helper.ret):
393 for line in helper.ret.rstrip().split('\n'):
402 @helpers: array of Helper objects to print to standard output
530 def print_one(self, helper): argument
531 proto = helper.proto_break_down()
540 if (helper.desc):
543 for line in re.sub('\n$', '', helper.desc, count=1).split('\n'):
546 if (helper.ret):
549 for line in helper.ret.rstrip().split('\n'):
585 Parse eBPF header file and generate documentation for eBPF helper functions.