관리-도구
편집 파일: networking.cpython-39.opt-1.pyc
a -�_g�6 � @ sZ d dl mZmZmZmZmZmZ G dd� de�ZG dd� dee�ZG dd� deee�Z dS ) � )�Plugin�RedHatPlugin�UbuntuPlugin�DebianPlugin�SoSPredicate� PluginOptc s� e Zd ZdZdZdZdZeddde� �d�ed d edd�ed de dd�edddd�edddd�gZ dZg d�ZdZ � fdd�Zdd� Zdd� Zdd� Z� ZS ) � Networkingz,Network and networking devices configurationZ networking)�networkZhardware�systemzwww.example.com� tracerouteFzcollect a traceroute to )�default�desc�namespace-pattern� zFSpecific namespace names or patterns to collect, whitespace delimited.)r Zval_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_diagZacdgiklmPSTc s� t � �� | �ddd�� | �g d�� | �g d�� | jdddd� | jd d d dgd� | �d� | jd | j� d�dd� | �ddd | j� d�ddddddddddddd d!d"d#d$d%g� | �d&��r�| �g d'�� | �d(�}|d) d*k�r�|d+ � � }|D ]�� | �d,� � �d-� � �d.� � �d/� � �g� g }| �d0� � ��}|d) d*kr�|d+ � � D ]$}|� d1��rV|�|�� d2 � �qV| �� fd3d4�|D �� q�d5}t | d6gd7�}| j||d8d9� | �� | �� d S ):NZbond�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/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 allZip_routeZiproute_show_table_allZ plotnetcfgznetstat � -neopa�netstat)r z nstat -zas� netstat -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 addresszifenslave -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� c s g | ]}d � � d|� ��qS )r( z name � )�.0Zdname�Zdevlinkr+ �A/usr/lib/python3.9/site-packages/sos/report/plugins/networking.py� <listcomp>� s �z$Networking.setup.<locals>.<listcomp>zip -s macsec showZmacsec��kmodsT��predZchanges)�super�setupZ add_file_tags� add_copy_specZadd_forbidden_path�add_cmd_output�ns_wideZ path_isdirZcollect_cmd_output� splitlines� startswith�append�splitr �collect_ss_ip_ethtool_info�collect_bridge_info)�selfZdevlinksZ devlinks_listZ dev_tablesZdpipeZtablelnZip_macsec_show_cmdZmacsec_pred�� __class__r- r. r5 / s� ��� �� ��� zNetworking.setupc C sF | j D ] }| �d|� d�d|� �i� q| �dddddd d d�� dS ) z% Command tags for ip/ethtool/netstat � ethtool -z .*Zethool_Zethtoolr Z ip_neigh_showZ ip_s_linkr Znetstat_agnZ netstat_s)zethtool [^-].*r$ r% r# znetstat.*-neopaz netstat.*-agnr! N)�ethtool_shortoptsZadd_cmd_tags)r? �optr+ r+ r. �add_command_tags� s ��zNetworking.add_command_tagsc C s | � g d�� 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)r7 �r? r+ r+ r. r>