HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/networking.cpython-310.pyc
o

([Qhp9�@srddlmZmZmZmZmZmZddlmZddl	m
Z
Gdd�de�ZGdd�dee�ZGdd	�d	eee�Z
d
S)�)�Plugin�RedHatPlugin�UbuntuPlugin�DebianPlugin�SoSPredicate�	PluginOpt)�UbuntuPolicy)�DebianPolicyc	s�eZdZdZdZdZdZeddde��d�ed	d
edd�ed
de	dd�edddd�edddd�gZ
dZgd�ZdZ
�fdd�Zdd�Zdd�Zdd�Z�ZS) �
Networkingz,Network and networking devices configuration�
networking)�network�hardware�systemzwww.example.com�
tracerouteFzcollect 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)�tcp_diag�udp_diag�	inet_diag�	unix_diag�netlink_diag�af_packet_diag�xsk_diag�acdgiklmPSTcs�t���|�ddd��|�gd��|�gd��|jdddd�|jd	d
d
dgd�|�d�|jd
|j�d�dd�|�dddd
|j�d�dddddddddddd d!d"d#d$d%d&g�|�d'�r�|�gd(��|�d)�}|d*d+kr�|d,�	�}|D]J�|�d-���d.���d/���d0���g�g}|�d1����}|d*d+kr�|d,�	�D]}|�
d2�r�|�|��d3�q�|��fd4d5�|D��q}d6}t
|d7gd8�}|j||d9d:�|��|��dS);N�bond�hosts)z/proc/net/bonding/bond.*z
/etc/hosts)z
/etc/dnsmasq*z
/etc/host*z/etc/inetd.confz
/etc/iproute2z
/etc/network*z/etc/nsswitch.conf�/etc/resolv.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/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 addr�ip_addr)�root_symlink�tagszip route show table all�ip_route�iproute_show_table_all�
plotnetcfgznetstat � -neopa�netstat)r$z
nstat -zas�
netstat -sz
netstat -s -6� -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 showznmstatectl showz nmstatectl show --running-configz/sys/class/devlink)zdevlink dev param showzdevlink dev infozdevlink port showzdevlink sb showzdevlink sb pool showzdevlink sb port pool showzdevlink sb tc bind showzdevlink -s -v trap showzdevlink dev�statusr�outputzdevlink dev eswitch show zdevlink sb occupancy snapshot zdevlink sb occupancy show zdevlink -v resource show �devlink dpipe table show �name�csg|]
}d��d|���qS)r2z name �)�.0�dname��devlinkr5�?/usr/lib/python3/dist-packages/sos/report/plugins/networking.py�
<listcomp>�s��z$Networking.setup.<locals>.<listcomp>zip -s macsec show�macsec��kmodsT��pred�changes)�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�
dev_tables�dpipe�tableln�ip_macsec_show_cmd�macsec_pred��	__class__r8r:rC1s�
���
��

��
���zNetworking.setupc
CsF|jD]}|�d|�d�d|��i�q|�dddddd	d
d��dS)
z% Command tags for ip/ethtool/netstat �	ethtool -z .*�ethool_�ethtoolr#�
ip_neigh_show�	ip_s_linkr*�netstat_agn�	netstat_s)zethtool [^-].*r.r/r-znetstat.*-neopaz
netstat.*-agnr+N)�ethtool_shortopts�add_cmd_tags)rQ�optr5r5r:�add_command_tags�s
��zNetworking.add_command_tagscCs|�gd��dS)zf Collect information about bridges (some data already collected via
        "ip .." commands)
        )zbridge -s -s -d link showzbridge -s -s -d -t fdb showzbridge -s -s -d -t mdb showzbridge -d vlan showN)rG�rQr5r5r:rP�szNetworking.collect_bridge_infocCs�d}t||jddid�}|j||dd�|�d�dd	�|jD�}|jd
d	�|D�dd�|jgd
�dd�|�d�rId}|�d�|j|dd�|�d�rY|jd|j��dd�|�d�d}|�|�d�|�d��}|�r=ddd�}ddd�}|j	|t||d�d�r�t|dgd�nd }	|j	|t||d�d�r�t|dgd�nd }
|D]�}|j
d!|}d"|��}
||d#}|j|�d$�|�d%�|�d&�|�d'�|�d(�|�d)�|�d*�|�d+|j�d,�|�d-�|�d+|j�d.�|�d/�gd0|
d1�|j|d2g|	|
d0d3�|j|d4g|
|
d0d3�|d}|j|||
d5�|�d6��r<|j|�d7�|�d8�|�d9�|�d:�|�d;�g|dd0|
d<�q�|��d S)=z( Collect ss, ip and ethtool cmd outputs zss -peaonmir>�all)r>�requiredTr?zss -scSsg|]}d|���qS)r[r5)r6rdr5r5r:r;�sz9Networking.collect_ss_ip_ethtool_info.<locals>.<listcomp>cSsg|]}|d�qS)z %(dev)sr5)r6�_cmdr5r5r:r;�s��ethernet)�devices)zethtool %(dev)sz ethtool --phy-statistics %(dev)sz!ethtool --show-priv-flags %(dev)szethtool --show-eee %(dev)szethtool --show-fec %(dev)szethtool --show-ntuple %(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 operationrz/bin/traceroute -n �d)�priorityzip netnszip netns exec rrziptables -V�	nf_tables)�cmdr1zip6tables -V)�cmd_outputs)r@r=N�namespaced_networkznamespaces/� 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�2)rm�subdirz
iptables-save)r@rtrmzip6tables-save)r@rtrz ethtool %(dev)sz ethtool -i %(dev)sz ethtool -k %(dev)sz ethtool -S %(dev)sz ethtool -m %(dev)s)rkrmrt)
r�ss_kmodsrGrb�add_device_cmd�
get_option�	_log_warn�
trace_host�get_network_namespaces�test_predicaterkrHre)rQ�ss_cmd�ss_pred�_ecmdsro�
cmd_prefixr�cout�co6�iptables_with_nft�ip6tables_with_nft�	namespace�_devs�_subdir�
ns_cmd_prefixr5r5r:rO�s��

��
	�



�
�


���
���
��
���
��z%Networking.collect_ss_ip_ethtool_info)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profilesryr�str�int�option_listrHrurbrCrerPrO�
__classcell__r5r5rYr:r
s8������ur
c�(eZdZdZ�fdd�Zdd�Z�ZS)�RedHatNetworkingzrhn.redhat.comcsNz|jj�d�}t|dd�dkrd|_Wn	tyYnwt���dS)Nz	net-tools�versionr�z-T)�policy�package_manager�pkg_by_namer�rH�	ExceptionrBrC)rQ�netstat_pkgrYr5r:rC2s��zRedHatNetworking.setupcC�|�ddd�dS)Nz/etc/nmstatez3(\s+(mka-cak|private-key-password|psk|password):).*�	\1 ******��do_path_regex_subrfr5r5r:�postproc?�
�zRedHatNetworking.postproc�r�r�r�ryrCr�r�r5r5rYr:r�/s
r�cr�)�UbuntuNetworkingzarchive.ubuntu.comcs�gd�}t|jt�r|j��dkr|dg|_nt|jt�r+|j��dkr+|dg|_t���|�gd��|�	gd��dS)N)rr�
mptcp_diagr�raw_diagrrrg
ףp=
6@r�
�
vsock_diag)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)
�
isinstancer�r�dist_versionrur	rBrCrE�add_dir_listing)rQ�common_ss_kmodsrYr5r:rCKs

zUbuntuNetworking.setupcCr�)Nr�z(\s+password:).*r�r�rfr5r5r:r�mr�zUbuntuNetworking.postprocr�r5r5rYr:r�Hs"r�N)�sos.report.pluginsrrrrrr�sos.policies.distros.ubuntur�sos.policies.distros.debianr	r
r�r�r5r5r5r:�<module>s "