Ë
    i©¹deA  ã                   óx   — d dl mZmZmZmZ d dlmZ d dlZ G d„ de«      Z G d„ dee«      Z	 G d„ d	eee«      Z
y)
é    )ÚPluginÚRedHatPluginÚDebianPluginÚUbuntuPlugin)ÚenvironNc                   ó   — e Zd ZdZdZdZd„ Zy)ÚOpenVSwitchzOpenVSwitch networkingÚopenvswitch)ÚnetworkÚvirtc                 ót  — | j                  d«      }ddg}| j                  d«      }|d   dk(  xr |d   j                  d«      }t        d	D �cg c]  }| j	                  |«      ‘Œ c}«      }d
}g d¢}t        j                  d«      r$|j                  t        j                  d«      «       |s0| j                  |D �	cg c]  }	| j                  |	d«      ‘Œ c}	«       n| j                  |«       | j                  g d¢«       | j                  | j                  dd«      | j                  dd«      | j                  dd«      g«       t        j                  d«      }
|
r!| j                  | j                  |
d«      «       | j                  dddœ«       | j                  g d¢«       | j                  dd¬«       | j                  dd¬«       | j                  d¬«       | j                  d¬«       | j                  d ¬«       | j                  d!¬«       | j                  d"¬«       | j                  d#¬«       |rÂ| j                  |«       | j                  g d$¢«       | j                  d%¬«       d&D ]  }| j                  d'|z  g«       Œ | j                  d(«      }|d   dk(  rW|d   j                  «       D ]A  }t        j                  d)|«      }|sŒ|j!                  d*«      }| j                  d+|z  g«       ŒC | j                  d,«      }|d   dk(  rG|d   j                  «       D ]1  }| j                  |›d-|›�|›d.|›�|›d/|›�|›d0|›�|›d1|›�g«       Œ3 | j                  d2«      }| j                  d3«      }|d   dk(  �r©|d   j                  «       D �]‘  }| j                  |›d4|›�|›d5|›�|›d6|›�|›d7|›�|›d8|›�d9|z  d:|z  d;|z  d<|z  d=|z  d>|z  d?|z  g«       g d@¢}dAdBdCdDdEdFdGœ}dH|z  }| j                  |«      }g }|d   j                  «       D ]N  }dI|v sŒ||j#                  dJ«      dKz   |j#                  dL«       }|j%                  dMdN«      j'                  dO«      }ŒP |dNgk(  r’|d   r�|d   j                  «       }g }|D ]S  }dP|v sŒ|j'                  dQ«      dK   j'                  dR«      }t)        t+        |d   dS«      t+        |dK   dS«      dKz   «      }ŒU |D ]  }||v sŒ|j                  ||   «       Œ |D ]B  } | |v sŒ| j                  dT| ›dU|›�dT| ›dV|›�dT| ›dW|›�dT| ›dX|›�dT| ›dY|›�dT| ›dZ|›�g«       ŒD | j-                  d[|z  «      }!|!d   dk(  rP|!d   j                  «       D ]:  }| j                  d\|z  d]|z  d^|z  d_|z  g«       |sŒ'| j                  d`|z  «       Œ< |rH| j-                  da|z  «      }"|"d   dk(  r,|"d   j                  «       D ]  }#| j                  d`|#z  «       Œ |s�Œq| j                  |›db|›�|›dc|›�|›dd|›�|›de|›�|›df|›�g«       | j                  |›dg|›�«      }$|$d   dk(  r4|$d   j'                  «       dKd  }%|%D ]  }&| j                  |›dh|&›�g«       Œ | j                  di|z  «      }'|'d   dk(  s�Œ|'d   j'                  «       dKd  }(|(D ]g  })| j                  |›dj|)›�|›dk|)›�|›dl|›dm|)›�|›dn|›dm|)›�|›do|›dm|)›�|›dp|›dm|)›�|›dq|›dm|)›�|›dr|›dm|)›�|›ds|›dm|)›�|›dt|›dm|)›�g
«       Œi �Œ” y y c c}w c c}	w )uNÚall_logsz/var/log/openvswitch/z/usr/local/var/log/openvswitch/z8ovs-vsctl -t 5 get Open_vSwitch . other_config:dpdk-initÚstatusr   Úoutputz"true")z6windgate-fpúnuage-openvswitchz
ovs-appctl)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.envÚ
OVS_LOGDIRz*.log)z!/run/openvswitch/ovsdb-server.pidz!/run/openvswitch/ovs-vswitchd.pidz&/run/openvswitch/ovs-monitor-ipsec.pidz/usr/local/etc/openvswitchzconf.dbz/etc/openvswitchz/var/lib/openvswitchÚ	OVS_DBDIRÚopenvswitch_daemon_logÚopenvswitch_server_log)z%/var/log/openvswitch/ovs-vswitchd.logz%/var/log/openvswitch/ovsdb-server.log)!zls -laZ /run/openvswitchzls -laZ /dev/hugepages/zls -laZ /dev/vfiozls -laZ /var/lib/vhost_socketszdpdk_nic_bind --statuszdpdk-devbind.py --statuszdriverctl list-deviceszdriverctl list-overrideszovs-appctl bond/listzovs-appctl bond/showzovs-appctl lacp/showzovs-appctl lacp/show-statszovs-appctl coverage/showzovs-appctl ovs/route/showzovs-appctl tnl/arp/showzovs-appctl tnl/ports/show -vúovs-appctl upcall/showz ovs-vsctl -t 5 list Open_vSwitchzovs-vsctl -t 5 list interfacezovs-vsctl -t 5 list bridgezovs-vsctl -t 5 list datapathz#ovs-appctl dpif-netdev/pmd-rxq-showz%ovs-appctl dpif-netdev/pmd-stats-showz$ovs-appctl dpif-netdev/pmd-perf-showzovs-appctl ofproto/list-tunnelsz,ovs-appctl -t ovs-monitor-ipsec tunnels/showz*ovs-appctl -t ovs-monitor-ipsec xfrm/statez-ovs-appctl -t ovs-monitor-ipsec xfrm/policiesz-ovs-dpctl dump-flows --name -m type=offloadedz'ovs-dpctl dump-flows --name -m type=ovsz/ovs-appctl dpif-netdev/subtable-lookup-prio-getz$ovs-appctl dpif-netdev/dpif-impl-getz*ovs-appctl dpif-netdev/miniflow-parser-getz.ovs-vsctl -t 5 get Open_vSwitch . other_configÚopenvswitch_other_config)Útagszovs-vsctl -t 5 showÚovs_vsctl_showr
   )Úunitszopenvswitch-nonetworkzovs-vswitchdzovsdb-serverzovs-configurationzopenvswitch-ipsec)zfp-cli fp-vswitch-statszfp-cli dpdk-core-port-mappingzfp-cpu-usagezfp-cli fp-vswitch-maskszfp-cli fp-vswitch-flowszfp-shmem-dpvizfp-cli stats non-zerozfp-cli statszfp-cli dpdk-cp-filter-budgetz ovs-appctl vm/port-detailed-showr   zfp-cli nfct4z ovs-appctl vm/port-vip-list-showzfp-shmem-ports -szovs-dpctl show -szfpcmd fp-vswitch-flowszfp-cli fp-vswitch-ports percorezfp-cli dpdk-debug-poolzfp-cli dump-sizezfp-cli conf runtimezfp-cli conf compiledzfp-cli ifacezovs-appctl memory/showzvirtual-accelerator)ÚfilterÚmangleÚrawÚnatzfpcmd nf4-rules %szfp-cli fp-vswitch-portsz^([\d]+):[\s]+([^\s]+)é   zfp-cli dpdk-cp-filter-budget %szovs-appctl dpctl/dump-dpsz dpctl/show -s z dpctl/dump-flows -m z dpctl/dump-conntrack -m z dpctl/ct-stats-show -m z dpctl/ipf-get-status zovs-vsctl -t 5 list-brzovs-ofctl -t 5 --versionz# bridge/dump-flows --offload-stats z dpif/show-dp-features z
 fdb/show z fdb/stats-show z
 mdb/show zovs-ofctl dump-flows %szovs-ofctl dump-ports-desc %szovs-ofctl dump-ports %szovs-ofctl queue-get-config %szovs-ofctl queue-stats %szovs-ofctl show %szovs-ofctl dump-groups %s)Ú
OpenFlow10Ú
OpenFlow11Ú
OpenFlow12Ú
OpenFlow13Ú
OpenFlow14Ú
OpenFlow15r    r!   r"   r#   r$   r%   )é   r   é   é   é   é   zovs-vsctl -t 5 list bridge %sÚ	protocolsú[r&   ú]ú"Ú z, zOpenFlow versionszOpenFlow versions ú:é   zovs-ofctl -O z show z dump-groups z dump-group-stats z dump-flows z dump-tlv-map z dump-ports-desc zovs-vsctl -t 5 list-ports %szovs-appctl cfm/show %szovs-appctl qos/show %szovs-appctl bond/show %sz"ovs-vsctl get Interface %s optionsz*ovs-appctl netdev-dpdk/get-mempool-info %szovs-vsctl -t 5 list-ifaces %sz 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ovs-appctl evpn/list %sz 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 )Ú
get_optionÚcollect_cmd_outputÚ
startswithÚanyÚis_installedr   ÚgetÚappendÚadd_copy_specÚ	path_joinÚadd_file_tagsÚadd_cmd_outputÚadd_journalÚ
splitlinesÚreÚmatchÚgroupÚfindÚreplaceÚsplitÚrangeÚintÚexec_cmd)*Úselfr   Úlog_dirsÚdpdk_enabledÚ
check_dpdkÚpÚcheck_6windÚactlÚfiles_6windÚldÚ	ovs_dbdirÚtableÚ	port_listÚportÚmÚ	port_nameÚdp_list_resultÚdpÚbr_list_resultÚofp_ver_resultÚbrÚflow_versionsÚofp_versionsÚovs_list_bridge_cmdÚbr_infoÚ	br_protosÚlineÚbr_protos_lnÚofp_version_rangeÚ	ver_rangeÚvÚprotocolÚflowÚport_list_resultÚiface_list_resultÚifaceÚvrf_listÚvrfsÚvrfÚ	evpn_listÚevpnsÚevpns*                                             ú@/usr/lib/python3/dist-packages/sos/report/plugins/openvswitch.pyÚsetupzOpenVSwitch.setup   s¥  € à—?‘? :Ó.ˆð $Ø-ð
ˆð
 ×.Ñ.ØFóHˆà" 8Ñ,°Ñ1ò BØ" 8Ñ,×7Ñ7¸ÓAð 	äØ@öB°A˜4×,Ñ,¨QÕ/ò Bó Cˆàˆò
ˆô, �;‰;�|Ô$Ø�O‰OœGŸK™K¨Ó5Ô6áØ×ÑØ6>ö Ø02�—‘˜r 7Õ+ò õ ð ×Ñ˜xÔ(à×Ñò 
ô 	ð 	×ÑØ�N‰NÐ7¸ÓCØ�N‰NÐ-¨yÓ9Ø�N‰NÐ1°9Ó=ð
ô 	ô
 —K‘K Ó,ˆ	ÙØ×Ñ˜tŸ~™~¨i¸ÓCÔDà×Ñà(à(ñ	
ô 	ð 	×Ñò :
ô :	ðx 	×ÑÐLØ!;ð 	ô 	=ð 	×ÑÐ1Ø!1ð 	ô 	3ð 	×Ñ˜}ÐÔ-Ø×ÑÐ6ÐÔ7Ø×Ñ˜~ÐÔ.Ø×Ñ˜~ÐÔ.Ø×ÑÐ2ÐÔ3Ø×ÑÐ2ÐÔ3áØ×Ñ˜{Ô+Ø×Ñò !ô ð4 ×ÑÐ#8ÐÔ9Ø;ò D�Ø×#Ñ#Ð%9¸EÑ%AÐ$BÕCðDð
 ×/Ñ/Ð0IÓJˆIØ˜Ñ" aÒ'Ø% hÑ/×:Ñ:Ó<ò �DÜŸ™Ð!:¸DÓA�AÚØ$%§G¡G¨A£J˜	Ø×+Ñ+Ø=À	ÑIð-õ ð	ð ×0Ñ0Ð1LÓMˆØ˜(Ñ# qÒ(Ø$ XÑ.×9Ñ9Ó;ò �Ø×#Ñ#Ú-1±2Ð6Ú37¹Ð<Ú7;¹RÐ@Ú6:¹BÐ?Ú48¹"Ð=ð%õ ðð ×0Ñ0Ð1IÓJˆØ×0Ñ0Ð1KÓLˆØ˜(Ñ# qÓ(Ø$ XÑ.×9Ñ9Ó;ó N�Ø×#Ñ#ÚAEÁrÐJÚ59¹2Ð>Ú(,©bÐ1Ú.2±BÐ7Ú(,©bÐ1Ø-°Ñ2Ø2°RÑ7Ø-°Ñ2Ø3°bÑ8Ø.°Ñ3Ø'¨"Ñ,Ø.°Ñ3ð%ô ò !�ð 'Ø&Ø&Ø&Ø&Ø&ñ �ð 'FÈÑ&JÐ#Ø×1Ñ1Ð2EÓF�à�	Ø# HÑ-×8Ñ8Ó:ò N�DØ" dÒ*Ø'+¨D¯I©I°c«N¸1Ñ,<¸T¿Y¹YÀs»^Ð'L˜Ø$0×$8Ñ$8¸¸bÓ$A×$GÑ$GÈÓ$M™	ðNð   Ò$¨¸Ò)AØ(6°xÑ(@×(KÑ(KÓ(MÐ%Ø "�Ià 1ò N˜Ø.°$Ò6Ø $§
¡
Ð+?Ó @ÀÑ C× IÑ IÈ#Ó N˜AÜ(-¬c°!°A±$¸«m¼SÀÀ1ÁÀr»]È1¹_Ó(M™IðNð
 %.ò E˜Ø# |Ò3Ø%×,Ñ,¨\¸(Ñ-CÕDðEð
 *ò 	�DØ˜yÒ(Ø×+Ò+Ú9=¹rÑBÚ@DÁbÑIÚEIÉ2ÑNÚ?CÁRÑHÚAEÁrÑJÚDHÉ"ÐMð-õ ð	ð $(§=¡=Ø2°RÑ7ó$Ð ð $ HÑ-°Ò2Ø 0°Ñ :× EÑ EÓ Gò ˜Ø×+Ñ+Ø4°tÑ;Ø4°tÑ;ð 6¸Ñ<à@À4ÑGð-ô ò &Ø ×/Ñ/Ø LØ $ñ!%õðñ" Ø(,¯©Ø7¸"Ñ<ó)Ð%ð )¨Ñ2°aÒ7Ø%6°xÑ%@×%KÑ%KÓ%Mò '˜EØ ×/Ñ/Ø LØ %ñ!&õ'ð'ó Ø×'Ñ'Ú6:¹BÐ?ÚBFÉÐKÚCGÉÐLÚ48¹"Ð=Ú04±bÐ9ð)ô ð  $×6Ñ6Ú,0±"Ð5ó 7�Hà Ñ)¨QÒ.Ø'¨Ñ1×7Ñ7Ó9¸!¸"Ð=˜Ø#'ò ˜CØ ×/Ñ/Ú;?ÁÐ Eð1õ ðð
 !%× 7Ñ 7Ø1°BÑ6ó!8�Ià  Ñ*¨aÔ/Ø )¨(Ñ 3× 9Ñ 9Ó ;¸A¸BÐ ?˜Ø$)ò ˜DØ ×/Ñ/Ú:>ÁÐ EÚ:>ÁÐ EÚ>BÂBÉÐ Mâ$(ª"©dð!4ò %)ª"©dð!4ò %)ª"©dð!4ò %)ª"©dð!4ò %)ª"©dð!4â8<ºbÁ$Ð GÚ>BÂBÉÐ Mð1õ òñ{Nð )ùòABùò< s   Á\0Â=\5N)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesrs   © ó    rr   r	   r	      s   „ à)€JØ€KØ"€Hó\r{   r	   c                   ó   — e Zd ZdZy)ÚRedHatOpenVSwitch)r
   zopenvswitch[2-9].*zopenvswitch-dpdkznuage-openvswitch6windgate-fpN©rt   ru   rv   Úpackagesrz   r{   rr   r}   r}   w  s	   „ ð �Hr{   r}   c                   ó   — e Zd ZdZy)ÚDebianOpenVSwitch)zopenvswitch-switchr   Nr~   rz   r{   rr   r�   r�   ~  s   „ à:�Hr{   r�   )Úsos.report.pluginsr   r   r   r   Úosr   r@   r	   r}   r�   rz   r{   rr   ú<module>r„      sA   ð÷ PÓ Oå ã 	ôb�&ô bôJ ˜ \ô  ô;˜ \°<õ ;r{   