+
    i9  c                   s    ^ RI HtHtHtHtHtHt ^ RIHt ^ RI	H
t
  ! R R]4      t ! R R]]4      t ! R R	]]]4      tR
# )i    )PluginRedHatPluginUbuntuPluginDebianPluginSoSPredicate	PluginOpt)UbuntuPolicy)DebianPolicyc            
       s   a a ] tR t^t oRtRtRtRt]! RRR] 2R7      ]! RR	]	R
R7      ]! RR]
RR7      ]! RRRR7      ]! RRRR7      .tRt. ROtRtV 3R ltR tR tR tRtVtV ;t# )
Networkingz,Network and networking devices configurationZ
networkingzwww.example.com
tracerouteFzcollect a traceroute to )defaultdescnamespace-patternZ zFSpecific namespace names or patterns to collect, whitespace delimited.)r
   Zval_typer   
namespacesNz0Number of namespaces to collect, 0 for unlimitedethtool-namespacesTz;Toggle if ethtool commands should be run for each namespace
eepromdumpz*Toggle collection of 'ethtool -e' for NICsz-WZacdgiklmPSTc                s  < \         S
V `  4        V P                  R RRR/4       V P                  . R6O4       V P	                  . R7O4       V P                  RRRR7       V P                  RRRR	.R7       V P                  R
4       V P                  RV P                   R2RR7       V P                  RRRRV P                   R2RRRRRRRRRRRRRR R!R"R#R$.4       V P                  R%4      '       Ed   V P                  . R8O4       V P                  R&4      pVR',          ^ 8X  d   VR(,          P                  4       pV F  pV P                  R)V 2R*V 2R+V 2R,V 2.4       . pV P                  R-V 24      pVR',          ^ 8X  g   KJ  VR(,          P                  4        FB  pVP                  R.4      '       g   K  VP                  VP                  4       ^,          4       KD  	  T P                  V Uu. uF  pR-V R/V 2NK  	  up4       K  	  R0p\        V R1.R27      p	V P                  WR3R47       V P                  4        V P                  4        R5# u upi )9z/proc/net/bonding/bond.*Zbondz
/etc/hostsZhostsz
ip -o addrip_addr)root_symlinkZtagszip route show table allZip_routeZiproute_show_table_allZ
plotnetcfgznetstat  -neopanetstat)r   z
nstat -zas
netstat -sznetstat -s -6 -agnznetworkctl status -azip -6 route show table allzip -d route show cachezip -d -6 route show cachezip -4 rule listzip -6 rule listzip vrf showip -s -d linkip -d addresszifenslave -azip mroute showzip maddr showip -s -s neigh showzip neigh show nud noarpzbiosdevname -dztc -s qdisc showznmstatectl showz nmstatectl show --running-configz/sys/class/devlinkzdevlink devZstatusoutputzdevlink dev eswitch show zdevlink sb occupancy snapshot zdevlink sb occupancy show zdevlink -v resource show zdevlink dpipe table show Znamez name zip -s macsec showZmacseckmodsTpredZchangesN)z/etc/dnsmasq*z
/etc/host*z/etc/inetd.confz/etc/iproute2z/etc/network*z/etc/nsswitch.conf/etc/resolv.confz/etc/gai.confz/etc/xinetd.confz/etc/xinetd.dz/etc/yp.confz
/proc/net/z!/sys/class/net/*/device/numa_nodez/sys/class/net/*/flagsz/sys/class/net/*/statistics/z/etc/nmstate/z/var/lib/lldpad/z/etc/services)z/proc/net/rpc/use-gss-proxyz/proc/net/rpc/*/channelz/proc/net/rpc/*/flushz/proc/net/cdpz/sys/net/cdpz/proc/net/eicon)zdevlink dev param showzdevlink dev infozdevlink port showzdevlink sb showzdevlink sb pool showzdevlink sb port pool showzdevlink sb tc bind showzdevlink -s -v trap show)supersetupZadd_file_tagsadd_copy_specZadd_forbidden_pathadd_cmd_outputns_wideZ
path_isdirZcollect_cmd_outputZ
splitlinesZ
startswithZappendZsplitr   collect_ss_ip_ethtool_infocollect_bridge_info)selfZdevlinksZdevlinks_listZdevlinkZ
dev_tablesZdpipeZtablelnZdnameZip_macsec_show_cmdZmacsec_pred	__class__s   &         B/usr/lib/python3.14/site-packages/sos/report/plugins/networking.pyr    ZNetworking.setup1   s   &'
 	
 	 
 	* 	 	!
 		 	Ly!* 	 	,5J",.F!G 	 	IL)ht||nG<)2 	 	4 	t||nE*"($'!%.-
 	2 ??/00 	! 	 ..}=H!Q& ( 2 = = ?,G''3G9=8	B4WI>3G9=	)  "$J 333G9=E X!+',X'A'A'CG&11&99 * 1 1'--/!2D E (D ++)3-)3 8yugN)3-   -. 1"4z:.$O'')  "-s   5I
c                s    V P                    F  pV P                  RV R2RV 2/4       K  	  V P                  RRRRRR	R
RRRRRRR/4       R# )z$Command tags for ip/ethtool/netstat 	ethtool -z .*Zethool_zethtool [^-].*Zethtoolr   r   r   Zip_neigh_showr   Z	ip_s_linkznetstat.*-neopar   znetstat.*-agnZnetstat_agnr   Z	netstat_sN)ethtool_shortoptsZadd_cmd_tags)r&   opts   & r(   add_command_tagsZNetworking.add_command_tags   sq    ))CC5$uo  *
 	iY!?[y]+
 	    c                s,    V P                  . RO4       R# )zUCollect information about bridges (some data already collected via
"ip .." commands)
N)zbridge -s -s -d link showzbridge -s -s -d -t fdb showzbridge -s -s -d -t mdb showzbridge -d vlan show)r"   r&      &r(   r%   ZNetworking.collect_bridge_info   s     	 
 	r-   c                s8   Rp\        W P                  RR/R7      pV P                  WRR7       V P                  R4       V P                   Uu. uF  pRV 2NK
  	  ppT P	                  V Uu. uF  qUR	,           NK  	  upR
R7       V P	                  . R:OR
R7       V P                  R4      '       d'   RpV P                  R4       V P	                  VR
R7       V P                  R4      '       d!   V P                  RV P                   2^dR7       V P                  R4       RpV P                  V P                  R4      V P                  R4      4      pV'       Ed   RRRR/p	RRRR/p
V P                  V \        W	R7      R7      '       d   \        V R.R7      MRpV P                  V \        W
R7      R7      '       d   \        V R.R7      MRpV EF+  pV P                  R,          V,          pR V 2pW},           R!,           pV P                  V R"2V R#2V R$2V R%2V R&2V R'2V R(2V R)V P                   R*2V R+2V R)V P                   R,2V R-2.^2VR.7       V P                  VR/,           .VV^2R07       V P                  VR1,           .VV^2R07       VR,           pV P                  WVR27       V P                  R34      '       g   K  V P	                  V R42V R52V R62V R72V R82.VR
,          ^2VR97       EK.  	  V P                  4        R# u upi u upi );z'Collect ss, ip and ethtool cmd outputs zss -peaonmir   Zall)r   ZrequiredTr   zss -sr)   z %(dev)sZethernet)devicesr   zethtool -e %(dev)szwWARNING: collecting an eeprom dump is known to cause certain NIC drivers (e.g. bnx2x/tg3) to interrupt device operationr	   z/bin/traceroute -n )priorityzip netnszip netns exec r   r   cmdziptables -Vr   Z	nf_tableszip6tables -V)Zcmd_outputs)r   r   NZnamespaced_networkznamespaces/Z z ip -d address showz ip route show table allz ip -s -s neigh showz ip -4 rule listz ip -6 rule listz ip vrf showz
 sysctl -az	 netstat r   z netstat -sr   z nstat -zas)r1   subdirziptables-save)r   r3   r1   zip6tables-save)r   r3   r   z ethtool %(dev)sz ethtool -i %(dev)sz ethtool -k %(dev)sz ethtool -S %(dev)sz ethtool -m %(dev)s)r0   r1   r3   )zethtool %(dev)sz ethtool --phy-statistics %(dev)sz!ethtool --show-priv-flags %(dev)szethtool --show-eee %(dev)szethtool --show-fec %(dev)szethtool --show-ntuple %(dev)sztc -s filter show dev %(dev)sz%tc -s filter show dev %(dev)s ingress)r   ss_kmodsr"   r*   Zadd_device_cmdZ
get_optionZ	_log_warn
trace_hostZget_network_namespacesZtest_predicater0   r#   r,   )r&   Zss_cmdZss_predr+   Z_ecmdsZ_cmdr2   Z
cmd_prefixr   ZcoutZco6Ziptables_with_nftZip6tables_with_nftZ	namespaceZ_devsZ_subdirZns_cmd_prefixs   &                r(   r$   Z%Networking.collect_ss_ip_ethtool_info   s   t==)0%(8:F$?G$ 04/E/EF/EIcU#/EF*0
*0$:&
 	 	 	 	
  	 		 ??<((&CNN 8 9 Z8??<(("5doo5F G),   .
 	J'%
00 34-/
 : =(K@D.(K@C$($7$7&24&J %8 %L %L ".d;-!H '+ 
 &*%8%8'3D'J &9 &L &L #/tK="I (, 
 (	%9:9E'	{3 * 6 <##$o%89$o%=>$o%9:$o%56$o%56$o\2$oZ0$oYt||nGD$o[1$oYt||nEB$o[1% w $ 0 ##]_%D$E):+2-/ $ 1 ##]5E%E$F);+2-/ $ 1
 '6 ##F#I ??#788 ''(/)9:(/)<=(/)<=(/)<=(/)<=)  %Z02g ( OK (Z 	A G
s   L-L )ZnetworkZhardwareZsystem)tcp_diagudp_diag	inet_diag	unix_diagnetlink_diagaf_packet_diagxsk_diag)__name__
__module____qualname____firstlineno__Z
short_descZplugin_nameZprofilesr5   r   ZstrintZoption_listr#   r4   r*   r    r,   r%   r$   __static_attributes____classdictcell____classcell__r'   Z__classdict__   @@r(   r   r      s     ?JK0H"J 	,1*>	@%rC0	2 	,sI	K&$	& 	,C	EK  G>H
 &u#n"	j  j r-   r   c                   <   a a ] tR tRt oRtV 3R ltR tRtVtV ;t	# )RedHatNetworkingi1  zrhn.redhat.comc                s   <  V P                   P                  P                  R 4      p\        VR,          ^ ,          4      ^8  d   RV n        \        ST `  4        R#   \
         d     Li ; i)z	net-toolsZversionz-TN)policyZpackage_managerZpkg_by_namerB   r#   Z	Exceptionr   r    )r&   Znetstat_pkgr'      & r(   r    ZRedHatNetworking.setup4  s_    	++55AA+NK;y)!,-1#
 		  		s   A
A A+*A+c                ,    V P                  R RR4       R# )z/etc/nmstatez3(\s+(mka-cak|private-key-password|psk|password):).*	\1 ******NZdo_path_regex_subr.   r/   r(   postprocZRedHatNetworking.postprocA  s    B	
r-   )r#   
r>   r?   r@   rA   r5   r    rO   rC   rD   rE   rF   rG   r(   rI   rI   1  s     !J
 
r-   rI   c                   rH   )UbuntuNetworkingiJ  zarchive.ubuntu.comc                s  < . ROp\        V P                  \        4      '       d0   V P                  P                  4       R8  d   VR.,           V n        MN\        V P                  \
        4      '       d/   V P                  P                  4       ^8  d   VR.,           V n        \        SV `  4        V P                  . RO4       V P                  . RO4       R# )r<   g
ףp=
6@r=   Z
vsock_diagN)r<   r9   Z
mptcp_diagr;   Zraw_diagr7   r8   r:   )z/etc/netplan/*.yamlz/etc/network/interfacesz/etc/network/interfaces.dr   z/etc/resolvconfz/lib/netplan/*.yamlz/run/netplan/*.yamlz/run/systemd/network)/etc/netplanz/lib/netplanz/run/netplan)
Z
isinstancerJ   r   Zdist_versionr4   r   r   r    r!   Zadd_dir_listing)r&   Zcommon_ss_kmodsr'   rK   r(   r    ZUbuntuNetworking.setupM  s    ( t{{L11((*e3+zl:DMl33((*b0+|n<DM 	
 		 	 
 	r-   c                rL   )rR   z(\s+password:).*rM   NrN   r.   r/   r(   rO   ZUbuntuNetworking.postproco  s    	
r-   )r4   rP   rF   rG   r(   rQ   rQ   J  s     %J D
 
r-   rQ   N)Zsos.report.pluginsr    r   r   r   r   r   Zsos.policies.distros.ubuntur   Zsos.policies.distros.debianr   r   rI   rQ   r6   r-   r(   <module>rS      sD   G G 4 4_  _ D	
z< 
2+
z< +
r-   