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)
161 print('Parsed description of %d helper function(s)' % len(self.helpers),
169 Helper objects, and implement a way to print them in the desired fashion.
170 @helpers: array of Helper objects to print to standard output
181 def print_one(self, helper): argument
186 for helper in self.helpers:
187 self.print_one(helper)
195 @helpers: array of Helper objects to print to standard output
233 list of eBPF helper functions
256 Due to eBPF conventions, a helper can not have more than five arguments.
258 Internally, eBPF programs call directly into the compiled helper functions
288 as "Dual BSD/GPL", may be used). Some helper functions are only accessible to
303 This manual page is an effort to document the existing eBPF helper functions.
305 program or map types are added, along with new helper functions. Some helpers
308 check by yourself what helper functions exist in your kernel, or what types of
313 of all helper functions, as well as many other BPF definitions including most
315 * *net/core/filter.c* contains the definition of most network-related helper
320 of eBPF maps are used with a given helper function.
324 Compatibility between helper functions and program types can generally be found
325 in the files where helper functions are defined. Look for the **struct
332 Compatibility between helper functions and map types can be found in the
335 Helper functions that invalidate the checks on **data** and **data_end**
351 def print_proto(self, helper): argument
356 proto = helper.proto_break_down()
377 def print_one(self, helper): argument
378 self.print_proto(helper)
380 if (helper.desc):
384 for line in re.sub('\n$', '', helper.desc, count=1).split('\n'):
387 if (helper.ret):
389 for line in helper.ret.rstrip().split('\n'):
404 Parse eBPF header file and generate documentation for eBPF helper functions.