#  Copyright 2020 Whitestack LLC
#
#  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.

vnfd-catalog:
  vnfd:
    - connection-point:
        - name: eth0
          type: VPORT
        - name: xe0
          type: VPORT
        - name: xe1
          type: VPORT
        - name: xe2
          type: VPORT
        - name: xe3
          type: VPORT
        - name: xe4
          type: VPORT
        - name: xe5
          type: VPORT
        - name: xe6
          type: VPORT
        - name: xe7
          type: VPORT
      description: vBNG VNF for performance tests, with 34 HTs
      id: vbng34
      logo: intel.png
      mgmt-interface:
        cp: eth0
      name: vbng34
      service-function-chain: UNAWARE
      short-name: vbng34
      vdu:
        - count: "1"
          description: vbng34-VM
          guest-epa:
            cpu-pinning-policy: DEDICATED
            cpu-thread-pinning-policy: PREFER
            mempage-size: LARGE
            numa-node-policy:
              mem-policy: STRICT
              node:
                - id: "0"
                  paired-threads:
                    num-paired-threads: "17"
              node-cnt: "1"
          host-epa:
            om-cpu-feature:
              - feature: 64b
              - feature: iommu
              - feature: lps
              - feature: tlbps
              - feature: hwsv
              - feature: dioc
              - feature: ht
            om-cpu-model-string: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz
          hypervisor-epa:
            type: REQUIRE_KVM
            version: 10002|12001|2.6.32-358.el6.x86_64
          id: vbng34-VM
          image: intel_vbng34
          interface:
            - external-connection-point-ref: eth0
              name: eth0
              position: "1"
              type: EXTERNAL
              virtual-interface:
                bandwidth: "1000000"
                type: PARAVIRT
                vpci: 0000:00:0a.0
            - external-connection-point-ref: xe0
              name: xe0
              position: "2"
              type: EXTERNAL
              virtual-interface:
                bandwidth: "10000000000"
                type: PCI-PASSTHROUGH
                vpci: "0000:00:10.0"
            - external-connection-point-ref: xe1
              name: xe1
              position: "3"
              type: EXTERNAL
              virtual-interface:
                bandwidth: "10000000000"
                type: PCI-PASSTHROUGH
                vpci: "0000:00:11.0"
            - external-connection-point-ref: xe2
              name: xe2
              position: "4"
              type: EXTERNAL
              virtual-interface:
                bandwidth: "10000000000"
                type: PCI-PASSTHROUGH
                vpci: "0000:00:12.0"
            - external-connection-point-ref: xe3
              name: xe3
              position: "5"
              type: EXTERNAL
              virtual-interface:
                bandwidth: "10000000000"
                type: PCI-PASSTHROUGH
                vpci: "0000:00:13.0"
            - external-connection-point-ref: xe4
              name: xe4
              position: "6"
              type: EXTERNAL
              virtual-interface:
                bandwidth: "10000000000"
                type: PCI-PASSTHROUGH
                vpci: "0000:00:14.0"
            - external-connection-point-ref: xe5
              name: xe5
              position: "7"
              type: EXTERNAL
              virtual-interface:
                bandwidth: "10000000000"
                type: PCI-PASSTHROUGH
                vpci: "0000:00:15.0"
            - external-connection-point-ref: xe6
              name: xe6
              position: "8"
              type: EXTERNAL
              virtual-interface:
                bandwidth: "10000000000"
                type: PCI-PASSTHROUGH
                vpci: "0000:00:16.0"
            - external-connection-point-ref: xe7
              name: xe7
              position: "9"
              type: EXTERNAL
              virtual-interface:
                bandwidth: "10000000000"
                type: PCI-PASSTHROUGH
                vpci: "0000:00:17.0"
          name: vbng34-VM
          supplemental-boot-data:
            boot-data-drive: "false"
          vm-flavor:
            memory-mb: "32768"
            storage-gb: "15"
      vendor: Intel
      version: "1.0"
