PROX VNF and TG
[yardstick.git] / samples / vnf_samples / vnf_descriptors / prox_vnf-4.yaml
1 # Copyright (c) 2017 Intel Corporation
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 vnfd:vnfd-catalog:
16     vnfd:
17     -   id: ProxApproxVnf
18         name: ProxVnf
19         short-name: ProxVnf
20         description: PROX approximation using DPDK
21         mgmt-interface:
22             vdu-id: prox-baremetal
23             {% if user is defined %}
24             user: '{{user}}'  # Value filled by vnfdgen
25             {% endif %}
26             {% if password is defined %}
27             password: '{{password}}'  # Value filled by vnfdgen
28             {% endif %}
29             {% if ip is defined %}
30             ip: '{{ip}}'  # Value filled by vnfdgen
31             {% endif %}
32             {% if key_filename is defined %}
33             key_filename: '{{key_filename}}'  # Value filled by vnfdgen
34             {% endif %}
35         connection-point:
36         -   name: xe0
37             type: VPORT
38         -   name: xe1
39             type: VPORT
40         vdu:
41         -   id: proxvnf-baremetal
42             name: proxvnf-baremetal
43             description: PROX approximation using DPDK
44             vm-flavor:
45                 vcpu-count: '4'
46                 memory-mb: '4096'
47             external-interface:
48             -   name: xe0
49                 virtual-interface:
50                     type: PCI-PASSTHROUGH
51                     # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
52                     vpci: '{{ interfaces.xe0.vpci }}' # Value filled by vnfdgen
53                     dpdk_port_num:   '{{ interfaces.xe0.dpdk_port_num }}' # Value filled by vnfdgen
54                     local_ip: '{{ interfaces.xe0.local_ip }}' # Value filled by vnfdgen
55                     driver: '{{ interfaces.xe0.driver}}' # Value filled by vnfdgen
56                     dst_ip: '{{ interfaces.xe0.dst_ip }}' # Value filled by vnfdgen
57                     local_mac: '{{ interfaces.xe0.local_mac }}' # Value filled by vnfdgen
58                     netmask: '{{ interfaces.xe0.netmask }}' # Value filled by vnfdgen
59                     dst_mac: '{{ interfaces.xe0.dst_mac }}' # Value filled by vnfdgen
60                     vld_id:  '{{ interfaces.xe0.vld_id }}' # Value filled by vnfdgen
61                     bandwidth: 10 Gbps
62                 vnfd-connection-point-ref: xe0
63             -   name: xe1
64                 virtual-interface:
65                     type: PCI-PASSTHROUGH
66                     # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
67                     vpci: '{{ interfaces.xe1.vpci }}' # Value filled by vnfdgen
68                     dpdk_port_num:   '{{ interfaces.xe1.dpdk_port_num }}' # Value filled by vnfdgen
69                     local_ip: '{{ interfaces.xe1.local_ip }}' # Value filled by vnfdgen
70                     driver: '{{ interfaces.xe1.driver}}' # Value filled by vnfdgen
71                     dst_ip: '{{ interfaces.xe1.dst_ip }}' # Value filled by vnfdgen
72                     local_mac: '{{ interfaces.xe1.local_mac }}' # Value filled by vnfdgen
73                     netmask: '{{ interfaces.xe1.netmask }}' # Value filled by vnfdgen
74                     dst_mac: '{{ interfaces.xe1.dst_mac }}' # Value filled by vnfdgen
75                     vld_id:  '{{ interfaces.xe1.vld_id }}' # Value filled by vnfdgen
76                     bandwidth: 10 Gbps
77                 vnfd-connection-point-ref: xe1
78             -   name: xe2
79                 virtual-interface:
80                     type: PCI-PASSTHROUGH
81                     # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
82                     vpci: '{{ interfaces.xe2.vpci }}' # Value filled by vnfdgen
83                     dpdk_port_num:   '{{ interfaces.xe2.dpdk_port_num }}' # Value filled by vnfdgen
84                     local_ip: '{{ interfaces.xe2.local_ip }}' # Value filled by vnfdgen
85                     driver: '{{ interfaces.xe2.driver}}' # Value filled by vnfdgen
86                     dst_ip: '{{ interfaces.xe2.dst_ip }}' # Value filled by vnfdgen
87                     local_mac: '{{ interfaces.xe2.local_mac }}' # Value filled by vnfdgen
88                     netmask: '{{ interfaces.xe2.netmask }}' # Value filled by vnfdgen
89                     dst_mac: '{{ interfaces.xe2.dst_mac }}' # Value filled by vnfdgen
90                     vld_id:  '{{ interfaces.xe2.vld_id }}' # Value filled by vnfdgen
91                     bandwidth: 10 Gbps
92                 vnfd-connection-point-ref: xe2
93             -   name: xe3
94                 virtual-interface:
95                     type: PCI-PASSTHROUGH
96                     # Substitution variables MUST be quoted. Otherwise Python can misinterpet them.
97                     vpci: '{{ interfaces.xe3.vpci }}' # Value filled by vnfdgen
98                     dpdk_port_num:   '{{ interfaces.xe3.dpdk_port_num }}' # Value filled by vnfdgen
99                     local_ip: '{{ interfaces.xe3.local_ip }}' # Value filled by vnfdgen
100                     driver: '{{ interfaces.xe3.driver}}' # Value filled by vnfdgen
101                     dst_ip: '{{ interfaces.xe3.dst_ip }}' # Value filled by vnfdgen
102                     local_mac: '{{ interfaces.xe3.local_mac }}' # Value filled by vnfdgen
103                     netmask: '{{ interfaces.xe3.netmask }}' # Value filled by vnfdgen
104                     dst_mac: '{{ interfaces.xe3.dst_mac }}' # Value filled by vnfdgen
105                     vld_id:  '{{ interfaces.xe3.vld_id }}' # Value filled by vnfdgen
106                     bandwidth: 10 Gbps
107                 vnfd-connection-point-ref: xe3
108             routing_table: {{ routing_table }}
109             nd_route_tbl: {{ nd_route_tbl }}
110         benchmark:
111             kpi:
112                 - packets_in
113                 - packets_fwd
114                 - packets_dropped