HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/networking.cpython-38.pyc
U

��e�/�@sZddlmZmZmZmZmZmZGdd�de�ZGdd�dee�ZGdd�deee�Z	dS)	�)�Plugin�RedHatPlugin�UbuntuPlugin�DebianPlugin�SoSPredicate�	PluginOptc	s|eZdZdZdZdZdZeddded�ed	d
edd�ed
de	dd�edddd�edddd�gZ
dZdZ�fdd�Z
�ZS)�
Networkingz,Network and networking devices configurationZ
networking)ZnetworkZhardware�systemzwww.example.com�
tracerouteFzcollect a traceroute to %s)�default�desc�namespace_pattern�zFSpecific namespace names or patterns to collect, whitespace delimited.)rZval_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-WZacdgiklmPSTcstt|���|jD]}|�d|d|i�q|�ddd��|�dddd	d
ddd
ddddddg�|�ddddddg�|jdddd�|jddddgd�|�d �|jd!|j	d"d#�|�d$d%d&|j	d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6g�|�
d7��rN|�d8d9d:g�|�d;�}|d<d=k�rN|d>��}|D]}|�d?|��q8d@}t
|dAgdB�}|j||dCdD�dE}t
|dFdGdHdIdJdKdLgdMdNidO�}|j||dCdD�dPdQ�|jD�}	|jdRdQ�|	D�dSdT�|jdUdVdWdXdYdZgdSdT�|�d[��rd\}
|�d]�|j|
dSdT�|�d^d_d`dag�|�db��r@|jdc|jddde�|�df�dg}|�|�dh�|�di��}|�r�djdkdl�}
dmdkdl�}|j|t
||
dn�do��r�t
|dkgdB�nd}|j|t
||dn�do��r�t
|dkgdB�nd}|D�]}|jdp|}dq|}||dr}|j|ds|d|d3|d+|d,|d-|dt|d!|j	|d%|d&|j	|d$gdu|dv�|j|dwg||dudx�|j|dyg||dudx�|dE}|j|||dz�|�d{��r�|j|dU|d||d}|d~g|dSdu|d��q�|�d�d�d�d�d�d�d�d�dd�d�d"d�d�d���dS)�Nzethtool -%s .*z	ethool_%sZbondZhosts)z/proc/net/bonding/bond.*z
/etc/hostsz
/proc/net/z/etc/nsswitch.confz/etc/yp.confz/etc/inetd.confz/etc/xinetd.confz
/etc/xinetd.dz
/etc/host*�/etc/resolv.confz
/etc/network*z
/etc/dnsmasq*z!/sys/class/net/*/device/numa_nodez/sys/class/net/*/flagsz/sys/class/net/*/statistics/z
/etc/iproute2z/proc/net/rpc/use-gss-proxyz/proc/net/rpc/*/channelz/proc/net/rpc/*/flushz
/proc/net/cdpz/sys/net/cdpz/proc/net/eiconz
ip -o addrZip_addr)�root_symlinkZtagszip route show table allZip_routeZiproute_show_table_allZ
plotnetcfgznetstat %s -neopaZnetstat)rz
nstat -zas�
netstat -sznetstat %s -agnznetworkctl status -azip -6 route show table allzip -d route show cachezip -d -6 route show cachezip -4 rule listzip -6 rule listzip vrf show�
ip -s -d link�
ip -d addresszifenslave -azip mroute showz
ip maddr show�ip -s -s neigh showzip neigh show nud noarpzbiosdevname -dztc -s qdisc showz/sys/class/devlinkzdevlink dev param showzdevlink dev infozdevlink port showzdevlink devZstatusr�outputzdevlink dev eswitch show %szip -s macsec showZmacsec)�kmodsT)�predZchangeszss -peaonmiZtcp_diagZudp_diagZ	inet_diagZ	unix_diagZnetlink_diagZaf_packet_diagZxsk_diagr�all)rZrequiredcSsg|]}d|�qS)zethtool -%s�)�.0�optrr�?/usr/lib/python3/dist-packages/sos/report/plugins/networking.py�
<listcomp>�sz$Networking.setup.<locals>.<listcomp>cSsg|]}|d�qS)z %(dev)sr)rZ_cmdrrrr �sZethernet)�deviceszethtool %(dev)sz ethtool --phy-statistics %(dev)sz!ethtool --show-priv-flags %(dev)szethtool --show-eee %(dev)sztc -s filter show dev %(dev)sz%tc -s filter show dev %(dev)s ingressrzethtool -e %(dev)szwWARNING: collecting an eeprom dump is known to cause certain NIC drivers (e.g. bnx2x/tg3) to interrupt device operationzbridge -s -s -d link showzbridge -s -s -d -t fdb showzbridge -s -s -d -t mdb showzbridge -d vlan showr
z/bin/traceroute -n %s�d��priorityzip netnszip netns exec r
rziptables -VZ	nf_tables)�cmdrzip6tables -V)Zcmd_outputs)rZnamespaced_networkz
namespaces/%s� zip -d address showz	sysctl -a�2)r$�subdirz
iptables-save)rr(r$zip6tables-save)rr(rzethtool -i %(dev)szethtool -k %(dev)szethtool -S %(dev)s)r!r$r(ZethtoolZ	ethtool_SZ	ethtool_TZ	ethtool_aZ	ethtool_cZ	ethtool_gZ	ethtool_iZ	ethtool_kZ
ip_neigh_showZ	ip_s_linkZnetstat_agnZ	netstat_s)zethtool [^-].*zethtool -S.*zethtool -T.*zethtool -a.*zethtool -c.*zethtool -g.*zethtool -i.*zethtool -k.*rrrznetstat.*-neopaz
netstat.*-agnr)�superr�setup�ethtool_shortoptsZadd_cmd_tagsZ
add_file_tags�
add_copy_specZadd_forbidden_path�add_cmd_output�ns_wideZ
path_isdirZcollect_cmd_output�
splitlinesrZadd_device_cmd�
get_optionZ	_log_warn�
trace_hostZget_network_namespacesZtest_predicater!)�selfrZdevlinksZ
devlinks_listZdevlinkZip_macsec_show_cmdZmacsec_predZss_cmdZss_predZ_ecmdsr%Z
cmd_prefixr�coZco6Ziptables_with_nftZip6tables_with_nft�	namespaceZ_devsZ_subdirZ
ns_cmd_prefix��	__class__rrr*+s�
������
���
�
��
����
��
�


���
���
��
����
�zNetworking.setup)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesr1r�str�intZoption_listr.r+r*�
__classcell__rrr5rr
s.������rcs eZdZdZ�fdd�Z�ZS)�RedHatNetworkingzrhn.redhat.comcsTz,|jj�d�}t|dd�dkr*d|_Wntk
r@YnXtt|���dS)Nz	net-tools�versionr�z-T)	ZpolicyZpackage_managerZpkg_by_namer;r.�	Exceptionr)r=r*)r2Znetstat_pkgr5rrr*s
zRedHatNetworking.setup)r7r8r9r1r*r<rrr5rr=sr=cs(eZdZdZ�fdd�Zdd�Z�ZS)�UbuntuNetworkingzarchive.ubuntu.comc
sJtt|���|�ddddddddg�|�d	�rF|jd
|jdd�dS)
Nz/etc/resolvconfz/etc/network/interfacesz/etc/network/interfaces.drz/run/netplan/*.yamlz/etc/netplan/*.yamlz/lib/netplan/*.yamlz/run/systemd/networkr
z/usr/sbin/traceroute -n %sr"r#)r)rAr*r,r0r-r1�r2r5rrr*s�
�zUbuntuNetworking.setupcCs|�ddd�dS)Nz/etc/netplanz(\s+password:).*z	\1 ******)Zdo_path_regex_subrBrrr�postproc.s
�zUbuntuNetworking.postproc)r7r8r9r1r*rCr<rrr5rrAsrAN)
Zsos.report.pluginsrrrrrrrr=rArrrr�<module>	s |