+
    G%@i9                         ^ 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
# )    )PluginRedHatPluginUbuntuPluginDebianPluginSoSPredicate	PluginOpt)UbuntuPolicy)DebianPolicyc            
          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 configuration
networkingzwww.example.com
tracerouteFzcollect a traceroute to )defaultdescnamespace-pattern zFSpecific namespace names or patterns to collect, whitespace delimited.)r   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-WacdgiklmPSTc                  < \         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.*bondz
/etc/hostshostsz
ip -o addrip_addr)root_symlinktagszip route show table allip_routeiproute_show_table_all
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 dev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 namez name zip -s macsec showmacseckmodsTpred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setupadd_file_tagsadd_copy_specadd_forbidden_pathadd_cmd_outputns_wide
path_isdircollect_cmd_output
splitlines
startswithappendsplitr   collect_ss_ip_ethtool_infocollect_bridge_info)selfdevlinksdevlinks_listdevlink
dev_tablesdpipetablelndnameip_macsec_show_cmdmacsec_pred	__class__s   &         ?/usr/lib/python3/dist-packages/sos/report/plugins/networking.pyr3   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                    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 .*ethool_zethtool [^-].*ethtoolr&   r   r'   ip_neigh_showr%   	ip_s_linkznetstat.*-neopar"   znetstat.*-agnnetstat_agnr#   	netstat_sN)ethtool_shortoptsadd_cmd_tags)rA   opts   & rL   add_command_tagsNetworking.add_command_tags   sq    ))CC5$uo  *
 	iY!?[y]+
 	    c                ,    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)r7   rA   s   &rL   r@   Networking.collect_bridge_info   s     	 
 	r[   c                8   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-   all)r-   requiredTr.   zss -srO   z %(dev)s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)   	nf_tableszip6tables -V)cmd_outputs)r/   r,   Nnamespaced_networkznamespaces/ 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)rd   subdirziptables-save)r/   rj   rd   zip6tables-save)r/   rj   r   z ethtool %(dev)sz ethtool -i %(dev)sz ethtool -k %(dev)sz ethtool -S %(dev)sz ethtool -m %(dev)s)rc   rd   rj   )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_kmodsr7   rV   add_device_cmd
get_option	_log_warn
trace_hostget_network_namespacestest_predicaterc   r8   rY   )rA   ss_cmdss_predrX   _ecmds_cmdre   
cmd_prefixr   coutco6iptables_with_nftip6tables_with_nft	namespace_devs_subdirns_cmd_prefixs   &                rL   r?   %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 )networkhardwaresystem)tcp_diagudp_diag	inet_diag	unix_diagnetlink_diagaf_packet_diagxsk_diag)__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilesro   r   strintoption_listr8   rk   rV   r3   rY   r@   r?   __static_attributes____classdictcell____classcell__rK   __classdict__s   @@rL   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                   <  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-toolsversionz-TN)policypackage_managerpkg_by_namer   r8   	Exceptionr2   r3   )rA   netstat_pkgrK   s   & rL   r3   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do_path_regex_subr]   s   &rL   postprocRedHatNetworking.postprocA  s    B	
r[   )r8   
r   r   r   r   ro   r3   r   r   r   r   r   s   @@rL   r   r   1  s     !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	# )UbuntuNetworkingiJ  zarchive.ubuntu.comc                  < . 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   
vsock_diagN)r   r   
mptcp_diagr   raw_diagr   r   r   )z/etc/netplan/*.yamlz/etc/network/interfacesz/etc/network/interfaces.dr1   z/etc/resolvconfz/lib/netplan/*.yamlz/run/netplan/*.yamlz/run/systemd/network)/etc/netplanz/lib/netplanz/run/netplan)

isinstancer   r	   dist_versionrk   r
   r2   r3   r5   add_dir_listing)rA   common_ss_kmodsrK   s   & rL   r3   UbuntuNetworking.setupM  s    ( t{{L11((*e3+zl:DMl33((*b0+|n<DM 	
 		 	 
 	r[   c                ,    V P                  R RR4       R# )r   z(\s+password:).*r   Nr   r]   s   &rL   r   UbuntuNetworking.postproco  s    	
r[   )rk   r   r   s   @@rL   r   r   J  s     %J D
 
r[   r   N)sos.report.pluginsr   r   r   r   r   r   sos.policies.distros.ubuntur	   sos.policies.distros.debianr
   r   r   r   r   r[   rL   <module>r      sD   G G 4 4_  _ D	
z< 
2+
z< +
r[   