[Unit]
Description=Open vSwitch Daemon
Documentation=man:ovs-vswitchd
Wants=network.target
Before=network.target network.service
Requires=ovsdb-server.service
After=ovsdb-server.service network-pre.target systemd-udev-settle.service
ReloadPropagatedFrom=ovsdb-server.service
AssertPathIsReadWrite=/run/openvswitch/db.sock

[Service]
Type=forking
Restart=on-failure
Environment=HOME=/run/openvswitch
EnvironmentFile=-/etc/conf.d/ovs-vswitchd
ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \
          --no-ovsdb-server --no-monitor --system-id=random \
          --ovs-user=${OVS_USER_ID} start $OPTIONS
ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server stop
ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server \
          --no-monitor --system-id=random --ovs-user=${OVS_USER_ID} \
          restart $OPTIONS
TimeoutSec=300

[Install]
WantedBy=multi-user.target