1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# Copyright (c) 2018-2019 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.
---
{% set sessions_per_port = sessions_per_port or 4000 %}
{% set sessions_per_svlan = sessions_per_svlan or 1000 %}
{% set duration = duration or 60 %}
{% set tolerance_low = tolerance_low or 0.0001 %}
{% set tolerance_high = tolerance_high or 0.0001 %}
schema: yardstick:task:0.1
description: >
vBNG RFC2544 test case with QoS base line with link congestion.
Test case creates PPPoE sessions, runs traffic from two core ports
to one access port causing congestion of that port (traffic from
other access ports are splitting between remaining core ports)
and measures packets drop rate on all ports for each priority flow.
scenarios:
- type: NSPerf
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency_vbng_1port_congested-8.yaml"
topology: "../agnostic/agnostic_vnf_topology_ixia_8ports.yaml"
ixia_config: IxiaPppoeClient
nodes:
tg__0: trafficgen_0.yardstick
vnf__0: vnf_0.yardstick
options:
duration: {{ duration }}
pppoe_client: # access network
sessions_per_port: {{ sessions_per_port }}
sessions_per_svlan: {{ sessions_per_svlan }}
pap_user: 'pppoe_user'
pap_password: ''
ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}, {'tg__0': 'xe4'}, {'tg__0': 'xe6'}]
s_vlan: 100 # s-vlan applies per device group
c_vlan: 1000 # c-vlan applies per subscriber
ipv4_client: # core network
sessions_per_port: 1
sessions_per_vlan: 1
ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}, {'tg__0': 'xe5'}, {'tg__0': 'xe7'}]
gateway_ip: [{'vnf__0': 'xe1'}, {'vnf__0': 'xe3'}, {'vnf__0': 'xe5'}, {'vnf__0': 'xe7'}]
vlan: 101
bgp:
bgp_type: external
dut_ip: 10.0.0.3
as_number: 65000
framesize:
uplink: {70B: 33, 940B: 33, 1470B: 34}
downlink: {68B: 3, 932B: 1, 1470B: 96}
priority:
# 0 - (000) Routine
# 1 - (001) Priority
# 2 - (010) Immediate
# 3 - (011) Flash
# 4 - (100) Flash Override
# 5 - (101) CRITIC/ECP
# 6 - (110) Internetwork Control
# 7 - (111) Network Control
tos: {precedence: [0, 4, 7]}
flow:
src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}, {'tg__0': 'xe4'}, {'tg__0': 'xe6'}]
dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}, {'tg__0': 'xe5'}, {'tg__0': 'xe7'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}"
runner:
type: Iteration
iterations: 1
interval: {{ duration + 15 }}
context:
type: Node
name: yardstick
nfvi_type: baremetal
file: /etc/yardstick/nodes/pod_ixia.yaml
|