Merge "heat: minor fixes, don't use len > 0 and use next instead of [0]"
[yardstick.git] / samples / vnf_samples / traffic_profiles / example.yaml
1 # Copyright (c) 2016-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 schema: "nsb:traffic_profile:0.1"
16
17 # This file is a template, it will be filled with values from tc.yaml before passing to the traffic generator
18
19 name:            rfc2544
20 description:     Traffic profile to run RFC2544 latency
21 traffic_profile:
22   traffic_type : rfc2544 # defines traffic behavior - constant or look for highest possible throughput
23   frame_rate : 100  # pc of linerate
24   flow_number: {{ flow.number }}  #This decides how many frames should be generated. Each frame should have a random of the field
25   # that specifies a range (e.g. ipv4 address, port)
26
27 private:
28         - ipv4_1:
29           outer_l2:
30                 framesize:
31                                 64B: {{ get(imix_small, 12) }}
32                                 128B: {{get(imix_128B, 12) }}
33                                 256B: {{get(imix_256B, 12) }}
34                                 373b: {{ get(imix_373B, 12) }}
35                                 570B: {{get(imix_570B, 12) }}
36                                 1400B: {{get(imix_1400B, 12) }}
37                                 1518b: {{get(imix_1500B, 12) }}
38                 srcmac: {{src_mac}} # xe0.local_mac
39                 dstmac: {{dst_mac}} # xe0.dst_mac
40                 QinQ:
41                         S-VLAN:
42                                 id: {{ get(flow.s_vlan_range, "0") }}
43                                 priority: 0
44                                 cfi: 0
45                         C-VLAN:
46                                 id: {{ get(flow.c_vlan_range, "0") }}
47                                 priority: 0
48                                 cfi: 0
49                 mpls:
50                         label: {{ get(flow.mpls_label, "0") }}
51
52                 outer_l3v4:
53                         proto: {{ get(flow.outer_proto, "udp") }},
54                         srcip4: {{ get(flow.outer_srcip4, "1.1.1.1") }}
55                         dstip4: {{ get(flow.outer_dstip4, "90.90.90.90") }}
56                         ttl: 32
57                         dscp:  {{ get(flow.tos, 0) }}
58
59                 outer_l4:
60                         srcport: {{ get(flow.outer_srcport, "3002") }}
61                         dstport: {{ get(flow.outer_dstport, "3001") }}
62                         vni: {{ get(flow.vxlan_vni, "2345") }} #optional
63                         inner_l2: #optional
64                         srcmac: {{ get(flow.inner_srcmac, "00:00:00:00:00:00") }}
65                         dstmac: {{ get(flow.inner_dstmac, "00:00:00:00:00:00") }}
66
67                 inner_l3v4: #optional
68                         proto: {{ get(flow.inner_proto, "udp") }},
69                         srcip4: {{ get(flow.inner_srcip4, "1.1.1.1") }}
70                         dstip4: {{ get(flow.inner_dstip4, "90.90.90.90") }}
71                         ttl: 32
72                         dscp:  {{ get(flow.inner_tos, 0) }}
73
74                 inner_l3v6:
75                         proto: {{ get(flow.inner_proto, "udp") }},
76                         srcip6: {{ get(flow.inner_srcip6, "2001::1") }}
77                         dstip6: {{ get(flow.outer_dstip6, "2001::11") }}
78                         ttl: 32
79                         tc: {{ get(flow.inner_tos, 0) }}
80
81                 inner_l4:
82                         srcport: {{ get(flow.inner_srcport, "3002") }}
83                         dstport: {{ get(flow.inner_dstport, "3001") }}
84
85         - ipv6_2:
86                 outer_l2:
87                         framesize:
88                                         64B: {{ get(imix_small, 12) }}
89                                         128B: {{get(imix_128B, 12) }}
90                                         256B: {{get(imix_256B, 12) }}
91                                         373b: {{ get(imix_373B, 12) }}
92                                         570B: {{get(imix_570B, 12) }}
93                                         1400B: {{get(imix_1400B, 12) }}
94                                         1518b: {{get(imix_1500B, 12) }}
95                         srcmac: {{src_mac}} # xe0.local_mac
96                         dstmac: {{dst_mac}} # xe0.dst_mac
97                         QinQ:
98                                 S-VLAN:
99                                         id: {{ get(flow.s_vlan_range, "0") }}
100                                         priority: 0
101                                         cfi: 0
102                                 C-VLAN:
103                                         id: {{ get(flow.c_vlan_range, "0") }}
104                                 priority: 0
105                                 cfi: 0
106                         mpls:
107                                 label: {{ get(flow.mpls_label, "0") }}
108
109                 outer_l3v6:
110                         proto: {{ get(flow.outer_proto, "udp") }},
111                         srcip6: {{ get(flow.outer_srcip6, "2001::1") }}
112                         dstip6: {{ get(flow.outer_dstip6, "2001::11") }}
113                         ttl: 32
114                         tc: {{ get(flow.outer_tos, 0) }}
115
116                 outer_l4:
117                         srcport: {{ get(flow.outer_srcport, "3002") }}
118                         dstport: {{ get(flow.outer_dstport, "3001") }}
119                         vni: {{ get(flow.vxlan_vni, "2345") }} #optional
120                         inner_l2: #optional
121                         srcmac: {{ get(flow.inner_srcmac, "00:00:00:00:00:00") }}
122                         dstmac: {{ get(flow.inner_dstmac, "00:00:00:00:00:00") }}
123
124                 inner_l3v4: #optional
125                         proto: {{ get(flow.inner_proto, "udp") }},
126                         srcip4: {{ get(flow.inner_srcip4, "1.1.1.1") }}
127                         dstip4: {{ get(flow.inner_dstip4, "90.90.90.90") }}
128                         ttl: 32
129                         dscp:  {{ get(flow.inner_tos, 0) }}
130
131                 inner_l3v6:
132                         proto: {{ get(flow.inner_proto, "udp") }},
133                         srcip6: {{ get(flow.inner_srcip6, "2001::1") }}
134                         dstip6: {{ get(flow.outer_dstip6, "2001::11") }}
135                         ttl: 32
136                         tc: {{ get(flow.inner_tos, 0) }}
137
138                 inner_l4:
139                         srcport: {{ get(flow.inner_srcport, "3002") }}
140                         dstport: {{ get(flow.inner_dstport, "3001") }}
141
142 public:
143         - ipv4_2:
144                 outer_l2:
145                         framesize:
146                                 64B: {{ get(imix_small, 12) }}
147                                 128B: {{get(imix_128B, 12) }}
148                                 256B: {{get(imix_256B, 12) }}
149                                 373b: {{ get(imix_373B, 12) }}
150                                 570B: {{get(imix_570B, 12) }}
151                                 1400B: {{get(imix_1400B, 12) }}
152                                 1518b: {{get(imix_1500B, 12) }}
153                         srcmac: {{get(private.ipv4_1.dst_mac}} # xe0.local_mac
154                         dstmac: {{get)private.ipv4_1.src_mac}} # xe0.dst_mac
155                         QinQ:
156                                 S-VLAN:
157                                         id: {{ get(flow.s_vlan_range, "0") }}
158                                         priority: 0
159                                         cfi: 0
160                                 C-VLAN:
161                                         id: {{ get(flow.c_vlan_range, "0") }}
162                                         priority: 0
163                                         cfi: 0
164                         mpls:
165                                 label: {{ get(flow.mpls_label, "0") }}
166
167                 outer_l3v4:
168                         proto: {{ get(flow.outer_proto, "udp") }},
169                         srcip4: {{ get(private.ipv4_1.outer_l3v4.dstip4) }}
170                         dstip4: {{ get(private.ipv4_1.outer_l3v4.srcip4) }}
171                         ttl: 32
172                         dscp:  {{ get(flow.tos, 0) }}
173
174                 outer_l4:
175                         srcport: {{ get(private.ipv4_1.outer_l4.dstport) }}
176                         dstport: {{ get(private.ipv4_1.outer_l4.srcport) }}
177                         vni: {{ get(flow.vxlan_vni, "2345") }} #optional
178                         inner_l2: #optional
179                                 srcmac: {{ get(private.ipv4_1.outer_l4.inner_l2.dstmac) }}
180                                 dstmac: {{ get(private.ipv4_1.outer_l4.inner_l2.srcmac) }}
181
182                 inner_l3v4: #optional
183                         proto: {{ get(flow.inner_proto, "udp") }},
184                         srcip4: {{ get(private.ipv4_1.inner_l3v4.dstip4) }}
185                         dstip4: {{ get(private.ipv4_1.inner_l3v4.srcip4) }}
186                         ttl: 32
187                         dscp:  {{ get(flow.inner_tos, 0) }}
188
189                 inner_l3v6:
190                         proto: {{ get(flow.inner_proto, "udp") }},
191                         srcip6: {{ get(private.ipv4_1.inner_l3v6.dstip6) }}
192                         dstip6: {{ get(private.ipv4_1.inner_l3v6.srcip6) }}
193                         ttl: 32
194                         tc: {{ get(flow.inner_tos, 0) }}
195
196                 inner_l4:
197                         srcport: {{ get(private.ipv4_1.inner_l4.dstport) }}
198                         dstport: {{ get(private.ipv4_1.inner_l4.srcport) }}