HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/sos/report/plugins/__pycache__/openvswitch.cpython-39.opt-1.pyc
a

\��h�E�@sfddlmZddlZddlmZmZmZmZGdd�de�ZGdd�dee�Z	Gdd	�d	eee�Z
dS)
�)�environN)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc@s`eZdZdZdZdZdZdZdZdZ	dZ
dZd	d
�Zdd�Z
d
d�Zdd�Zdd�Zdd�ZdS)�OpenVSwitchzOpenVSwitch networking�openvswitch)�networkZvirtz
ovs-appctlz	ovs-vsctlz	ovs-ofctlz	ovs-dpctlFc+s��d�}ddg}���j�d��}|ddko<|d�d��_t�fd	d
�dD���_t�d�rr|�	t�d��|s���
�fd
d�|D��n
��
|���
gd����
��dd���dd���dd�g�t�d�}|r��
��|d����ddd����
gd����ddddddd�j�d ��j�d!��j�d"��j�d#��j�d$��j�d%��j�d&��j�d'��j�d(��j�d)��j�d*��j�d+��j�d,��j�d-��j�d.��j�d/��j�d0��j�d1��j�d2��j�d3��j�d4��j�d5��j�d6��j�d7��j�d8��j�d9��j�d:��j�d;��j�d<��j�d=��j�d>��j�d?��j�d@�g(��j�j�dA�dBdC��j�j�dD�dEdC��jdFdG��jdHdG��jdIdG��jdJdG��jdKdG��jdLdG����������dS)MN�all_logsz/var/log/openvswitch/z/usr/local/var/log/openvswitch/z/ -t 5 get Open_vSwitch . other_config:dpdk-init�statusr�outputz"true"c3s|]}��|�VqdS)N)�is_installed)�.0�p��self��B/usr/lib/python3.9/site-packages/sos/report/plugins/openvswitch.py�	<genexpr>)�z$OpenVSwitch.setup.<locals>.<genexpr>)z6windgate-fp�nuage-openvswitchZ
OVS_LOGDIRcsg|]}��|d��qS)z*.log)�	path_join)rZldrrr�
<listcomp>0sz%OpenVSwitch.setup.<locals>.<listcomp>)z!/run/openvswitch/ovsdb-server.pidz!/run/openvswitch/ovs-vswitchd.pidz&/run/openvswitch/ovs-monitor-ipsec.pidz/usr/local/etc/openvswitchzconf.dbz/etc/openvswitchz/var/lib/openvswitchZ	OVS_DBDIRZopenvswitch_daemon_logZopenvswitch_server_log)z%/var/log/openvswitch/ovs-vswitchd.logz%/var/log/openvswitch/ovsdb-server.log)z/run/openvswitchz/dev/hugepages/z	/dev/vfioz/var/lib/vhost_socketszdpdk_nic_bind --statuszdpdk-devbind.py --statuszdriverctl list-deviceszdriverctl -v list-deviceszdriverctl list-overrideszdriverctl -v list-overrideszdriverctl list-persistedz
 bond/listz
 bond/showz
 lacp/showz lacp/show-statsz coverage/showz ovs/route/showz
 tnl/arp/showz tnl/ports/show -v� upcall/showz -t 5 list Open_vSwitchz -t 5 list managerz -t 5 list interfacez -t 5 list bridgez -t 5 list datapathz! dpif-netdev/pmd-rxq-show -secs 5z" dpif-netdev/pmd-rxq-show -secs 30z dpif-netdev/pmd-rxq-showz dpif-netdev/pmd-stats-showz dpif-netdev/pmd-perf-showz ofproto/list-tunnelsz" -t ovs-monitor-ipsec tunnels/showz  -t ovs-monitor-ipsec xfrm/statez# -t ovs-monitor-ipsec xfrm/policiesz$ dump-flows --name -m type=offloadedz dump-flows --name -m type=ovsz% dpif-netdev/subtable-lookup-prio-getz dpif-netdev/dpif-impl-getz  dpif-netdev/miniflow-parser-getz dpif-netdev/pmd-sleep-showz dpdk/lcore-listz dpdk/log-listz dpdk/get-malloc-statsz netdev-dpdk/get-mempool-infoz% -t 5 get Open_vSwitch . other_configZopenvswitch_other_config)�tagsz
 -t 5 showZovs_vsctl_showr�Zunitszopenvswitch-nonetworkzovs-vswitchdzovsdb-serverzovs-configurationzopenvswitch-ipsec)Z
get_option�collect_cmd_output�vctl�
startswith�
check_dpdk�any�check_6windr�get�append�
add_copy_specrZ
add_file_tagsZadd_dir_listing�add_cmd_output�actl�dpctl�add_journal�collect_ovs_info�collect_datapath�collect_ovs_bridge_info)rr
Zlog_dirsZdpdk_enabledZ	ovs_dbdirrrr�setups�
�
���

�




�
�
































�F
��zOpenVSwitch.setupcCs�gd�}|jr�|�|�|�dddddddd	d
|j�d�|j�d�d
|j�d�d|j�d�ddddddd|j�d�g�|jdd�dD]}|�d|��g�q�|�d�}|ddkr�|d ��D]0}t�	d!|�}|r�|�
d"�}|�d#|��g�q�d$S)%z  Collect output of OVS commands )z?/etc/systemd/system/multi-user.target.wants/openvswitch.servicez./etc/sysctl.d/60-6wind-system-auto-reboot.confz/etc/openvswitch/system-id.confz/etc/openvswitch/*.dbz*/etc/ld.so.conf.d/linux-fp-sync-fptun.confz$/etc/NetworkManager/conf.d/fpn0.confz/etc/default/openvswitchz/etc/logrotate.d/openvswitchz/etc/linux-fp-sync.envz/etc/fp-daemons.envz/etc/fp-vdev.iniz/etc/fpm.envz/etc/6WINDGate/fp.configz/etc/6WINDGate/fpnsdk.configz/etc/dms.d/fp-dms.confz/etc/dms.d/fpmd-dms.confz/etc/dms.d/fpsd-dms.confz/etc/fast-path.envz/etc/fps-fp.envzfp-cli fp-vswitch-statszfp-cli dpdk-core-port-mappingzfp-cpu-usagezfp-cli fp-vswitch-maskszfp-cli fp-vswitch-flowsz
fp-shmem-dpvizfp-cli stats non-zerozfp-cli statszfp-cli dpdk-cp-filter-budgetz vm/port-detailed-showrzfp-cli nfct4z vm/port-vip-list-showzfp-shmem-ports -sz show -szfpcmd fp-vswitch-flowszfp-cli fp-vswitch-ports percorezfp-cli dpdk-debug-poolzfp-cli dump-sizezfp-cli conf runtimezfp-cli conf compiledzfp-cli ifacez memory/showzvirtual-acceleratorr)�filterZmangle�rawZnatzfpcmd nf4-rules zfp-cli fp-vswitch-portsrrrz^([\d]+):[\s]+([^\s]+)�zfp-cli dpdk-cp-filter-budget N)r!r$r%r&r'r(r�
splitlines�re�match�group)rZfiles_6wind�tableZ	port_list�portZmportZ	port_namerrrr)�sP





�

�zOpenVSwitch.collect_ovs_infoc
Cs�|�|j�d��}|ddkr�|d��D]T}|�|j�d|��|j�d|��|j�d|��|j�d|��|j�d	|��g�q*d
S)z3 Gather the datapath information for each datapath z dpctl/dump-dpsrrrz dpctl/show -s z dpctl/dump-flows -m z dpctl/dump-conntrack -m z dpctl/ct-stats-show -m z dpctl/ipf-get-status N)rr&r0r%)rZdp_list_resultZdpsrrrr*�s�zOpenVSwitch.collect_datapathcCs|�|j�d��}|ddkr"dS|d��D�]�}|�|j�d|��|j�d|��|j�d|��|j�d	|��|j�d
|��|j�d|��|j�d|��|j�d
|��|j�d|��|j�d|��|j�d|��|j�d|��g�|�|�|�|�|j�rP|�	|j�d|���}|ddk�rP|d��D]}|�|j�d|����q2|j
r.|�|j�d|��|j�d|��|j�d|��|j�d|��|j�d|��g�|�|j�d|���}|ddk�r|d��dd�}|D]}|�|j�d|��g��q�|�|j�d|���}|ddkr.|d��dd�}	|	D]�}
|�|j�d|
��|j�d|
��|j�d|�d |
��|j�d!|�d |
��|j�d"|�d |
��|j�d#|�d |
��|j�d$|�d |
��|j�d%|�d |
��|j�d&|�d |
��|j�d'|�d |
��g
��q<q.dS)(z; Gather additional output for each OVS bridge on the host. z
 -t 5 list-brrrNrz# bridge/dump-flows --offload-stats z dpif/show-dp-features z
 fdb/show z fdb/stats-show z
 mdb/show � dump-flows � dump-ports-desc z dump-ports z queue-get-config z
 queue-stats � show �
 dump-groups z -t 5 list-ifaces � netdev-dpdk/get-mempool-info z evpn/vip-list-show z  bridge/dump-conntracks-summary z! bridge/acl-table ingress/egress z bridge/acl-table z ofproto/show z
 vrf/list �z vrf/route-table z evpn/list z evpn/mac-table z evpn/arp-table z evpn/dump-flows � z evpn/dhcp-pool-show z evpn/dhcp-relay-show z evpn/dhcp-static-show z evpn/dhcp-table-show z evpn/proxy-arp-filter-list z evpn/show z port/dscp-table )rrr0r%r&�ofctl�get_flow_versions�
get_port_listr�exec_cmdr!�split)rZbr_list_resultZbriZiface_list_resultZifaceZvrf_listZvrfsZvrfZ	evpn_listZevpnsZevpnrrrr+�s��

�����
����z#OpenVSwitch.collect_ovs_bridge_infocCs�gd�}ddddddd�}|�|j�d	��}|�|j�d
|���}g}|d��D]:}d|vrR||�d
�d|�d��}|�dd��d�}qR|dgk�r$|d�r$|d��}	g}
|	D]F}d|vr�|�d�}|d�d�}tt|dd�t|dd�d�}
q�|
D]}
|
|v�r|�||
��q|D]�}||v�r(|�	|j
�d|�d|��|j
�d|�d|��|j
�d|�d|��|j
�d|�d|��|j
�d|�d|��|j
�d|�d|��|j
�d|�d|��|j
�d|�d |��g��q(d!S)"z* Collect flow version of the given bridge )�
OpenFlow10�
OpenFlow11�
OpenFlow12�
OpenFlow13�
OpenFlow14�
OpenFlow15rBrCrDrErFrG)r;r/����z -t 5 --versionz -t 5 list bridge rZ	protocols�[r;�]�"�z, zOpenFlow versionszOpenFlow versions �:r�z -O r8r9z dump-group-stats r6z dump-tlv-map r7z
 dump-meters z
 meter-stats N)rrr0�find�replacerA�range�intr#r%r=)r�bridgeZ
flow_versionsZofp_versionsZofp_ver_resultZbr_infoZ	br_protos�lineZbr_protos_lnZofp_version_rangeZ	ver_rangeZver_spZverZprotocolZflowrrrr>GsT�	�
�

�zOpenVSwitch.get_flow_versionsc
Cs�|�|j�d|���}|ddkr�|d��D]d}|�|j�d|��|j�d|��|j�d|��|j�d|�d	�g�|jr.|�|j�d
|���q.dS)z' Collect port list of the given bridge z -t 5 list-ports rrrz
 cfm/show z
 qos/show z bond/show z get Interface z optionsr:N)r@rr0r%r&r)rrVZport_list_resultr5rrrr?�s��
�zOpenVSwitch.get_port_listN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesr&rr=r'rr!r,r)r*r+r>r?rrrrrs E
IArc@seZdZdZdS)�RedHatOpenVSwitch)rzopenvswitch[2-9].*zopenvswitch-dpdkznuage-openvswitch6windgate-fpN)rXrYrZ�packagesrrrrr[�sr[cs$eZdZdZdZ�fdd�Z�ZS)�DebianOpenVSwitch)zopenvswitch-switchr)zD/var/snap/openstack-hypervisor/common/etc/openvswitch/system-id.confcsf|�d�rXd|_|j�|j��|_|j�|j��|_|j�|j��|_|j�|j��|_t���dS)Nzopenstack-hypervisorzopenstack-hypervisor.)r
Zovs_cmd_prer&rr=r'�superr,r��	__class__rrr,�s
zDebianOpenVSwitch.setup)rXrYrZr\�filesr,�
__classcell__rrr_rr]�sr])�osrr1Zsos.report.pluginsrrrrrr[r]rrrr�<module>s