HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-87-generic #88-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 09:28:41 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/networking.cpython-312.pyc
�

([Qhp9���ddlmZmZmZmZmZmZddlmZddl	m
Z
Gd�de�ZGd�dee�ZGd�d	eee�Z
y
)�)�Plugin�RedHatPlugin�UbuntuPlugin�DebianPlugin�SoSPredicate�	PluginOpt)�UbuntuPolicy)�DebianPolicyc	����eZdZdZdZdZdZeddde����ed	d
ed��ed
de	d��eddd��eddd��gZ
dZgd�ZdZ
�fd�Zd�Zd�Zd�Z�xZS)�
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�acdgiklmPSTc�Z��t�
|��|jddd��|jgd��|j	gd��|jddd��|jd	d
d
dg��|jd�|jd
|j�d�d��|jdddd
|j�d�dddddddddddd d!d"d#d$d%d&g�|jd'�r�|jgd(��|jd)�}|d*d+k(r�|d,j�}|D]�}|jd-|��d.|��d/|��d0|��g�g}|jd1|���}|d*d+k(s�C|d,j�D]6}|jd2�s�|j|j�d3��8|j|D�cgc]
}d1|�d4|����c}���d5}t|d6g�7�}	|j||	d8�9�|j�|j�ycc}w):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 zdevlink dpipe table show �name�z name 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�devlink�
dev_tables�dpipe�tableln�dname�ip_macsec_show_cmd�macsec_pred�	__class__s          ��?/usr/lib/python3/dist-packages/sos/report/plugins/networking.pyr>zNetworking.setup1s����
��
�����(.�!�
�	�
	
���
�	�&	
���	!
�		�	
���L�y�!*�	�	,����5�J�",�.F�!G�	�	I����L�)����h�t�|�|�n�G�<�)2�	�	4�	
�������t�|�|�n�E�*�"�(�$�'���������!�%����.�-
�	�2�?�?�/�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�F�G�&�1�1�&�9� *� 1� 1�'�-�-�/�!�2D� E�F��+�+�)3�-� %�8��y��u�g�N�-���.1��"�4��z�:�����.�[�$��O��'�'�)�� � �"��-s�H(
c
��|jD]}|jd|�d�d|��i��|jdddddd	d
d��y)
z% Command tags for ip/ethtool/netstat �	ethtool -z .*�ethool_�ethtoolr&�
ip_neigh_show�	ip_s_linkr-�netstat_agn�	netstat_s)zethtool [^-].*r1r2r0znetstat.*-neopaz
netstat.*-agnr.N)�ethtool_shortopts�add_cmd_tags)rL�opts  rW�add_command_tagszNetworking.add_command_tags�sh���)�)�	�C�����C�5��$���u�o��
�	�
	
���'�&�#2�(�(�*�%�
�	�c�*�|jgd��y)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)rB�rLs rWrKzNetworking.collect_bridge_info�s��	
���
�	rdc��d}t||jddi��}|j||d��|jd�|jD�cgc]}d|����	}}|j	|D�cgc]}|d	z��	c}d
��|j	gd�d
��|jd
�r&d}|j
d�|j	|d
��|jd�r |jd|j��d��|jd�d}|j|jd�|jd��}|�rqddd�}	ddd�}
|j|t||	����rt|dg��nd}|j|t||
����rt|dg��nd}|D�]}
|jd |
}d!|
��}||
zd"z}|j|�d#�|�d$�|�d%�|�d&�|�d'�|�d(�|�d)�|�d*|j�d+�|�d,�|�d*|j�d-�|�d.�gd/|�0�|j|d1zg||d/�2�|j|d3zg||d/�2�|dz}|j|||�4�|jd5�s��|j	|�d6�|�d7�|�d8�|�d9�|�d:�g|d
d/|�;���|j�ycc}wcc}w)<z( Collect ss, ip and ethtool cmd outputs zss -peaonmir9�all)r9�requiredTr:zss -srYz %(dev)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)�cmdr4zip6tables -V)�cmd_outputs)r;r8N�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_kmodsrBr`�add_device_cmd�
get_option�	_log_warn�
trace_host�get_network_namespaces�test_predicaterkrCrc)rL�ss_cmd�ss_predrb�_ecmds�_cmdro�
cmd_prefixr�cout�co6�iptables_with_nft�ip6tables_with_nft�	namespace�_devs�_subdir�
ns_cmd_prefixs                 rWrJz%Networking.collect_ss_ip_ethtool_info�s������t�4�=�=�)0�%�(8�:�����F��$��?����G�$�04�/E�/E�F��I�c�U�#�F��F����*0�
�"&�D�:��
��	�	�	
���	
��	�		��?�?�<�(�&�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�T�&J�%8�%L�".�d�;�-�!H�'+�
�
&*�%8�%8��'3�D�c�'J�&9�&L�#/�t�K�=�"I�(,�
�
(�+
O�	����%9�:�9�E��'�	�{�3�� *�Y� 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��'�'�(�/�)9�:�(�/�)<�=�(�/�)<�=�(�/�)<�=�(�/�)<�=�)� %�Z�0�2�g�
(�O�K+
O�Z	
�����AG��
s�K�-K)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profilesryr�str�int�option_listrCrur`r>rcrKrJ�
__classcell__�rVs@rWrrs����?�J��K�0�H�"�J�	�,��1�*��>�	@��%�r�C�0�	2�	�,��s�I�	K��&��$�	&�	�,��C�	E�
�K� �G�>�H�
&��s#�j�"	�j rdrc�(��eZdZdZ�fd�Zd�Z�xZS)�RedHatNetworkingzrhn.redhat.comc����	|jjjd�}t|dd�dkrd|_t�|��y#t
$rY�wxYw)Nz	net-tools�versionr�z-T)�policy�package_manager�pkg_by_namer�rC�	Exceptionr=r>)rL�netstat_pkgrVs  �rWr>zRedHatNetworking.setup2s_���	��+�+�5�5�A�A�+�N�K��;�y�)�!�,�-��1�#���
	��
���	�	��	�s�AA�	A�Ac�*�|jddd�y)Nz/etc/nmstatez3(\s+(mka-cak|private-key-password|psk|password):).*�	\1 ******��do_path_regex_subrfs rW�postproczRedHatNetworking.postproc?s������B��	
rd�r�r�r�ryr>r�r�r�s@rWr�r�/s���!�J��
rdr�c�(��eZdZdZ�fd�Zd�Z�xZS)�UbuntuNetworkingzarchive.ubuntu.comc���gd�}t|jt�r)|jj�dk\r|dgz|_nBt|jt
�r(|jj�dk\r|dgz|_t�|��|jgd��|jgd��y)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
r=r>r@�add_dir_listing)rL�common_ss_kmodsrVs  �rWr>zUbuntuNetworking.setupKs����(��
�t�{�{�L�1����(�(�*�e�3�+�z�l�:�D�M�����l�3����(�(�*�b�0�+�|�n�<�D�M�
��
�����	
�		�	
���
�	rdc�*�|jddd�y)Nr�z(\s+password:).*r�r�rfs rWr�zUbuntuNetworking.postprocms��������	
rdr�r�s@rWr�r�Hs���%�J� �D
rdr�N)�sos.report.pluginsrrrrrr�sos.policies.distros.ubuntur	�sos.policies.distros.debianr
rr�r��rdrW�<module>r�sD��G�G�4�4�] ��] �@	
�z�<�
�2+
�z�<��+
rd