##
# Copyright 2015 Telefónica Investigación y Desarrollo, S.A.U.
# This file is part of openmano
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# For those usages not covered by the Apache License, Version 2.0 please
# contact with: nfvlabs@tid.es
##
---
vnf:
    name:        dataplaneVNF1
    description: "Example of a dataplane VNF consisting of a single VM for data plane workloads with high I/O performance requirements: 14 HW threads, 16 GB hugepages and 4 10G interfaces"
    external-connections:
    -   name:              mgmt
        type:              mgmt       # "mgmt"(autoconnect to management net)
        VNFC:              dataplaneVNF1-VM
        local_iface_name:  eth0
        description:       Management interface for general use
    -   name:              xe0
        type:              data
        VNFC:              dataplaneVNF1-VM
        local_iface_name:  xe0
        description:       Dataplane interface 1
    -   name:              xe1
        type:              data
        VNFC:              dataplaneVNF1-VM
        local_iface_name:  xe1
        description:       Dataplane interface 2
    -   name:              xe2
        type:              data
        VNFC:              dataplaneVNF1-VM
        local_iface_name:  xe2
        description:       Dataplane interface 3
    -   name:              xe3
        type:              data
        VNFC:              dataplaneVNF1-VM
        local_iface_name:  xe3
        description:       Dataplane interface 4
    VNFC:
    -   name:        dataplaneVNF1-VM
        description: "Dataplane VM with high I/O performance requirements: 14 HW threads, 16 GB hugepages and 4 10G interfaces"
        #Copy the image to a compute path and edit this path
        VNFC image:  /path/to/imagefolder/dataplaneVNF1.qcow2
        numas: 
        -   paired-threads: 7          # "cores", "paired-threads", "threads"
            paired-threads-id: [ [0,1], [2,3], [4,5], [6,7], [8,9], [10,11], [12, 13] ]
            memory: 16                 # GBytes
            interfaces:
            -   name:      xe0
                vpci:      "0000:00:11.0"
                dedicated: "yes"         # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag)
                bandwidth: 10 Gbps
            -   name:      xe1
                vpci:      "0000:00:12.0"
                dedicated: "yes"
                bandwidth: 10 Gbps
            -   name:      xe2
                vpci:      "0000:00:13.0"
                dedicated: "yes"
                bandwidth: 10 Gbps
            -   name:      xe3
                vpci:      "0000:00:14.0"
                dedicated: "yes"
                bandwidth: 10 Gbps
        bridge-ifaces:
        -   name:      eth0
            vpci:      "0000:00:09.0"
            bandwidth: 1 Mbps          # Optional, informative only

