+
    iq  c                   s:    ^ RI t ^ RIHtHtHt  ! R R]]4      tR# )i    N)PluginIndependentPlugin	PluginOptc                   s\   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 toolZebpf
namespacesNz0Number of namespaces to collect, 0 for unlimited)ZdefaultZval_typeZ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jsonZloadsZ	ExceptionZ	_log_infoZ	enumerateZappend)selfZ	prog_jsonoutZ	prog_dataerr_item   &&     </usr/lib/python3.14/site-packages/sos/report/plugins/ebpf.pyget_bpftool_prog_idsZEbpf.get_bpftool_prog_ids   sv    	

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

4:& , 
  	NN?uEFJ	   A A<A71A<7A<c                r   )zCollect the list of mapIDs z"Could not parse bpftool map list: Nr   r   )r	   Zmap_jsonr
   Zmap_datar   r   r   r   r   get_bpftool_map_idsZEbpf.get_bpftool_map_ids&   sv    	zz(+H !*GAt|

4:& + 
  	NN?uEFJ	r   c                s   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 listZoutputzbpftool prog dump z id zbpftool -j map listzbpftool map dump id bpftool net listzip netns exec r   )Zns_maxZ N)ZxlatedZjited)zbpftool prog listzbpftool map listzbpftool cgroup treer   zbpftool struct_ops dump)Zcollect_cmd_outputr   Zadd_cmd_outputr   Z
get_optionZget_network_namespaces)
r	   ZprogsZprog_idZdumpcmdZmapsZmap_idZ
cmd_prefixZnspsZ	namespaceZns_cmd_prefixs
   &         r   setupZ
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     )ZsystemZkernelZnetwork)Zbpftool)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z
short_descZplugin_nameZprofilesZcommandsr   ZintZoption_listr   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      sJ     JK.HH 	,sI	KK
D Dr   r   )r   Zsos.report.pluginsr    r   r   r   r   r   r   <module>r      s#     C CED6$ EDr   