Merge "Add Testcase for Prox Standalone SRIOV." into stable/gambia
[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 uplink:
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 downlink:
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(uplink.ipv4_1.dst_mac}} # xe0.local_mac
154             dstmac: {{get)uplink.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(uplink.ipv4_1.outer_l3v4.dstip4) }}
170             dstip4: {{ get(uplink.ipv4_1.outer_l3v4.srcip4) }}
171             ttl: 32
172             dscp:  {{ get(flow.tos, 0) }}
173
174         outer_l4:
175             srcport: {{ get(uplink.ipv4_1.outer_l4.dstport) }}
176             dstport: {{ get(uplink.ipv4_1.outer_l4.srcport) }}
177             vni: {{ get(flow.vxlan_vni, "2345") }} #optional
178             inner_l2: #optional
179                 srcmac: {{ get(uplink.ipv4_1.outer_l4.inner_l2.dstmac) }}
180                 dstmac: {{ get(uplink.ipv4_1.outer_l4.inner_l2.srcmac) }}
181
182         inner_l3v4: #optional
183             proto: {{ get(flow.inner_proto, "udp") }},
184             srcip4: {{ get(uplink.ipv4_1.inner_l3v4.dstip4) }}
185             dstip4: {{ get(uplink.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(uplink.ipv4_1.inner_l3v6.dstip6) }}
192             dstip6: {{ get(uplink.ipv4_1.inner_l3v6.srcip6) }}
193             ttl: 32
194             tc: {{ get(flow.inner_tos, 0) }}
195
196         inner_l4:
197             srcport: {{ get(uplink.ipv4_1.inner_l4.dstport) }}
198             dstport: {{ get(uplink.ipv4_1.inner_l4.srcport) }}