#  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"
