NETWOKING_OVS_DPDK_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )

#dpdk settings
OVS_DPDK_GIT_REPO=${OVS_DPDK_GIT_REPO:- http://dpdk.org/git/dpdk}
OVS_DPDK_GIT_TAG=${OVS_DPDK_GIT_TAG:-v2.0.0}
OVS_DPDK_DIR=${OVS_DPDK_DIR:-$DEST/DPDK-$OVS_DPDK_GIT_TAG}
RTE_TARGET=${RTE_TARGET:-x86_64-ivshmem-linuxapp-gcc}
OVS_DPDK_MEM_SEGMENTS=${OVS_DPDK_MEM_SEGMENTS:-256}
OVS_DPDK_RTE_LIBRTE_VHOST=${OVS_DPDK_RTE_LIBRTE_VHOST:-y}
OVS_DPDK_VHOST_USER_DEBUG=${OVS_DPDK_VHOST_USER_DEBUG:-n}

#ovs settings
OVS_DIR=${OVS_DIR:-$DEST/ovs}
OVS_GIT_REPO=${OVS_GIT_REPO:-https://github.com/openvswitch/ovs.git}
OVS_GIT_TAG=${OVS_GIT_TAG:-1e77bbe565bbf5ae7f4c47f481a4097d666d3d68}
OVS_HUGEPAGE_MOUNT=${OVS_HUGEPAGE_MOUNT:-/mnt/huge}
OVS_HUGEPAGE_MOUNT_PAGESIZE=${OVS_HUGEPAGE_MOUNT_PAGESIZE:-''}
OVS_NUM_HUGEPAGES=${OVS_NUM_HUGEPAGES:-2048}
OVS_SOCKET_MEM=${OVS_SOCKET_MEM:-auto}
OVS_MEM_CHANNELS=${OVS_MEM_CHANNELS:-4}
OVS_CORE_MASK=${OVS_CORE_MASK:-2}
OVS_PMD_CORE_MASK=${OVS_PMD_CORE_MASK:-4}
OVS_DB_CONF_DIR=/usr/etc/openvswitch
OVS_DB_SOCKET_DIR=/usr/var/run/openvswitch
if is_fedora; then
   OVS_DB_CONF_DIR=/etc/openvswitch
   OVS_DB_SOCKET_DIR=/var/run/openvswitch
fi
OVS_DB_SOCKET=$OVS_DB_SOCKET_DIR/db.sock
OVS_DB_CONF=$OVS_DB_CONF_DIR/conf.db
OVS_ALLOCATE_HUGEPAGES=${OVS_ALLOCATE_HUGEPAGES:-True}
OVS_LOG_DIR=${OVS_LOG_DIR:-/tmp}
OVS_LOCK_DIR=${OVS_LOCK_DIR:-''}
OVS_INTERFACE_DRIVER=${OVS_INTERFACE_DRIVER:-'igb_uio'}

#patch settings
#do not install any patches by default.
OVS_PATCHES=${OVS_PATCHES:-''}
OVS_DPDK_PATCHES=${OVS_DPDK_PATCHES:-''}

# agent settings
Q_AGENT=${OVS_AGENT_TYPE:-ovsdpdk}

if [ "$Q_AGENT" == "ovsdpdk" ] ; then
    if [ ! -e $TOP_DIR/lib/neutron_plugins/${Q_AGENT}_agent ]; then
        ln -s $NETWOKING_OVS_DPDK_DIR/devstack/libs/agent $TOP_DIR/lib/neutron_plugins/${Q_AGENT}_agent
    fi
    if [ -e $TOP_DIR/lib/neutron ]; then
        source $TOP_DIR/lib/neutron
    elif [ -e $TOP_DIR/lib/neutron-legacy ]; then
        source $TOP_DIR/lib/neutron-legacy
    fi
    source $TOP_DIR/lib/neutron_plugins/ml2
    source $TOP_DIR/lib/neutron_plugins/${Q_AGENT}_agent
fi
