##
# Copyright 2015 Telefonica Investigacion 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:        dataplaneVNF3
    description: "Example of a dataplane VNF consisting of one VM with two SR-IOV"
    # class: parent      # Optional. Used to organize VNFs
    external-connections:
    -   name:              mgmt
        type:              mgmt
        VNFC:              dataplaneVNF3-VM
        local_iface_name:  eth0
        description:       control interface VM1
    -   name:              data0
        type:              data
        VNFC:              dataplaneVNF3-VM
        local_iface_name:  xe0
        description:       Dataplane interface
    -   name:              data1
        type:              data
        VNFC:              dataplaneVNF3-VM
        local_iface_name:  xe1
        description:       Dataplane interface
    VNFC:
    -   name:        dataplaneVNF3-VM
        description: "Dataplane VM with 2 threads, 2 GB hugepages, 2 SR-IOV interface"
        #Copy the image to a compute path and edit this path
        VNFC image:  /path/to/imagefolder/dataplaneVNF3.qcow2
        disk: 10
        numas: 
        -   threads: 2         # "cores", "paired-threads", "threads"
            memory: 2                 # GBytes
            interfaces:
            -   name:      xe0
                vpci:      "0000:00:11.0"
                dedicated: "no"         # "yes"(passthrough), "no"(sriov with vlan tags), "yes:sriov"(sriovi, but exclusive and without vlan tag)
                bandwidth: 1 Gbps
            -   name:      xe1
                vpci:      "0000:00:12.0"
                dedicated: "no"
                bandwidth: 1 Gbps
        bridge-ifaces:
        -   name:      eth0
            vpci:      "0000:00:09.0"
            bandwidth: 1 Mbps          # Optional, informative only


