Merge "Change assert statements to raises in CheckValue"
[yardstick.git] / samples / vnf_samples / traffic_profiles / ixia_ipv4_latency.yaml
1 # flow definition for ACL tests - 1K flows - ipv4 only
2 #
3 # the number of flows defines the widest range of parameters
4 # for example if srcip_range=1.0.0.1-1.0.0.255 and dst_ip_range=10.0.0.1-10.0.1.255
5 # and it should define only 16 flows
6 #
7 #there is assumption that packets generated will have a random sequences of following addresses pairs
8 # in the packets
9 # 1. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
10 # 2. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
11 # ...
12 # 512. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
13 #
14 # not all combination should be filled
15 # Any other field with random range will be added to flow definition
16 #
17 # the example.yaml provides all possibilities for traffic generation
18 #
19 # the profile defines a public and private side to make limited traffic correlation
20 # between private and public side same way as it is made by IXIA solution.
21 #
22 schema: "isb:traffic_profile:0.1"
23
24 # This file is a template, it will be filled with values from tc.yaml before passing to the traffic generator
25
26 name:            rfc2544
27 description:     Traffic profile to run RFC2544 latency
28 traffic_profile:
29   traffic_type : IXIARFC2544Profile # defines traffic behavior - constant or look for highest possible throughput
30   frame_rate : 100  # pc of linerate
31   duration: {{ duration }}
32
33 uplink_0:
34       ipv4:
35         id: 1
36         outer_l2:
37             framesize:
38                 64B: "{{get(imix, 'imix.uplink.64B', '0') }}"
39                 128B: "{{get(imix, 'imix.uplink.128B', '0') }}"
40                 256B: "{{get(imix, 'imix.uplink.256B', '0') }}"
41                 373b: "{{get(imix, 'imix.uplink.373B', '0') }}"
42                 512B: "{{get(imix, 'imix.uplink.512B', '0') }}"
43                 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
44                 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}"
45                 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}"
46                 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
47                 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
48                 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
49
50         outer_l3v4:
51             proto: "udp"
52             srcip4: "{{get(flow, 'flow.src_ip_0', '1.1.1.1-1.15.255.255') }}"
53             dstip4: "{{get(flow, 'flow.dst_ip_0', '90.90.1.1-90.105.255.255') }}"
54             count: "{{get(flow, 'flow.count', '1') }}"
55             seed: "{{get(flow, 'flow.seed', '1') }}"
56             ttl: 32
57             dscp: 0
58         outer_l4:
59             srcport: "{{get(flow, 'flow.src_port_0', '1234') }}"
60             dstport: "{{get(flow, 'flow.dst_port_0', '2001') }}"
61             count: "{{get(flow, 'flow.count', '1') }}"
62             seed: "{{get(flow, 'flow.seed', '1') }}"
63 downlink_0:
64       ipv4:
65         id: 2
66         outer_l2:
67             framesize:
68                 64B: "{{get(imix, 'imix.downlink.64B', '0') }}"
69                 128B: "{{get(imix, 'imix.downlink.128B', '0') }}"
70                 256B: "{{get(imix, 'imix.downlink.256B', '0') }}"
71                 373b: "{{get(imix, 'imix.downlink.373B', '0') }}"
72                 512B: "{{get(imix, 'imix.downlink.512B', '0') }}"
73                 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
74                 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}"
75                 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}"
76                 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
77                 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
78                 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
79
80         outer_l3v4:
81             proto: "udp"
82             srcip4: "{{get(flow, 'flow.dst_ip_0', '1.1.1.1-1.15.255.255') }}"
83             dstip4: "{{get(flow, 'flow.src_ip_0', '90.90.1.1-90.105.255.255') }}"
84             {% if flow.flow.public_ip_0 is defined %}
85             dstip4: "{{get(flow, 'flow.public_ip_0', '90.90.1.1-90.105.255.255') }}"
86             {% endif %}
87             count: "{{get(flow, 'flow.count', '1') }}"
88             seed: "{{get(flow, 'flow.seed', '1') }}"
89             ttl: 32
90             dscp: 0
91         outer_l4:
92             srcport: "{{get(flow, 'flow.src_port_0', '1234') }}"
93             dstport: "{{get(flow, 'flow.dst_port_0', '2001') }}"
94             count: "{{get(flow, 'flow.count', '1') }}"
95             seed: "{{get(flow, 'flow.seed', '1') }}"
96 uplink_1:
97       ipv4:
98         id: 3
99         outer_l2:
100             framesize:
101                 64B: "{{get(imix, 'imix.uplink.64B', '0') }}"
102                 128B: "{{get(imix, 'imix.uplink.128B', '0') }}"
103                 256B: "{{get(imix, 'imix.uplink.256B', '0') }}"
104                 373b: "{{get(imix, 'imix.uplink.373B', '0') }}"
105                 512B: "{{get(imix, 'imix.uplink.512B', '0') }}"
106                 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
107                 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}"
108                 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}"
109                 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
110                 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
111                 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
112
113         outer_l3v4:
114             proto: "udp"
115             srcip4: "{{get(flow, 'flow.src_ip_1', '1.1.1.1-1.15.255.255') }}"
116             dstip4: "{{get(flow, 'flow.dst_ip_1', '90.90.1.1-90.105.255.255') }}"
117             count: "{{get(flow, 'flow.count', '1') }}"
118             seed: "{{get(flow, 'flow.seed', '1') }}"
119             ttl: 32
120             dscp: 0
121         outer_l4:
122             srcport: "{{get(flow, 'flow.src_port_1', '1234') }}"
123             dstport: "{{get(flow, 'flow.dst_port_1', '2001') }}"
124             count: "{{get(flow, 'flow.count', '1') }}"
125             seed: "{{get(flow, 'flow.seed', '1') }}"
126 downlink_1:
127       ipv4:
128         id: 4
129         outer_l2:
130             framesize:
131                 64B: "{{get(imix, 'imix.downlink.64B', '0') }}"
132                 128B: "{{get(imix, 'imix.downlink.128B', '0') }}"
133                 256B: "{{get(imix, 'imix.downlink.256B', '0') }}"
134                 373b: "{{get(imix, 'imix.downlink.373B', '0') }}"
135                 512B: "{{get(imix, 'imix.downlink.512B', '0') }}"
136                 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
137                 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}"
138                 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}"
139                 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
140                 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
141                 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
142
143         outer_l3v4:
144             proto: "udp"
145             srcip4: "{{get(flow, 'flow.dst_ip_1', '1.1.1.1-1.15.255.255') }}"
146             dstip4: "{{get(flow, 'flow.src_ip_1', '90.90.1.1-90.105.255.255') }}"
147             {% if flow.public_ip_1 is defined %}
148             dstip4: "{{get(flow, 'flow.public_ip_1', '90.90.1.1-90.105.255.255') }}"
149             {% endif %}
150             count: "{{get(flow, 'flow.count', '1') }}"
151             seed: "{{get(flow, 'flow.seed', '1') }}"
152             ttl: 32
153             dscp: 0
154         outer_l4:
155             srcport: "{{get(flow, 'flow.dst_port_1', '1234') }}"
156             dstport: "{{get(flow, 'flow.src_port_1', '2001') }}"
157             count: "{{get(flow, 'flow.count', '1') }}"
158             seed: "{{get(flow, 'flow.seed', '1') }}"