HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/networking.cpython-312.pyc
�

O6ufI1��l�ddlmZmZmZmZmZmZGd�de�ZGd�dee�ZGd�deee�Z	y)	�)�Plugin�RedHatPlugin�UbuntuPlugin�DebianPlugin�SoSPredicate�	PluginOptc	����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���t�|��|jddd��|jgd��|j	gd��|jddd��|jd	d
d
dg��|jd�|jd
|j�d�d��|jddd
|j�d�ddddddddddddd d!d"d#g�|jd$�rZ|jgd%��|jd&�}|d'd(k(r.|d)j�}|D]}|jd*|����d+}t|d,g�-�}|j||d.�/�|j�|j�y)0N�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/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�tags�ip route show table all�ip_route�iproute_show_table_all�
plotnetcfg�netstat � -neopa�netstat)r%�
nstat -zas�
netstat -s� -agnznetworkctl status -azip -6 route show table allzip -d route show cachezip -d -6 route show cache�ip -4 rule list�ip -6 rule list�ip 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/devlink)zdevlink dev param showzdevlink dev infozdevlink port showzdevlink dev�statusr�outputzdevlink dev eswitch show 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�
splitlinesr�collect_ss_ip_ethtool_info�collect_bridge_info)�self�devlinks�
devlinks_list�devlink�ip_macsec_show_cmd�macsec_pred�	__class__s      ��?/usr/lib/python3/dist-packages/sos/report/plugins/networking.pyr@zNetworking.setup/s����
��
�����(.�!�
�	�
	
���
�	�"	
���	!
�		�	
���L�y�!*�	�	,����5�J�",�.F�!G�	�	I����L�)����h�t�|�|�n�G�<�)2�	�	4�	
������t�|�|�n�E�*�"�(�$�'���������!�%���'
�	�,�?�?�/�0����!�
��.�.�}�=�H���!�Q�&� (�� 2� =� =� ?�
�,�O�G��'�'�*C�G�9�(M�N�O�1��"�4��z�:�����.�[�$��O��'�'�)�� � �"�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 [^-].*r5r6r4znetstat.*-neopaz
netstat.*-agnr/N)�ethtool_shortopts�add_cmd_tags)rK�opts  rR�add_command_tagszNetworking.add_command_tags�sh���)�)�	�C�����C�5��$���u�o��
�	�
	
���'�&�#2�(�(�*�%�
�	rSc�*�|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)rD�rKs rRrJzNetworking.collect_bridge_info�s��	
���
�	rSc�|�d}t||jddi��}|j||d��|jD�cgc]}d|����	}}|j	|D�cgc]}|dz��	c}d	�
�|j	gd�d	�
�|jd�r&d
}|j
d�|j	|d	�
�|jd�r |jd|j��d��|jd�d}|j|jd�|jd��}|�roddd�}	ddd�}
|j|t||	����rt|dg��nd}|j|t||
����rt|dg��nd}|D�]}
|jd|
}d |
��}||
zd!z}|j|d"z|d#z|d$z|d%z|d&z|d'z|d(z|d)|j�d*�z|d+z|d)|j�d,�z|d-zgd.|�/�|j|d0zg||d.�1�|j|d2zg||d.�1�|dz}|j|||�3�|jd4�s��|j	|d5z|d6z|d7z|d8zg|d	d.|�9���|j�ycc}wcc}w):z( Collect ss, ip and ethtool cmd outputs zss -peaonmir;�all)r;�requiredTr<rUz %(dev)s�ethernet)�devices)�ethtool %(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 operationrz/bin/traceroute -n �d)�priorityzip netnszip netns exec rrziptables -V�	nf_tables)�cmdr8zip6tables -V)�cmd_outputs)r=r:N�namespaced_networkznamespaces/� zip -d address showr'r6r1r2r3z	sysctl -ar+r,r/r0r.�2)ri�subdirz
iptables-save)r=rprizip6tables-save)r=rprrgzethtool -i %(dev)szethtool -k %(dev)szethtool -S %(dev)s)rfrirp)
r�ss_kmodsrDr\�add_device_cmd�
get_option�	_log_warn�
trace_host�get_network_namespaces�test_predicaterfrEr_)rK�ss_cmd�ss_predr^�_ecmds�_cmdrk�
cmd_prefixr�cout�co6�iptables_with_nft�ip6tables_with_nft�	namespace�_devs�_subdir�
ns_cmd_prefixs                 rRrIz%Networking.collect_ss_ip_ethtool_info�s������t�4�=�=�)0�%�(8�:�����F��$��?�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�� <�
��#�#�!�$8�8�!�$=�=�!�$9�9�!�$5�5�!�$5�5�!�M�1�!�K�/�!�h�t�|�|�n�G�$D�D�!�L�0�!�h�t�|�|�n�E�$B�B�!�L�0�%��w�$�0��#�#�]�_�%D�$E�):�+2�-/�$�1��#�#�]�5E�%E�$F�);�+2�-/�$�1�
'��6���#�#�F���#�I��?�?�#7�8��'�'�%�(9�9�%�(<�<�%�(<�<�%�(<�<�	)�
 %�Z�0�2�g�(�O�K*
O�X	
�����{G��
s�J4�J9)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profilesrur�str�int�option_listrErqr\r@r_rJrI�
__classcell__�rQs@rRr
r

s����?�J��K�0�H�"�J�	�,��1�*��>�	@��%�r�C�0�	2�	�,��s�I�	K��&��$�	&�	�,��C�	E�
�K� �G�>�H�
&��X#�t�"	�f rSr
c�"��eZdZdZ�fd�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�rE�	Exceptionr?r@)rK�netstat_pkgrQs  �rRr@zRedHatNetworking.setups_���	��+�+�5�5�A�A�+�N�K��;�y�)�!�,�-��1�#���
	��
���	�	��	�s�AA�	A�A)r�r�r�rur@r�r�s@rRr�r�s���!�J��rSr�c�(��eZdZdZ�fd�Zd�Z�xZS)�UbuntuNetworkingzarchive.ubuntu.comc���gd�}|jj�dk\r||_t�|��|jgd��y)N)	rrrrrrr�
mptcp_diag�raw_diagg
ףp=
6@)z/etc/netplan/*.yamlz/etc/network/interfacesz/etc/network/interfaces.dr#z/etc/resolvconfz/lib/netplan/*.yamlz/run/netplan/*.yamlz/run/systemd/network)r��dist_versionrqr?r@rB)rK�ubuntu_jammy_and_after_ss_kmodsrQs  �rRr@zUbuntuNetworking.setup"sE���+7�'��;�;�#�#�%��.�;�D�M�
��
�����	
�		rSc�*�|jddd�y)Nz/etc/netplanz(\s+password:).*z	\1 ******)�do_path_regex_subras rR�postproczUbuntuNetworking.postproc:s��������	
rS)r�r�r�rur@r�r�r�s@rRr�r�s���%�J��0
rSr�N)
�sos.report.pluginsrrrrrrr
r�r��rSrR�<module>r�s>��G�G�~ ��~ �B�z�<��"!
�z�<��!
rS