diff options
Diffstat (limited to 'samples/vnf_samples/vnf_descriptors')
4 files changed, 347 insertions, 0 deletions
diff --git a/samples/vnf_samples/vnf_descriptors/acl_vnf.yaml b/samples/vnf_samples/vnf_descriptors/acl_vnf.yaml new file mode 100644 index 000000000..b38e6b8ae --- /dev/null +++ b/samples/vnf_samples/vnf_descriptors/acl_vnf.yaml @@ -0,0 +1,84 @@ +# Copyright (c) 2016-2017 Intel Corporation +# +# 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:vnfd-catalog: + vnfd: + - id: AclApproxVnf + name: AclVnfSshIntel + short-name: AclVnf + description: ACL approximation using DPDK + mgmt-interface: + vdu-id: aclvnf-baremetal + {% if user is defined %} + user: '{{user}}' # Value filled by vnfdgen + {% endif %} + {% if password is defined %} + password: '{{password}}' # Value filled by vnfdgen + {% endif %} + {% if ip is defined %} + ip: '{{ip}}' # Value filled by vnfdgen + {% endif %} + {% if key_filename is defined %} + key_filename: '{{key_filename}}' # Value filled by vnfdgen + {% endif %} + connection-point: + - name: xe0 + type: VPORT + - name: xe1 + type: VPORT + vdu: + - id: aclvnf-baremetal + name: aclvnf-baremetal + description: ACL approximation using DPDK + vm-flavor: + vcpu-count: '4' + memory-mb: '4096' + external-interface: + - name: xe0 + virtual-interface: + type: PCI-PASSTHROUGH + # Substitution variables MUST be quoted. Otherwise Python can misinterpet them. + vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen + dpdk_port_num: '{{ interfaces.xe0.dpdk_port_num }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen + driver: '{{ interfaces.xe0.driver}}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen + netmask: '{{ interfaces.xe0.netmask }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen + vld_id: '{{ interfaces.xe0.vld_id }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe0 + - name: xe1 + virtual-interface: + type: PCI-PASSTHROUGH + # Substitution variables MUST be quoted. Otherwise Python can misinterpet them. + vpci: '{{ interfaces.xe1.vpci }}' # Value filled by vnfdgen + dpdk_port_num: '{{ interfaces.xe1.dpdk_port_num }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe1.local_ip }}' # Value filled by vnfdgen + driver: '{{ interfaces.xe1.driver}}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe1.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe1.local_mac }}' # Value filled by vnfdgen + netmask: '{{ interfaces.xe1.netmask }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe1.dst_mac }}' # Value filled by vnfdgen + vld_id: '{{ interfaces.xe1.vld_id }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe1 + routing_table: {{ routing_table }} + nd_route_tbl: {{ nd_route_tbl }} + benchmark: + kpi: + - packets_in + - packets_fwd + - packets_dropped diff --git a/samples/vnf_samples/vnf_descriptors/ixia_rfc2544_tpl.yaml b/samples/vnf_samples/vnf_descriptors/ixia_rfc2544_tpl.yaml new file mode 100644 index 000000000..4b520f61b --- /dev/null +++ b/samples/vnf_samples/vnf_descriptors/ixia_rfc2544_tpl.yaml @@ -0,0 +1,79 @@ +# +# Copyright 2016 Intel Corporation +# +# 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:vnfd-catalog: + vnfd: + - id: IXIATrafficGen # ISB class mapping + name: IXIAtrafficgen + short-name: ixia + description: IXIA stateless traffic verifier + mgmt-interface: + vdu-id: trexgen-baremetal + user: '{{user}}' # Value filled by vnfdgen + password: '{{password}}' # Value filled by vnfdgen + ip: '{{ip}}' # Value filled by vnfdgen + tg-config: + ixchassis: '{{tg_config.ixchassis}}' #ixia chassis ip + tcl_port: '{{tg_config.tcl_port}}' # tcl server port + lib_path: '{{tg_config.lib_path}}' + root_dir: '{{tg_config.root_dir}}' + py_lib_path: '{{tg_config.py_lib_path}}' + py_bin_path: '{{tg_config.py_bin_path}}' + dut_result_dir: '{{tg_config.dut_result_dir}}' + version: '{{tg_config.version}}' + connection-point: + - name: xe0 + type: VPORT + - name: xe1 + type: VPORT + vdu: + - id: trexgen-baremetal + name: trexgen-baremetal + description: IXIAstateless traffic verifier + external-interface: + - name: xe0 + virtual-interface: + type: PCI-PASSTHROUGH + # Substitution variables MUST be quoted. Otherwise Python can misinterpet them. + vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen + local_iface_name: '{{ interfaces.xe0.local_iface_name }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen + driver: '{{ interfaces.xe0.driver}}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe0 + - name: xe1 + virtual-interface: + type: PCI-PASSTHROUGH + vpci: '{{ interfaces.xe1.vpci }}' # Value filled by vnfdgen + local_iface_name: '{{ interfaces.xe1.local_iface_name }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe1.local_ip }}' # Value filled by vnfdgen + driver: '{{ interfaces.xe1.driver}}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe1.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe1.local_mac }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe1.dst_mac }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe1 + + benchmark: + kpi: + - rx_throughput_fps + - tx_throughput_fps + - tx_throughput_mbps + - rx_throughput_mbps + - in_packets + - out_packets diff --git a/samples/vnf_samples/vnf_descriptors/tg_ixload.yaml b/samples/vnf_samples/vnf_descriptors/tg_ixload.yaml new file mode 100644 index 000000000..b430d35bd --- /dev/null +++ b/samples/vnf_samples/vnf_descriptors/tg_ixload.yaml @@ -0,0 +1,80 @@ +# +# Copyright 2016 Intel Corporation +# +# 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:vnfd-catalog: + vnfd: + - id: IxLoadTrafficGen + name: IxLoadTrafficGenVnfSshIntel + short-name: IxLoadTrafficGenVnf + description: IxLoad client/server connection details + mgmt-interface: + user: '{{user}}' # Value filled by vnfdgen + password: '{{password}}' # Value filled by vnfdgen + ip: '{{ip}}' # Value filled by vnfdgen + tg-config: + ixchassis: '{{tg_config.ixchassis}}' #ixia chassis ip + tcl_port: '{{tg_config.tcl_port}}' # tcl server port + lib_path: '{{tg_config.lib_path}}' + root_dir: '{{tg_config.root_dir}}' + py_lib_path: '{{tg_config.py_lib_path}}' + py_bin_path: '{{tg_config.py_bin_path}}' + dut_result_dir: '{{tg_config.dut_result_dir}}' + version: '{{tg_config.version}}' + vdu: + - id: abclient-baremetal + name: abclient-baremetal + description: AB client interface details + external-interface: + - name: xe0 + virtual-interface: + type: PCI-PASSTHROUGH + vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen + local_iface_name: '{{ interfaces.xe0.local_iface_name }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen + netmask: '{{ interfaces.xe0.netmask }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe0 + - name: xe1 + virtual-interface: + type: PCI-PASSTHROUGH + vpci: '{{ interfaces.xe1.vpci }}' # Value filled by vnfdgen + local_iface_name: '{{ interfaces.xe1.local_iface_name }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe1.local_ip }}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe1.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe1.local_mac }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe1.dst_mac }}' # Value filled by vnfdgen + netmask: '{{ interfaces.xe1.netmask }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe1 + benchmark: + kpi: + - complete_requests + - failed_requests + - time_taken_for_tests [seconds] + - requests_per_second [#/sec] (mean) + - time_per_request [ms] (mean, across all concurrent requests) + - transfer_rate [Kbytes/sec] received + - requests_served_50% (ms) + - requests_served_66% (ms) + - requests_served_75% (ms) + - requests_served_80% (ms) + - requests_served_90% (ms) + - requests_served_95% (ms) + - requests_served_98% (ms) + - requests_served_99% (ms) + - requests_served_100% (ms)
\ No newline at end of file diff --git a/samples/vnf_samples/vnf_descriptors/tg_ixload_4port.yaml b/samples/vnf_samples/vnf_descriptors/tg_ixload_4port.yaml new file mode 100644 index 000000000..ffbfbdec0 --- /dev/null +++ b/samples/vnf_samples/vnf_descriptors/tg_ixload_4port.yaml @@ -0,0 +1,104 @@ +# +# Copyright 2016 Intel Corporation +# +# 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:vnfd-catalog: + vnfd: + - id: IxLoadTrafficGen + name: IxLoadTrafficGenVnfSshIntel + short-name: IxLoadTrafficGenVnf + description: IxLoad client/server connection details + mgmt-interface: + user: '{{user}}' # Value filled by vnfdgen + password: '{{password}}' # Value filled by vnfdgen + ip: '{{ip}}' # Value filled by vnfdgen + tg-config: + ixchassis: '{{tg_config.ixchassis}}' #ixia chassis ip + tcl_port: '{{tg_config.tcl_port}}' # tcl server port + lib_path: '{{tg_config.lib_path}}' + root_dir: '{{tg_config.root_dir}}' + py_lib_path: '{{tg_config.py_lib_path}}' + dut_result_dir: '{{tg_config.dut_result_dir}}' + version: '{{tg_config.version}}' + vdu: + - id: abclient-baremetal + name: abclient-baremetal + description: AB client interface details + external-interface: + - name: xe0 + virtual-interface: + type: PCI-PASSTHROUGH + vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen + local_iface_name: '{{ interfaces.xe0.local_iface_name }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen + netmask: '{{ interfaces.xe0.netmask }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe0 + - name: xe1 + virtual-interface: + type: PCI-PASSTHROUGH + vpci: '{{ interfaces.xe1.vpci }}' # Value filled by vnfdgen + local_iface_name: '{{ interfaces.xe1.local_iface_name }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe1.local_ip }}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe1.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe1.local_mac }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe1.dst_mac }}' # Value filled by vnfdgen + netmask: '{{ interfaces.xe1.netmask }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe1 + - name: xe2 + virtual-interface: + type: PCI-PASSTHROUGH + vpci: '{{ interfaces.xe2.vpci }}' # Value filled by vnfdgen + local_iface_name: '{{ interfaces.xe2.local_iface_name }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe2.local_ip }}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe2.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe2.local_mac }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe2.dst_mac }}' # Value filled by vnfdgen + netmask: '{{ interfaces.xe2.netmask }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe2 + - name: xe3 + virtual-interface: + type: PCI-PASSTHROUGH + vpci: '{{ interfaces.xe3.vpci }}' # Value filled by vnfdgen + local_iface_name: '{{ interfaces.xe3.local_iface_name }}' # Value filled by vnfdgen + local_ip: '{{ interfaces.xe3.local_ip }}' # Value filled by vnfdgen + dst_ip: '{{ interfaces.xe3.dst_ip }}' # Value filled by vnfdgen + local_mac: '{{ interfaces.xe3.local_mac }}' # Value filled by vnfdgen + dst_mac: '{{ interfaces.xe3.dst_mac }}' # Value filled by vnfdgen + netmask: '{{ interfaces.xe3.netmask }}' # Value filled by vnfdgen + bandwidth: 10 Gbps + vnfd-connection-point-ref: xe3 + + benchmark: + kpi: + - complete_requests + - failed_requests + - time_taken_for_tests [seconds] + - requests_per_second [#/sec] (mean) + - time_per_request [ms] (mean, across all concurrent requests) + - transfer_rate [Kbytes/sec] received + - requests_served_50% (ms) + - requests_served_66% (ms) + - requests_served_75% (ms) + - requests_served_80% (ms) + - requests_served_90% (ms) + - requests_served_95% (ms) + - requests_served_98% (ms) + - requests_served_99% (ms) + - requests_served_100% (ms) |