+
    G%@iq                     :    ^ RI t ^ RIHtHtHt  ! R R]]4      tR# )    N)PluginIndependentPlugin	PluginOptc                   \   a  ] tR t^t o RtRtRtRt]! RR]	RR7      .t
R tR tR	 tR
tV tR# )Ebpfz	eBPF toolebpf
namespacesNz0Number of namespaces to collect, 0 for unlimited)defaultval_typedescc                    . p \         P                  ! V4      p\	        T4       F&  w  rVRT9   g   K  TP                  TR,          4       K(  	  T#   \         d!   pT P                  RT 24       Tu Rp?# Rp?ii ; i)z Collect the list of program IDs z"Couldn't parse bpftool prog list: Nidjsonloads	Exception	_log_info	enumerateappend)self	prog_jsonout	prog_dataerr_items   &&     9/usr/lib/python3/dist-packages/sos/report/plugins/ebpf.pyget_bpftool_prog_idsEbpf.get_bpftool_prog_ids   sv    	

9-I !+GAt|

4:& , 
  	NN?uEFJ	   A A<A71A<7A<c                    . p \         P                  ! V4      p\	        T4       F&  w  rVRT9   g   K  TP                  TR,          4       K(  	  T#   \         d!   pT P                  RT 24       Tu Rp?# Rp?ii ; i)zCollect the list of mapIDs z"Could not parse bpftool map list: Nr   r   )r   map_jsonr   map_datar   r   r   s   &&     r   get_bpftool_map_idsEbpf.get_bpftool_map_ids&   sv    	zz(+H !*GAt|

4:& + 
  	NN?uEFJ	r    c                   V P                  R 4      pV P                  VR,          4       F#  pR F  pV P                  RV RV 24       K  	  K%  	  V P                  R4      pV P                  VR,          4       F  pV P                  RV 24       K  	  V P                  . RO4       RpV P	                  R4      pV P                  VR	7       F*  pWh,           R
,           p	V P                  V	R,           4       K,  	  R# )zbpftool -j prog listoutputzbpftool prog dump z id zbpftool -j map listzbpftool map dump id bpftool net listzip netns exec r	   )ns_max N)xlatedjited)zbpftool prog listzbpftool map listzbpftool cgroup treer(   zbpftool struct_ops dump)collect_cmd_outputr   add_cmd_outputr$   
get_optionget_network_namespaces)
r   progsprog_iddumpcmdmapsmap_id
cmd_prefixnsps	namespacens_cmd_prefixs
   &         r   setup
Ebpf.setup3   s    ''(>?00xAG.##&8	'.i%1 2 / B
 &&'<=..tH~>F"6vh ?@ ? 	 
 	 &
|,44D4AI&2S8M0B BC B     )systemkernelnetwork)bpftool)__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilescommandsr   intoption_listr   r$   r:   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sJ     JK.HH 	,sI	KK
D Dr<   r   )r   sos.report.pluginsr   r   r   r   r=   r<   r   <module>rP      s#     C CED6$ EDr<   