3
Ü““iÞE ã @ sf d dl mZ d dlZd dlmZmZmZmZ G dd„ deƒZG dd„ deeƒZ G dd „ d eeeƒZ
dS )
é )ÚenvironN)ÚPluginÚRedHatPluginÚDebianPluginÚUbuntuPluginc @ s` e Zd ZdZdZdZdZdZdZdZ d Z
d Zd
d„ Zdd
„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚOpenVSwitchzOpenVSwitch networkingÚopenvswitchÚnetworkÚvirtz
ovs-appctlz ovs-vsctlz ovs-ofctlz ovs-dpctlFc * s ˆ j dƒ}ddg}ˆ jˆ j› dƒ}|d dko<|d jdƒˆ _t‡ fd d
„dSD ƒƒˆ _tjd
ƒrr|j tjd
ƒƒ |sˆ j
‡ fdd„|D ƒƒ n
ˆ j
|ƒ ˆ j
dddgƒ ˆ j
ˆ jddƒˆ jddƒˆ jddƒgƒ tjdƒ}|ròˆ j
ˆ j|dƒƒ ˆ jdddœƒ ˆ j
ddddgƒ ˆ jdd d!d"d#d$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@ˆ j› dAˆ j› dBˆ j› dCˆ j› dDˆ j› dEˆ j› dFg(ƒ ˆ jˆ j› dGdHdI ˆ jˆ j› dJdKdI ˆ jdLdM ˆ jdNdM ˆ jdOdM ˆ jdPdM ˆ jdQdM ˆ jdRdM ˆ jƒ ˆ jƒ ˆ jƒ d S )TNÚall_logsz/var/log/openvswitch/z/usr/local/var/log/openvswitch/z/ -t 5 get Open_vSwitch . other_config:dpdk-initÚstatusr Úoutputz"true"c 3 s | ]}ˆ j |ƒV qd S )N)Úis_installed)Ú.0Úp)Úself© ú!/usr/lib/python3.6/openvswitch.pyú ) s z$OpenVSwitch.setup..ú6windgate-fpúnuage-openvswitchZ
OVS_LOGDIRc s g | ]}ˆ j |d ƒ‘qS )z*.log)Ú path_join)r Zld)r r r ú
1 s z%OpenVSwitch.setup..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.logz/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 -vz 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)Ztagsz
-t 5 showZovs_vsctl_showr )Úunitszopenvswitch-nonetworkzovs-vswitchdzovsdb-serverzovs-configurationzopenvswitch-ipsec)r r )Z
get_optionÚcollect_cmd_outputÚvctlÚ
startswithÚ
check_dpdkÚanyÚcheck_6windr ÚgetÚappendÚ
add_copy_specr Z
add_file_tagsZadd_dir_listingÚadd_cmd_outputÚactlÚdpctlÚadd_journalÚcollect_ovs_infoÚcollect_datapathÚcollect_ovs_bridge_info)r r Zlog_dirsZdpdk_enabledZ ovs_dbdirr )r r Úsetup s²
zOpenVSwitch.setupc C s& ddddddddd d
ddd
ddddddg}| j r"| j|ƒ | jddddddddd| j› d| j› dd| j› d d!| j› d"d#d$d%d&d'd(d)| j› d*gƒ | jd+d, xd:D ]}| jd1|› gƒ q®W | jd2ƒ}|d3 d4kr"x@|d5 jƒ D ]0}tj d6|ƒ}|rî|j
d7ƒ}| jd8|› gƒ qîW d9S );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-mappingzfp-cpu-usagezfp-cli fp-vswitch-maskszfp-cli fp-vswitch-flowsz
fp-shmem-dpvizfp-cli stats non-zerozfp-cli statszfp-cli dpdk-cp-filter-budgetz vm/port-detailed-showz upcall/showzfp-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 compiledzfp-cli ifacez memory/showzvirtual-accelerator)r ÚfilterÚmangleÚrawÚnatzfpcmd nf4-rules zfp-cli fp-vswitch-portsr r r
z^([\d]+):[\s]+([^\s]+)é zfp-cli dpdk-cp-filter-budget N)r+ r, r- r. )r r" r# r$ r% r&