+
    Û1jq:  ã                   ó†   € ^ 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                  W‰R3R47       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´  ø€ Ü‰‰Œà×ÑØ&¨Ø˜'ð
ô 	ð
 	×Ñò 
ô 	ð* 	×Ñò 	!
ô 		ð 	×Ñ˜L°yØ!*ð 	ô 	,à×ÑÐ5ÀJØ",Ð.FÐ!Gð 	ô 	Ià×Ñ˜LÔ)à×Ñ˜h t§|¡| n°GÐ<Ø)2ð 	ô 	4ð 	×ÑØØØØ�t—|‘|�n EÐ*Ø"Ø(Ø$Ø'ØØØØØØØØØ!Ø%ØØØØ.ð-
ô 	ð2 �?‰?Ð/×0Ó0Ø×Ñò 	!ô 	ð ×.Ñ.¨}Ó=ˆHØ˜Õ! QÔ&Ø (¨Õ 2× =Ñ =Ó ?�Û,�GØ×'Ñ'Ø3°G°9Ð=Ø8¸¸	ÐBØ4°W°IÐ>Ø3°G°9Ð=ð	)ô ð "$�JØ ×3Ñ3Ø3°G°9Ð=ó�Eð ˜X•¨!Ö+Ø',¨X¥×'AÑ'AÖ'C˜GØ&×1Ñ1°&×9Ô9Ø *× 1Ñ 1°'·-±-³/À!Õ2DÖ Eñ (Dð ×+Ñ+á)3ó-á)3 ð 8¸°yÀÀuÀgÓ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Ø×ÑØ˜C˜5 Ð$¨°¨u oðö ñ *ð
 	×ÑØ˜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¨�I˜c˜UÓ#Ñ/EˆÐFØ×ÑÙ*0ó
Ù*0 $�:×Ð©&ñ
àð 	ô 	ð 	×Ñò 	
ð ð 	ô 		ð �?‰?˜<×(Ò(Ø&ˆCØ�N‰Nð 8ô 9ð ×Ñ ¨ZÐÔ8à�?‰?˜<×(Ò(Ø×ÑÐ"5°d·o±oÐ5FÐ GØ),ð  ô .ð
 	×Ñ˜JÔ'Ø%ˆ
Ø×0Ñ0Ø—‘Ð 3Ó4Ø—‘ Ó-ó/ˆ
÷ ˆ:ð ˜=¨(°KÐ@ˆDØ˜.¨(°KÐ@ˆCà$(×$7Ñ$7¸Ü&2°4Ô&Jð %8÷ %Lò %Lô ".¨d¸;¸-Õ!Hð '+ð ð
 &*×%8Ñ%8¸Ü'3°DÔ'Jð &9÷ &Lò &Lô #/¨t¸K¸=Õ"Ið (,ð ô
 (�	ØŸ™Ð%9Õ:¸9ÕE�Ø'¨	 {Ð3�Ø *Õ 6¸Õ <�Ø×#Ñ#Ø$�oÐ%8Ð9Ø$�oÐ%=Ð>Ø$�oÐ%9Ð:Ø$�oÐ%5Ð6Ø$�oÐ%5Ð6Ø$�o \Ð2Ø$�o ZÐ0Ø$�o Y¨t¯|©|¨n¸GÐDØ$�o [Ð1Ø$�o Y¨t¯|©|¨n¸EÐBØ$�o [Ð1ð%ð  wð $ô 0ð ×#Ñ# ]°_Õ%DÐ$EØ):Ø+2Ø-/ð $ô 1ð ×#Ñ# ]Ð5EÕ%EÐ$FØ);Ø+2Ø-/ð $ô 1ð
 '¨Õ6�ð ×#Ñ# FÀÐ#ÔIð —?‘?Ð#7×8Ô8ð ×'Ñ'Ø(˜/Ð)9Ð:Ø(˜/Ð)<Ð=Ø(˜/Ð)<Ð=Ø(˜/Ð)<Ð=Ø(˜/Ð)<Ð=ð)ð  % ZÕ0¸2Àgð (÷ 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Ø0€HØ"€Jñ 	�,¨Ø1°*°Ð>ô	@áÐ%¨r¸Cð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À+ÓNˆKä�;˜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):).*z	\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)z/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Ø+¨z¨lÕ:ˆD�MÜ˜Ÿ™¤l×3Ò3Ø—‘×(Ñ(Ó*¨bÔ0Ø+¨|¨nÕ<ˆDŒMä‰‰Œà×Ñò 	
ô 		ð 	×Ñò 
ö 	r[   c                ó8   € R pV P                  RRV R2R4       R# )zVpassword|psk|key|shared|private|public|identity|anonymous-identity|client-key-passwordz/(etc|lib|run)/netplan/.*z^(\s+(?:z)\s*:\s*).+$z\1******Nr¥   )rA   Únetplan_secret_keyss   & rL   r§   ÚUbuntuNetworking.postproco  s0   € ð?ð 	ð 	×ÑØ(ØÐ+Ð,¨LÐ9Øö	
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[   